Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Apr 2012 09:33:32 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        Attilio Rao <attilio@freebsd.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r234074 - in head/sys: amd64/amd64 i386/i386
Message-ID:  <201204100933.32374.jhb@freebsd.org>
In-Reply-To: <20120409230949.GB68111@alchemy.franken.de>
References:  <201204092241.q39MfJZn081610@svn.freebsd.org> <20120409230949.GB68111@alchemy.franken.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, April 09, 2012 7:09:49 pm Marius Strobl wrote:
> On Mon, Apr 09, 2012 at 10:41:19PM +0000, Attilio Rao wrote:
> > Author: attilio
> > Date: Mon Apr  9 22:41:19 2012
> > New Revision: 234074
> > URL: http://svn.freebsd.org/changeset/base/234074
> > 
> > Log:
> >   BSP is not added to the mask of valid target CPUs for interrupts
> >   in set_apic_interrupt_ids(). Besides, set_apic_interrupts_ids() is not
> >   called in the !SMP case too.
> >   Fix this by:
> >   - Adding the BSP as an interrupt target directly in cpu_startup().
> >   - Remove an obsolete optimization where the BSP are skipped in
> >     set_apic_interrupt_ids().
> >   
> >   Reported by:	jh
> >   Reviewed by:	jhb
> >   MFC after:	3 days
> >   X-MFC:		r233961
> >   Pointy hat to:	me
> > 
> > Modified:
> >   head/sys/amd64/amd64/machdep.c
> >   head/sys/amd64/amd64/mp_machdep.c
> >   head/sys/i386/i386/machdep.c
> >   head/sys/i386/i386/mp_machdep.c
> > 
> > Modified: head/sys/amd64/amd64/machdep.c
> > 
==============================================================================
> > --- head/sys/amd64/amd64/machdep.c	Mon Apr  9 22:01:43 2012	(r234073)
> > +++ head/sys/amd64/amd64/machdep.c	Mon Apr  9 22:41:19 2012	(r234074)
> > @@ -295,6 +295,11 @@ cpu_startup(dummy)
> >  	vm_pager_bufferinit();
> >  
> >  	cpu_setregs();
> > +
> > +	/*
> > +	 * Add BSP as an interrupt target.
> > +	 */
> > +	intr_add_cpu(0);
> >  }
> 
> If I'm not mistaken, intr_add_cpu() is under #ifdef SMP, so it should be
> here as well.

Correct.  This is why I had put it in intr_machdep.c in the big #ifdef SMP 
block where all the interrupt target stuff lives.  Adding #ifdef's here is
fine as well though.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201204100933.32374.jhb>