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: 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: Sun, 18 Jan 2009 05:26:10 +0000

 > >Number:         40419
 > >Category:       kern
 > >Synopsis:       processor sets broken on 5.99.6
 >
 > ...
 > 
 > # cpuctl list     
 > Num  HwId Unbound LWPs Interrupts     Last change
 > ---- ---- ------------ -------------- ----------------------------
 > 0    0    online       intr           Fri Jan 16 17:30:28 2009
 > 1    1    online       intr           Fri Jan 16 17:30:28 2009
 > # psrset
 > system processor set 0: processor(s) 0
 > user processor set 1: processor(s) 1
 > # psrset -e 1 top | grep top
 >   561 root      43    0   752K 1116K CPU/0      0:00  0.00%  0.00% top
 
 What happens later?
 
 I have committed one fix (please review), sched_takecpu() would keep the
 thread on local CPU if it idles. Now function is strict. But even with
 previous behaviour, after some load process should have been migrated to
 the appropriate CPU (and then it should not be able to get out).
 
 However, in your test case, application might still be on local CPU,
 because curlwp (LSONRPOC) might not migrate that fast. We can do yield()
 in sys__pset_bind(). Do you think it is worth?
 
 Otherwise, it seems to be working for me.
 
 -- 
 Best regards,
 Mindaugas
 


Home | Main Index | Thread Index | Old Index