NetBSD-Bugs archive

[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?


Home | Main Index | Thread Index | Old Index