Date: Tue, 20 Apr 2010 11:56:36 +0100 From: Rui Paulo <rpaulo@freebsd.org> To: "C. Jayachandran" <c.jayachandran@gmail.com> Cc: freebsd-mips@freebsd.org Subject: Re: SMP support for XLR processors. Message-ID: <C0874E32-D2F2-4A29-B868-CADDE47EB0C3@freebsd.org> In-Reply-To: <o2n98a59be81004200349yefc11499n4497544d6dbd9d0b@mail.gmail.com> References: <w2z98a59be81004171540t2f0d5193nca2ec9e2540502e2@mail.gmail.com> <A1FC32B9-1105-43C5-91C1-C4A81F78066B@lakerest.net> <3BCD65EB-B997-449D-864C-CA24C7B19026@freebsd.org> <CFE92A18-C834-45C5-B18C-7F62437D1A2B@lakerest.net> <z2z98a59be81004190411hd4bee7e4t6e5eed3d3789180a@mail.gmail.com> <6BDB3874-D779-45A6-ABAE-4C331D78A189@lakerest.net> <y2m98a59be81004190657kce2488b0p86a725b1175cb14b@mail.gmail.com> <l2n98a59be81004200252lf1d0a372pfae8ac5f55440e58@mail.gmail.com> <7BEFA3F5-97AE-477C-9DD3-EF1C4B7DCEB0@freebsd.org> <BC57A6F0-4F2E-47F4-92BF-849AD18FC004@freebsd.org> <o2n98a59be81004200349yefc11499n4497544d6dbd9d0b@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 20 Apr 2010, at 11:49, C. Jayachandran wrote: > On Tue, Apr 20, 2010 at 4:03 PM, Rui Paulo <rpaulo@freebsd.org> wrote: >> On 20 Apr 2010, at 11:05, Rui Paulo wrote: >>=20 >>> On 20 Apr 2010, at 10:52, C. Jayachandran wrote: >>>=20 >>>> On Mon, Apr 19, 2010 at 7:27 PM, C. Jayachandran >>>> <c.jayachandran@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. >>>>=20 >>>> 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. >>>>=20 >>>> 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 >>>>=20 >>>> I have a copy at http://sites.google.com/site/cjayachandran/files = too >>>=20 >>> This works perfectly, thanks! >>=20 >> On further inspection, I noticed that the load avg is now 7. >>=20 >> 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: >>=20 >> 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 >>=20 >> What are these msg_intrXX kprocs doing? >=20 > They should really be sleeping unless there is a lot of network > traffic :) The msg_intr threads are interrupt handlers which we run > one per core, in the first thread of each core. They were modelled > after interrupt threads (in FreeBSD 6). This should be sleeping until > there is a message ring interrupt (which tells us that an IO has send > data to our core over the message ring). >=20 > Thanks for the report - I will look at the sleep logic. There's almost no network traffic and only one rge (rge1) is connected. = BTW, I'm not using the rge patch you sent yesterday. Regards, -- Rui Paulo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C0874E32-D2F2-4A29-B868-CADDE47EB0C3>