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)
The following reply was made to PR kern/40419; it has been noted by GNATS.
From: Mindaugas Rasiukevicius <rmind%netbsd.org@localhost>
To: Andrew Doran <ad%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, netbsd-bugs%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost
Subject: Re: kern/40419 (processor sets broken on 5.99.6)
Date: Wed, 21 Jan 2009 00:01:49 +0000
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.
After some thinking, I do not think it is worth. Theoretically, xc_broadcast
might still not ensure that all LWPs have migrated, eg. in a case when there
are many migrating LWPs in the same run-queue.
After last fixes, I think migration should be very fast (~immediate) anyway,
just re-scheduling overhead.
--
Best regards,
Mindaugas
Home |
Main Index |
Thread Index |
Old Index