mirror of
https://git.FreeBSD.org/src.git
synced 2025-01-13 14:40:22 +00:00
ULE 3.0: Fine grain scheduler locking and affinity improvements. This has
been in development for over 6 months as SCHED_SMP. - Implement one spin lock per thread-queue. Threads assigned to a run-queue point to this lock via td_lock. - Improve the facility for assigning threads to CPUs now that sched_lock contention no longer dominates scheduling decisions on larger SMP machines. - Re-write idle time stealing in an attempt to make it less damaging to general performance. This is still disabled by default. See kern.sched.steal_idle. - Call the long-term load balancer from a callout rather than sched_clock() so there are no locks held. This is disabled by default. See kern.sched.balance. - Parameterize many scheduling decisions via sysctls. Try to document these via sysctl descriptions. - General structural and naming cleanups. - Document each function with comments. Tested by: current@ amd64, x86, UP, SMP. Approved by: re
This commit is contained in:
parent
40380a6a6b
commit
ae7a6b38d5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=171482
1466
sys/kern/sched_ule.c
1466
sys/kern/sched_ule.c
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user