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: Andrew Doran <ad%netbsd.org@localhost>
To: Mindaugas Rasiukevicius <rmind%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: Mon, 19 Jan 2009 09:02:17 +0000

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


Home | Main Index | Thread Index | Old Index