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)



Andrew Doran <ad%netbsd.org@localhost> wrote:
> > 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?
> 

Yes, exactly what I thought while fixing this. While originally mixing was
permitted, intervention to the "jailed" processor-set is really wrong!

Fix committed (without xcall bit):

http://mail-index.netbsd.org/source-changes/2009/01/20/msg215921.html

By the way, does it make more sense to return EPERM or EBUSY, or other?

> Andrew

-- 
Best regards,
Mindaugas


Home | Main Index | Thread Index | Old Index