Date: Mon, 09 Apr 2012 10:51:27 -0500 From: Nathan Whitehorn <nwhitehorn@freebsd.org> To: Jaakko Heinonen <jh@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, "Justin T. Gibbs" <gibbs@FreeBSD.org>, src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 Message-ID: <4F83057F.80808@freebsd.org> In-Reply-To: <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi> References: <201204062119.q36LJTKR026564@svn.freebsd.org> <20120409154510.GA2253@a91-153-116-96.elisa-laajakaista.fi>
next in thread | previous in thread | raw e-mail | index | archive | help
On 04/09/12 10:45, Jaakko Heinonen wrote: > Hi, > > On 2012-04-06, Justin T. Gibbs wrote: >> Fix interrupt load balancing regression, introduced in revision >> 222813, that left all un-pinned interrupts assigned to CPU 0. >> >> sys/x86/x86/intr_machdep.c: >> In intr_shuffle_irqs(), remove CPU_SETOF() call that initialized >> the "intr_cpus" cpuset to only contain CPU0. >> >> This initialization is too late and nullifies the results of calls >> the intr_add_cpu() that occur much earlier in the boot process. >> Since "intr_cpus" is statically initialized to the empty set, and >> all processors, including the BSP, already add themselves to >> "intr_cpus" no special initialization for the BSP is necessary. > My Pentium 4 system hangs on boot after this commit. These are the last > lines from a verbose boot: > > SMP: AP CPU #1 Launched! > cpu1 AP: > ID: 0x01000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff > lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff > timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400 For whatever it's worth, I had a similar problem on PPC with interrupt distribution where interrupts were going very early in boot to non-BSP CPUs before they were launched, and so getting lost. -Nathan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F83057F.80808>