SMP support for XLR processors.
Rui Paulo
rpaulo at freebsd.org
Tue Apr 20 10:33:53 UTC 2010
On 20 Apr 2010, at 11:05, Rui Paulo wrote:
> On 20 Apr 2010, at 10:52, C. Jayachandran wrote:
>
>> On Mon, Apr 19, 2010 at 7:27 PM, C. Jayachandran
>> <c.jayachandran at gmail.com> wrote:
>>> I have a possible cause for the panic with invariants - we should not
>>> schedule the msgring threads unless the smp is completely up. I guess
>>> we start getting message ring interrupts on before the message ring
>>> threads can be scheduled. I am trying out some changes for this -
>>> will send you a patch if this fixes it.
>>
>> I've attached a patch that should fix the issue. The cause was the way
>> message ring threads are started on individual cores and the way
>> interrupts are enabled in the core. I've moved starting message ring
>> threads on other cpus to be a SYSINIT after SMP is started. I'd
>> thought originally that it was due to some clash with the changes in
>> HEAD - but looks like I was completely off-track there.
>>
>> Please let me know if you don't get multi-user with 32 cpus with this
>> patch. There is still the original hang in buildworld, but that should
>> be a bug elsewhere
>>
>> I have a copy at http://sites.google.com/site/cjayachandran/files too
>
> This works perfectly, thanks!
On further inspection, I noticed that the load avg is now 7.
last pid: 1613; load averages: 6.99, 6.97, 6.08 up 0+00:30:11 10:32:48
108 processes: 40 running, 24 sleeping, 44 waiting
CPU: 0.0% user, 0.0% nice, 21.9% system, 0.0% interrupt, 78.1% idle
Mem: 8444K Active, 6028K Inact, 37M Wired, 308K Cache, 6800K Buf, 3190M Free
Swap:
PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND
10 root 32 171 ki31 0G 0G CPU0 0 263:26 2500.00% idle
17 root 1 -16 - 0K 0G CPU12 2 0:00 100.00% msg_intr12
15 root 1 -16 - 0K 0G CPU4 2 0:00 100.00% msg_intr4
16 root 1 -16 - 0K 0G CPU8 2 0:00 100.00% msg_intr8
20 root 1 -16 - 0K 0G CPU24 1 0:00 100.00% msg_intr24
19 root 1 -16 - 0K 0G CPU20 1 0:00 100.00% msg_intr20
21 root 1 -16 - 0K 0G CPU28 1 0:00 100.00% msg_intr28
18 root 1 -16 - 0K 0G CPU16 1 0:00 100.00% msg_intr16
What are these msg_intrXX kprocs doing?
Regards,
--
Rui Paulo
More information about the freebsd-mips
mailing list