Return-Path: Message-ID: <50BC796A.8040803@pobox.com> Date: Mon, 03 Dec 2012 05:05:30 -0500 From: Jeff Garzik MIME-Version: 1.0 To: Alexander Gordeev CC: Ingo Molnar , Thomas Gleixner , Bjorn Helgaas , Suresh Siddha , Yinghai Lu , Matthew Wilcox , x86@kernel.org, linux-pci@vger.kernel.org, linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v4 -tip 3/3] AHCI: Support multiple MSIs References: <15bf7ee314dd55f21ec7d2a01c47613cd8190a7c.1353324359.git.agordeev@redhat.com> In-Reply-To: <15bf7ee314dd55f21ec7d2a01c47613cd8190a7c.1353324359.git.agordeev@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Sender: linux-kernel-owner@vger.kernel.org List-ID: On 11/19/2012 10:02 AM, Alexander Gordeev wrote: > Take advantage of multiple MSIs implementation on x86 - on systems with > IRQ remapping AHCI ports not only get assigned separate MSI vectors - > but also separate IRQs. As result, interrupts generated by different > ports could be serviced on different CPUs rather than on a single one. > > In cases when number of allocated MSIs is less than requested the Sharing > Last MSI mode does not get used, no matter implemented in hardware or not. > Instead, the driver assumes the advantage of multiple MSIs is negated and > falls back to the single MSI mode as if MRSM bit was set (some Intel chips > implement this strategy anyway - MRSM bit gets set even if the number of > allocated MSIs exceeds the number of implemented ports). > > Signed-off-by: Alexander Gordeev > --- > drivers/ata/ahci.c | 93 +++++++++++++++++++++++++++++++++++++-- > drivers/ata/ahci.h | 6 +++ > drivers/ata/libahci.c | 118 ++++++++++++++++++++++++++++++++++++++++++++++--- > 3 files changed, 207 insertions(+), 10 deletions(-) Acked-by: Jeff Garzik