Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jun 2009 17:24:24 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Alexander Motin <mav@freebsd.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r194985 - in head/sys: amd64/amd64 amd64/include i386/i386 i386/include
Message-ID:  <200906251724.24450.jhb@freebsd.org>
In-Reply-To: <4A43D392.2070203@FreeBSD.org>
References:  <200906251813.n5PIDkfl060004@svn.freebsd.org> <4A43D392.2070203@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 25 June 2009 3:44:18 pm Alexander Motin wrote:
> John Baldwin wrote:
> > Author: jhb
> > Date: Thu Jun 25 18:13:46 2009
> > New Revision: 194985
> > URL: http://svn.freebsd.org/changeset/base/194985
> > 
> > Log:
> >   - Restore the behavior of pre-allocating IDT vectors for MSI interrupts.
> >     This is mostly important for the multiple MSI message case where the
> >     IDT vectors for the entire group need to be allocated together.  This
> >     also restores the assumptions made by the PCI bus code that it could
> >     invoke PCIB_MAP_MSI() once MSI vectors were allocated.
> >   - To avoid whiplash with CPU assignments, change the way that CPUs are
> >     assigned to interrupt sources on activation.  Instead of assigning the
> >     CPU via pic_assign_cpu() before calling enable_intr(), allow the
> >     different interrupt source drivers to ask the MD interrupt code which
> >     CPU to use when they allocate an IDT vector.  I/O APIC interrupt pins
> >     do this in their pic_enable_intr() routines giving the same behavior as
> >     before.  MSI sources do it when the IDT vectors are allocated during
> >     msi_alloc() and msix_alloc().
> >   - Change the intr_table_lock from an sx lock to a mutex.
> >   
> >   Tested by:	rnoland
> 
> It seems also fixed previously not working multi-vector MSI mode of AHCI 
> on my less lucky laptop. Thanks.

I still need to do additional work to make it possible to use cpuset to move
multi-vector MSI groups around.  Does your laptop have multiple cores?

-- 
John Baldwin



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