Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 May 2018 22:37:05 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 228076] [sched_ule] Not stealing process from loaded CPU
Message-ID:  <bug-228076-227-MUgt5zW77h@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-228076-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-228076-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help

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

--- Comment #2 from Don Lewis <truckman@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.


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-228076-227-MUgt5zW77h>