[Bug 228076] [sched_ule] Not stealing process from loaded CPU

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue May 8 22:37:08 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228076

--- Comment #2 from Don Lewis <truckman at FreeBSD.org> ---
Thread stealing is only done in the CPU idle loop (or more recently, when ULE
detects that the CPU is about to go idle).  Since none of the CPUs is idle in
this case, stealing will not happen.

Setting kern.sched.steal_thresh=1 won't make a difference since the stuck
thread raises the load to 2 on the CPU is where it is assigned.

In theory sched_balance() should eventually move the stuck thread to the CPU is
running "runOne", but it runs infrequently and if the destination CPU is chosen
totally randomly, that could take a while.  There could be an issue in how it
chooses the destination CPU that prevents it from ever choosing the CPU where
"runOne" is running ...

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list