[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/40419 (processor sets broken on 5.99.6)
> I have committed one fix (please review), sched_takecpu() would keep the
> thread on local CPU if it idles.
Thanks. I will look at it later, don't have the time right now.
> However, in your test case, application might still be on local CPU,
> because curlwp (LSONRPOC) might not migrate that fast.
I think this is what's happending.
> We can do yield() in sys__pset_bind(). Do you think it is worth?
I was thinking of a function that scans all threads, with cpu_lock held, and
checks to see if their l_cpu is allowed by their affinity mask, processor
set or LP_BOUND flag. If not, change l_cpu (or migrate if online), then do a
broadcast xcall to nullop() if there have been migrations.
Hmm, shouldn't psets and affinity masks be mutually exclusive?
Main Index |
Thread Index |