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