Date: Fri, 6 Apr 2012 22:21:27 +0100 From: Attilio Rao <attilio@freebsd.org> To: "Justin T. Gibbs" <gibbs@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233961 - head/sys/x86/x86 Message-ID: <CAJ-FndACfNLgcu73u_%2B3d=wJ--ck=Z9f2QDQB4GHORPbBGMXMQ@mail.gmail.com> In-Reply-To: <201204062119.q36LJTKR026564@svn.freebsd.org> References: <201204062119.q36LJTKR026564@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Il 06 aprile 2012 22:19, Justin T. Gibbs <gibbs@freebsd.org> ha scritto: > Author: gibbs > Date: Fri Apr =C2=A06 21:19:28 2012 > New Revision: 233961 > URL: http://svn.freebsd.org/changeset/base/233961 > > Log: > =C2=A0Fix interrupt load balancing regression, introduced in revision > =C2=A0222813, that left all un-pinned interrupts assigned to CPU 0. > > =C2=A0sys/x86/x86/intr_machdep.c: > =C2=A0 =C2=A0 =C2=A0 =C2=A0In intr_shuffle_irqs(), remove CPU_SETOF() cal= l that initialized > =C2=A0 =C2=A0 =C2=A0 =C2=A0the "intr_cpus" cpuset to only contain CPU0. > > =C2=A0 =C2=A0 =C2=A0 =C2=A0This initialization is too late and nullifies = the results of calls > =C2=A0 =C2=A0 =C2=A0 =C2=A0the intr_add_cpu() that occur much earlier in = the boot process. > =C2=A0 =C2=A0 =C2=A0 =C2=A0Since "intr_cpus" is statically initialized to= the empty set, and > =C2=A0 =C2=A0 =C2=A0 =C2=A0all processors, including the BSP, already add= themselves to > =C2=A0 =C2=A0 =C2=A0 =C2=A0"intr_cpus" no special initialization for the = BSP is necessary. For instance, the SETOF is not necessary here because set_interrupt_apic_ids() already does intr_add_cpu() for BSP too. Attilio --=20 Peace can only be achieved by understanding - A. Einstein
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-FndACfNLgcu73u_%2B3d=wJ--ck=Z9f2QDQB4GHORPbBGMXMQ>