From owner-svn-src-head@FreeBSD.ORG Thu Jun 25 21:31:54 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 884741065670; Thu, 25 Jun 2009 21:31:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 5A1078FC13; Thu, 25 Jun 2009 21:31:54 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from bigwig.baldwin.cx (66.111.2.69.static.nyinternet.net [66.111.2.69]) by cyrus.watson.org (Postfix) with ESMTPSA id F289846B2D; Thu, 25 Jun 2009 17:31:53 -0400 (EDT) Received: from jhbbsd.hudson-trading.com (unknown [209.249.190.8]) by bigwig.baldwin.cx (Postfix) with ESMTPA id 0D9058A079; Thu, 25 Jun 2009 17:31:53 -0400 (EDT) From: John Baldwin To: Alexander Motin Date: Thu, 25 Jun 2009 17:24:24 -0400 User-Agent: KMail/1.9.7 References: <200906251813.n5PIDkfl060004@svn.freebsd.org> <4A43D392.2070203@FreeBSD.org> In-Reply-To: <4A43D392.2070203@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906251724.24450.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.0.1 (bigwig.baldwin.cx); Thu, 25 Jun 2009 17:31:53 -0400 (EDT) X-Virus-Scanned: clamav-milter 0.95.1 at bigwig.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-2.5 required=4.2 tests=AWL,BAYES_00,RDNS_NONE autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on bigwig.baldwin.cx 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 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Jun 2009 21:31:54 -0000 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