can the scheduler decide to schedule an interrupted but runnable thread on another CPU core? What are the implications for code?
Andrey Chernov
ache at freebsd.org
Wed Feb 19 14:29:11 UTC 2014
On 18.02.2014 23:42, John Baldwin wrote:
> Eh, no. CPU_WHICH_CPUSET changes the global set that the thread belongs to.
> t is not per proceses or per thread. Unless you are explicitly creating
> new global sets, your thread belongs to the default set (set 1), and this
> call is changing the default set (set 1) to only use a single CPU. This
> affects all processes in the machine that do not have their own sets.
>
Thanx for detailed explanation. According to it, SCHED_ULE does the
right thing for such CPU_WHICH_CPUSET call, while SCHED_4BSD does not.
Is recent r260043 supposed to fix the problem for SCHED_4BSD or is it
unrelated? I can't check it by myself yet.
--
http://ache.vniz.net/
More information about the freebsd-arch
mailing list