Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-10-06 Thread Alexander Gordeev
a refreshed version or is the current version good for inclusion? No, this one would not apply. I can send updated version on top of v5 I posted earlier. Should I? tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel

[PATCH 6/5] AHCI: Optimize single IRQ interrupt processing

2014-10-06 Thread Alexander Gordeev
decreased two times. Both before and after the change the transfer time is the same, while 'perf record -e cycles:k ...' shows 1%-4% CPU time spent in ahci_single_irq_intr() routine before the update and not even sampled/shown ahci_single_irq_intr() after the update. Signed-off-by: Alexander Gordeev agord

[PATCH 7/5] AHCI: Do not acquire ata_host::lock from single IRQ handler

2014-10-06 Thread Alexander Gordeev
There is no need to acquire ata_host::lock spinlock from hardware context single IRQ interrupt handler since the handler does not access host data that could be altered by concurrent processors. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata

Re: [PCI/MSI] WARNING: CPU: 0 PID: 1 at drivers/pci/msi.c:1034 pci_enable_msi_range+0x2c1/0x2f0()

2014-10-03 Thread Alexander Gordeev
On Fri, Oct 03, 2014 at 09:25:22PM +0800, Fengguang Wu wrote: > Hi Alexander, > > FYI, we noticed the below changes on > > git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/msi > commit 4ab2ee7c77875669230a797a3ed2228990f82545 ("PCI/MSI: Rename > pci_msi_check_device() to

Re: [PCI/MSI] WARNING: CPU: 0 PID: 1 at drivers/pci/msi.c:1034 pci_enable_msi_range+0x2c1/0x2f0()

2014-10-03 Thread Alexander Gordeev
On Fri, Oct 03, 2014 at 09:25:22PM +0800, Fengguang Wu wrote: Hi Alexander, FYI, we noticed the below changes on git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/msi commit 4ab2ee7c77875669230a797a3ed2228990f82545 (PCI/MSI: Rename pci_msi_check_device() to

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-10-01 Thread Alexander Gordeev
On Wed, Oct 01, 2014 at 04:31:14PM +0100, Alexander Gordeev wrote: > I am attaching excerpts from some new perf tests I have done (this Attaching :) -- Regards, Alexander Gordeev agord...@redhat.com 0.04% dd [kernel.kallsyms] [k] ata_std_qc_defer 0.04% dd [kernel.kallsyms]

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-10-01 Thread Alexander Gordeev
On Wed, Sep 24, 2014 at 10:39:13AM -0400, Tejun Heo wrote: > Hello, Alexander. > > On Wed, Sep 24, 2014 at 03:08:44PM +0100, Alexander Gordeev wrote: > > > Hmmm, how would the whole system benefit from it if there's only > > > single device? Each individual servicing

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-10-01 Thread Alexander Gordeev
On Wed, Sep 24, 2014 at 10:39:13AM -0400, Tejun Heo wrote: Hello, Alexander. On Wed, Sep 24, 2014 at 03:08:44PM +0100, Alexander Gordeev wrote: Hmmm, how would the whole system benefit from it if there's only single device? Each individual servicing of the interrupt does more now

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-10-01 Thread Alexander Gordeev
On Wed, Oct 01, 2014 at 04:31:14PM +0100, Alexander Gordeev wrote: I am attaching excerpts from some new perf tests I have done (this Attaching :) -- Regards, Alexander Gordeev agord...@redhat.com 0.04% dd [kernel.kallsyms] [k] ata_std_qc_defer 0.04% dd [kernel.kallsyms] [k

[PATCH v5 2/5] AHCI: Move ahci_host_activate() function to libahci.c

2014-09-29 Thread Alexander Gordeev
This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c| 60 -- drivers/ata/libahci.c | 61

[PATCH v5 3/5] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c | 3

[PATCH v5 5/5] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
ing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev Suggested-by: "Jiang, Dave" Cc: "Jiang, Dave" Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 2

[PATCH v5 4/5] AHCI: Make few function names more descriptive

2014-09-29 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 0080551..48175e5 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata

[PATCH v5 1/5] AHCI: Pass SCSI host template as arg to ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c | 10 +- drivers/ata/ahci.h | 3 ++- 2 files changed, 7 insertions(+), 6 deletions

[PATCH v5 0/5] AHCI: Optimize interrupt processing in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
ation added (patch 6); Cc: linux-...@vger.kernel.org Alexander Gordeev (5): AHCI: Pass SCSI host template as arg to ahci_host_activate() AHCI: Move ahci_host_activate() function to libahci.c AHCI: Move host activation code into ahci_host_activate() AHCI: Make few function names more de

[PATCH] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
ing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev Suggested-by: "Jiang, Dave" Cc: "Jiang, Dave" Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 2

[PATCH] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c | 3

Re: [PATCH v4 2/4] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
, ahci_interrupt, 0, - _highbank_platform_sht); + rc = ahci_host_activate(host, irq, _highbank_platform_sht); if (rc) goto err0; > Thanks. > > -- > tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: s

Re: [PATCH v4 2/4] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
, - ahci_highbank_platform_sht); + rc = ahci_host_activate(host, irq, ahci_highbank_platform_sht); if (rc) goto err0; Thanks. -- tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: send the line unsubscribe linux

[PATCH] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c

[PATCH] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev agord...@redhat.com Suggested-by: Jiang, Dave dave.ji...@intel.com Cc: Jiang, Dave dave.ji...@intel.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h

[PATCH v5 0/5] AHCI: Optimize interrupt processing in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
: linux-...@vger.kernel.org Alexander Gordeev (5): AHCI: Pass SCSI host template as arg to ahci_host_activate() AHCI: Move ahci_host_activate() function to libahci.c AHCI: Move host activation code into ahci_host_activate() AHCI: Make few function names more descriptive AHCI: Do not read

[PATCH v5 1/5] AHCI: Pass SCSI host template as arg to ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c | 10 +- drivers/ata/ahci.h | 3 ++- 2 files changed, 7 insertions

[PATCH v5 4/5] AHCI: Make few function names more descriptive

2014-09-29 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 0080551..48175e5 100644 --- a/drivers/ata/libahci.c

[PATCH v5 5/5] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-29 Thread Alexander Gordeev
to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev agord...@redhat.com Suggested-by: Jiang, Dave dave.ji...@intel.com Cc: Jiang, Dave dave.ji...@intel.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h

[PATCH v5 3/5] AHCI: Move host activation code into ahci_host_activate()

2014-09-29 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c

[PATCH v5 2/5] AHCI: Move ahci_host_activate() function to libahci.c

2014-09-29 Thread Alexander Gordeev
This update is a prerequisite for consolidation of AHCI host activation code within ahci_host_activate() function. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c| 60 -- drivers/ata

[PATCH v4 3/4] AHCI: Make few function names more descriptive

2014-09-25 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 0080551..48175e5 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata

[PATCH v4 0/4] AHCI: Optimize interrupt processing in multi-MSI mode

2014-09-25 Thread Alexander Gordeev
skip zero value port status; Changes since v2: - single patch split in a series; - benchmarking statistics reworded; - HOST_IRQ_STAT reg optimization added (patch 6); Alexander Gordeev (4): AHCI: Cleanup checking of multiple MSIs/SLM modes AHCI: Move host activation code into ahci_ho

[PATCH v4 1/4] AHCI: Cleanup checking of multiple MSIs/SLM modes

2014-09-25 Thread Alexander Gordeev
Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c | 18

[PATCH v4 2/4] AHCI: Move host activation code into ahci_host_activate()

2014-09-25 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c | 3

[PATCH v4 4/4] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-25 Thread Alexander Gordeev
ing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev Suggested-by: "Jiang, Dave" Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 1 + driver

Re: [PCI/MSI] WARNING: CPU: 0 PID: 1 at drivers/pci/msi.c:1034 pci_enable_msi_range+0x2c1/0x2f0()

2014-09-25 Thread Alexander Gordeev
On Thu, Sep 25, 2014 at 11:04:59AM +0800, Fengguang Wu wrote: > Hi Alexander, > > FYI, we noticed the below changes on > > git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/msi > commit 4ab2ee7c77875669230a797a3ed2228990f82545 ("PCI/MSI: Rename > pci_msi_check_device() to

Re: [PCI/MSI] WARNING: CPU: 0 PID: 1 at drivers/pci/msi.c:1034 pci_enable_msi_range+0x2c1/0x2f0()

2014-09-25 Thread Alexander Gordeev
On Thu, Sep 25, 2014 at 11:04:59AM +0800, Fengguang Wu wrote: Hi Alexander, FYI, we noticed the below changes on git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git pci/msi commit 4ab2ee7c77875669230a797a3ed2228990f82545 (PCI/MSI: Rename pci_msi_check_device() to

[PATCH v4 2/4] AHCI: Move host activation code into ahci_host_activate()

2014-09-25 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c

[PATCH v4 4/4] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-25 Thread Alexander Gordeev
to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev agord...@redhat.com Suggested-by: Jiang, Dave dave.ji...@intel.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 1 + drivers/ata/libahci.c | 59

[PATCH v4 0/4] AHCI: Optimize interrupt processing in multi-MSI mode

2014-09-25 Thread Alexander Gordeev
status; Changes since v2: - single patch split in a series; - benchmarking statistics reworded; - HOST_IRQ_STAT reg optimization added (patch 6); Alexander Gordeev (4): AHCI: Cleanup checking of multiple MSIs/SLM modes AHCI: Move host activation code into ahci_host_activate() AHCI: Make

[PATCH v4 1/4] AHCI: Cleanup checking of multiple MSIs/SLM modes

2014-09-25 Thread Alexander Gordeev
Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers

[PATCH v4 3/4] AHCI: Make few function names more descriptive

2014-09-25 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 0080551..48175e5 100644 --- a/drivers/ata/libahci.c

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
Makes sense? > -- > tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
On Wed, Sep 24, 2014 at 09:04:44AM -0400, Tejun Heo wrote: > Hello, Alexander. > > On Wed, Sep 24, 2014 at 11:42:15AM +0100, Alexander Gordeev wrote: > > On Tue, Sep 23, 2014 at 04:57:10PM -0400, Tejun Heo wrote: > > > Hmmm... how does it affect single device oper

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
correct to apply the same metric to the threaded context. Obviously, the threaded handler is expected slowed down by other interrupts handlers, but the whole system should benefit from it, which is exactly the aim of this change. > -- > tejun -- Regards, Alexander Gordeev agord...@redhat

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
the same metric to the threaded context. Obviously, the threaded handler is expected slowed down by other interrupts handlers, but the whole system should benefit from it, which is exactly the aim of this change. -- tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
On Wed, Sep 24, 2014 at 09:04:44AM -0400, Tejun Heo wrote: Hello, Alexander. On Wed, Sep 24, 2014 at 11:42:15AM +0100, Alexander Gordeev wrote: On Tue, Sep 23, 2014 at 04:57:10PM -0400, Tejun Heo wrote: Hmmm... how does it affect single device operation tho? It does make individual

Re: [PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-24 Thread Alexander Gordeev
sense? -- tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http

[PATCH RESEND v3 2/6] AHCI: Move host activation code into ahci_host_activate()

2014-09-21 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c | 3

[PATCH RESEND v3 4/6] AHCI: Get rid of redundant arg to ahci_handle_port_interrupt()

2014-09-21 Thread Alexander Gordeev
Function's ahci_handle_port_interrupt() 'port_mmio' parameter could be derived within function. No need to pass it from outside. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 9 - 1 file changed, 4 insertions(+), 5 deletions(-) diff --git

[PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-21 Thread Alexander Gordeev
decreased two times. Both before and after the change the transfer time is the same, while 'perf record -e cycles:k ...' shows 1%-4% CPU time spent in ahci_single_irq_intr() routine before the update and not even sampled/shown ahci_single_irq_intr() after the update. Signed-off-by: Alexander Gordeev Cc

[PATCH RESEND v3 6/6] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-21 Thread Alexander Gordeev
ing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev Suggested-by: "Jiang, Dave" Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 2 ++ driver

[PATCH RESEND v3 0/6] AHCI: Optimize interrupt processing

2014-09-21 Thread Alexander Gordeev
As per Tejun's feedback I am sending v3. Changes since v2: - single patch split in a series; - benchmarking statistics reworded; - HOST_IRQ_STAT reg optimization added (patch 6); Cc: linux-...@vger.kernel.org Alexander Gordeev (6): AHCI: Cleanup checking of multiple MSIs/SLM modes

[PATCH RESEND v3 3/6] AHCI: Make few function names more descriptive

2014-09-21 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c| 7 +++ drivers/ata/ahci.h| 6 +++--- drivers/ata/libahci.c | 16 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index

[PATCH RESEND v3 1/6] AHCI: Cleanup checking of multiple MSIs/SLM modes

2014-09-21 Thread Alexander Gordeev
Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c | 18

[PATCH RESEND v3 0/6] AHCI: Optimize interrupt processing

2014-09-21 Thread Alexander Gordeev
As per Tejun's feedback I am sending v3. Changes since v2: - single patch split in a series; - benchmarking statistics reworded; - HOST_IRQ_STAT reg optimization added (patch 6); Cc: linux-...@vger.kernel.org Alexander Gordeev (6): AHCI: Cleanup checking of multiple MSIs/SLM modes

[PATCH RESEND v3 3/6] AHCI: Make few function names more descriptive

2014-09-21 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.c| 7 +++ drivers/ata/ahci.h| 6 +++--- drivers/ata/libahci.c | 16 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/drivers/ata/ahci.c b/drivers

[PATCH RESEND v3 1/6] AHCI: Cleanup checking of multiple MSIs/SLM modes

2014-09-21 Thread Alexander Gordeev
Sharing Last Message (SLM) mode is currently checked in two functions: ahci_host_activate() and ahci_init_interrupts(). This update consolidates SLM mode check with activation of multiple MSIs mode. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers

[PATCH RESEND v3 6/6] AHCI: Do not read HOST_IRQ_STAT reg in multi-MSI mode

2014-09-21 Thread Alexander Gordeev
to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev agord...@redhat.com Suggested-by: Jiang, Dave dave.ji...@intel.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 2 ++ drivers/ata/libahci.c

[PATCH RESEND v3 4/6] AHCI: Get rid of redundant arg to ahci_handle_port_interrupt()

2014-09-21 Thread Alexander Gordeev
Function's ahci_handle_port_interrupt() 'port_mmio' parameter could be derived within function. No need to pass it from outside. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/libahci.c | 9 - 1 file changed, 4 insertions(+), 5

[PATCH RESEND v3 5/6] AHCI: Optimize single IRQ interrupt processing

2014-09-21 Thread Alexander Gordeev
decreased two times. Both before and after the change the transfer time is the same, while 'perf record -e cycles:k ...' shows 1%-4% CPU time spent in ahci_single_irq_intr() routine before the update and not even sampled/shown ahci_single_irq_intr() after the update. Signed-off-by: Alexander Gordeev agord

[PATCH RESEND v3 2/6] AHCI: Move host activation code into ahci_host_activate()

2014-09-21 Thread Alexander Gordeev
Currently host activation done by calling either function ahci_host_activate() or ata_host_activate(). Consolidate the code by only calling ahci_host_activate() for all AHCI devices. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: linux-...@vger.kernel.org --- drivers/ata/acard-ahci.c

Re: [PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
On Fri, Sep 19, 2014 at 09:34:34AM -0700, Dan Williams wrote: > On Fri, Sep 19, 2014 at 1:25 AM, Alexander Gordeev > wrote: > > As described in AHCI v1.0 specification chapter 10.6.2.2 > > "Multiple MSI Based Messages" generation of interrupts > > is not co

Re: [PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
On Fri, Sep 19, 2014 at 09:25:52AM +0100, Alexander Gordeev wrote: > As described in AHCI v1.0 specification chapter 10.6.2.2 > "Multiple MSI Based Messages" generation of interrupts > is not controlled through the HOST_IRQ_STAT register. > > Considering MMIO a

[PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
ing access to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev Suggested-by: "Jiang, Dave" Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 1 + driver

[PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
to the host data is no longer needed and the interrupt service routine can avoid competing on the host lock. Signed-off-by: Alexander Gordeev agord...@redhat.com Suggested-by: Jiang, Dave dave.ji...@intel.com Cc: linux-...@vger.kernel.org --- drivers/ata/ahci.h| 1 + drivers/ata/libahci.c | 54

Re: [PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
On Fri, Sep 19, 2014 at 09:25:52AM +0100, Alexander Gordeev wrote: As described in AHCI v1.0 specification chapter 10.6.2.2 Multiple MSI Based Messages generation of interrupts is not controlled through the HOST_IRQ_STAT register. Considering MMIO access is expensive remove unnecessary

Re: [PATCH v3 6/5] AHCI: Do not read HOST_IRQ_STAT register in multi-MSI mode

2014-09-19 Thread Alexander Gordeev
On Fri, Sep 19, 2014 at 09:34:34AM -0700, Dan Williams wrote: On Fri, Sep 19, 2014 at 1:25 AM, Alexander Gordeev agord...@redhat.com wrote: As described in AHCI v1.0 specification chapter 10.6.2.2 Multiple MSI Based Messages generation of interrupts is not controlled through

Re: [PATCH v2 0/5] AHCI: Optimize interrupt processing

2014-09-18 Thread Alexander Gordeev
On Wed, Sep 17, 2014 at 05:41:44PM +0200, Alexander Gordeev wrote: > Hello, > > As per Tejun's feedback I am sending v2. This should have been v3, not v2. Please, disregard this series if you see it. Thanks! > Changes since v1: > - single patch split in a series of 5;

Re: [PATCH v2 0/5] AHCI: Optimize interrupt processing

2014-09-18 Thread Alexander Gordeev
On Wed, Sep 17, 2014 at 05:41:44PM +0200, Alexander Gordeev wrote: Hello, As per Tejun's feedback I am sending v2. This should have been v3, not v2. Please, disregard this series if you see it. Thanks! Changes since v1: - single patch split in a series of 5; - changelog for patch 5

Re: [PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-17 Thread Alexander Gordeev
On Wed, Sep 17, 2014 at 11:55:54AM -0400, Jason Cooper wrote: > Now that ThomasP has had a chance to test, please adjust the subject > line to 'irqchip: armada-370-xp: M...' and Hi Bjorn, Do you want me to resend the patch? > Acked-by: Jason Cooper > > thx, > > Jason. -

Re: [PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-17 Thread Alexander Gordeev
. -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-15 Thread Alexander Gordeev
On Mon, Sep 08, 2014 at 07:16:56AM -0400, Jason Cooper wrote: > + free-electron's guys. Hi Gentlemen, Any feedback on this patch? Thanks! > On Sun, Sep 07, 2014 at 08:57:54PM +0200, Alexander Gordeev wrote: > > Moving MSI checks from arch_msi_check_device() function to > > a

Re: [PATCH v2 1/3] PCI/MSI/PPC: Remove arch_msi_check_device()

2014-09-15 Thread Alexander Gordeev
On Mon, Sep 15, 2014 at 12:42:50PM +1000, Michael Ellerman wrote: > On Sun, 2014-09-07 at 20:57 +0200, Alexander Gordeev wrote: > > Moving MSI checks from arch_msi_check_device() function to > > arch_setup_msi_irqs() function makes code more compact and > > allows remo

Re: [PATCH v2 1/3] PCI/MSI/PPC: Remove arch_msi_check_device()

2014-09-15 Thread Alexander Gordeev
On Mon, Sep 15, 2014 at 12:42:50PM +1000, Michael Ellerman wrote: On Sun, 2014-09-07 at 20:57 +0200, Alexander Gordeev wrote: Moving MSI checks from arch_msi_check_device() function to arch_setup_msi_irqs() function makes code more compact and allows removing unnecessary hook

Re: [PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-15 Thread Alexander Gordeev
On Mon, Sep 08, 2014 at 07:16:56AM -0400, Jason Cooper wrote: + free-electron's guys. Hi Gentlemen, Any feedback on this patch? Thanks! On Sun, Sep 07, 2014 at 08:57:54PM +0200, Alexander Gordeev wrote: Moving MSI checks from arch_msi_check_device() function to arch_setup_msi_irqs

[PATCH v2] AHCI: Optimize interrupt processing

2014-09-11 Thread Alexander Gordeev
Split interrupt service routine into hardware context handler and threaded context handler. That allows to protect ports with individual locks rather than with a single host-wide lock, which results in better parallelism. Cc: linux-...@vger.kernel.org Signed-off-by: Alexander Gordeev

Re: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing

2014-09-11 Thread Alexander Gordeev
= 1.54 (about 1.6 times). The downside of this change is introduction of a kernel thread. The upside is shorter access time to port locks and moving port interrupts handling out of the hardware interrupt context. Thanks! > -- > tejun -- Regards, Alexander Gordeev agord...@redhat.co

Re: [PATCH RESEND 0/1] AHCI: Optimize interrupt processing

2014-09-11 Thread Alexander Gordeev
). The downside of this change is introduction of a kernel thread. The upside is shorter access time to port locks and moving port interrupts handling out of the hardware interrupt context. Thanks! -- tejun -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe from this list

[PATCH v2] AHCI: Optimize interrupt processing

2014-09-11 Thread Alexander Gordeev
Split interrupt service routine into hardware context handler and threaded context handler. That allows to protect ports with individual locks rather than with a single host-wide lock, which results in better parallelism. Cc: linux-...@vger.kernel.org Signed-off-by: Alexander Gordeev agord

Re: [PATCH 0/2] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
ld not cause trouble for anyone. > Oh, I forgot -- if you'd rather take the first one through the PPC > tree, you can do that and I can merge the second one later. Let me > know if you want to do that. Nah, your treee is just fine. Thanks! > Bjorn -- Regards, Alexander Gor

[PATCH v2 0/3] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
() renamed to pci_msi_supported(). This is the very same patch I sent earlier; Thanks! Cc: Thomas Gleixner Cc: Jason Cooper Cc: Michael Ellerman Cc: linuxppc-...@lists.ozlabs.org Cc: linux-...@vger.kernel.org Alexander Gordeev (3): patch 1 - PCI/MSI/PPC: Remove

[PATCH v2 3/3] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
-...@vger.kernel.org Signed-off-by: Alexander Gordeev --- drivers/pci/msi.c | 49 + include/linux/msi.h | 3 --- 2 files changed, 13 insertions(+), 39 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 5a40516..6c2cc41 100644

[PATCH v2 1/3] PCI/MSI/PPC: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
-by: Alexander Gordeev --- arch/powerpc/include/asm/machdep.h | 2 -- arch/powerpc/kernel/msi.c | 12 +- arch/powerpc/platforms/cell/axon_msi.c | 9 arch/powerpc/platforms/powernv/pci.c | 19 --- arch/powerpc/platforms/pseries/msi.c | 42

[PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
Moving MSI checks from arch_msi_check_device() function to arch_setup_msi_irqs() function makes code more compact and allows removing unnecessary hook arch_msi_check_device() from generic MSI code. Cc: Thomas Gleixner Cc: Jason Cooper Cc: linux-...@vger.kernel.org Signed-off-by: Alexander

[PATCH v2 1/3] PCI/MSI/PPC: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
...@ellerman.id.au Signed-off-by: Alexander Gordeev agord...@redhat.com --- arch/powerpc/include/asm/machdep.h | 2 -- arch/powerpc/kernel/msi.c | 12 +- arch/powerpc/platforms/cell/axon_msi.c | 9 arch/powerpc/platforms/powernv/pci.c | 19 --- arch/powerpc

[PATCH v2 2/3] PCI/MSI/Armada-370-xp: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
-...@vger.kernel.org Signed-off-by: Alexander Gordeev agord...@redhat.com --- drivers/irqchip/irq-armada-370-xp.c | 14 -- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/drivers/irqchip/irq-armada-370-xp.c b/drivers/irqchip/irq-armada-370-xp.c index 574aba0..df60eab 100644

[PATCH v2 3/3] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
-...@lists.ozlabs.org Cc: linux-...@vger.kernel.org Signed-off-by: Alexander Gordeev agord...@redhat.com --- drivers/pci/msi.c | 49 + include/linux/msi.h | 3 --- 2 files changed, 13 insertions(+), 39 deletions(-) diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c

[PATCH v2 0/3] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
() renamed to pci_msi_supported(). This is the very same patch I sent earlier; Thanks! Cc: Thomas Gleixner t...@linutronix.de Cc: Jason Cooper ja...@lakedaemon.net Cc: Michael Ellerman m...@ellerman.id.au Cc: linuxppc-...@lists.ozlabs.org Cc: linux-...@vger.kernel.org Alexander Gordeev

Re: [PATCH 0/2] PCI/MSI: Remove arch_msi_check_device()

2014-09-07 Thread Alexander Gordeev
trouble for anyone. Oh, I forgot -- if you'd rather take the first one through the PPC tree, you can do that and I can merge the second one later. Let me know if you want to do that. Nah, your treee is just fine. Thanks! Bjorn -- Regards, Alexander Gordeev agord...@redhat.com -- To unsubscribe

Re: [PATCH v3 11/13] lpfc: Use pci_enable_msix_range() instead of pci_enable_msix()

2014-09-04 Thread Alexander Gordeev
On Mon, Aug 18, 2014 at 08:01:51AM +0200, Alexander Gordeev wrote: > As result of deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enab

Re: [PATCH v3 11/13] lpfc: Use pci_enable_msix_range() instead of pci_enable_msix()

2014-09-04 Thread Alexander Gordeev
On Mon, Aug 18, 2014 at 08:01:51AM +0200, Alexander Gordeev wrote: As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact

[PATCH 2/3] blk-mq: Eliminate superfluous check of BLK_MQ_S_TAG_ACTIVE flag

2014-09-03 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev Cc: Jens Axboe --- block/blk-mq-tag.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 4953b64..d1eb579 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c @@ -60,8 +60,7 @@ static inline

[PATCH 1/3] blk-mq: Cleanup blk_mq_tag_busy() and blk_mq_tag_idle()

2014-09-03 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev Cc: Jens Axboe --- block/blk-mq-tag.c | 4 +--- block/blk-mq-tag.h | 17 - 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index c1b9242..4953b64 100644 --- a/block/blk-mq-tag.c +++ b/block

[PATCH 3/3] blk-mq: Fix formula to calculate fair share of tags

2014-09-03 Thread Alexander Gordeev
Fair share of tags is number of tags diveded on number of users. Not sure why it is different. Signed-off-by: Alexander Gordeev Cc: Jens Axboe --- block/blk-mq-tag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index d1eb579

[PATCH 0/3] blk-mq: Minor tweaks

2014-09-03 Thread Alexander Gordeev
Hi Jens, These are few changes to blk-mq/blk-mq-tag, nothing really serious. Cc: Jens Axboe Alexander Gordeev (3): blk-mq: Cleanup blk_mq_tag_busy() and blk_mq_tag_idle() blk-mq: Eliminate superfluous check of BLK_MQ_S_TAG_ACTIVE flag blk-mq: Fix formula to calculate fair share of tags

[PATCH 1/3] blk-mq: Cleanup blk_mq_tag_busy() and blk_mq_tag_idle()

2014-09-03 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: Jens Axboe ax...@kernel.dk --- block/blk-mq-tag.c | 4 +--- block/blk-mq-tag.h | 17 - 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index c1b9242..4953b64 100644

[PATCH 3/3] blk-mq: Fix formula to calculate fair share of tags

2014-09-03 Thread Alexander Gordeev
Fair share of tags is number of tags diveded on number of users. Not sure why it is different. Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: Jens Axboe ax...@kernel.dk --- block/blk-mq-tag.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/blk-mq-tag.c b/block

[PATCH 2/3] blk-mq: Eliminate superfluous check of BLK_MQ_S_TAG_ACTIVE flag

2014-09-03 Thread Alexander Gordeev
Signed-off-by: Alexander Gordeev agord...@redhat.com Cc: Jens Axboe ax...@kernel.dk --- block/blk-mq-tag.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/blk-mq-tag.c b/block/blk-mq-tag.c index 4953b64..d1eb579 100644 --- a/block/blk-mq-tag.c +++ b/block/blk-mq-tag.c

[PATCH 0/3] blk-mq: Minor tweaks

2014-09-03 Thread Alexander Gordeev
Hi Jens, These are few changes to blk-mq/blk-mq-tag, nothing really serious. Cc: Jens Axboe ax...@kernel.dk Alexander Gordeev (3): blk-mq: Cleanup blk_mq_tag_busy() and blk_mq_tag_idle() blk-mq: Eliminate superfluous check of BLK_MQ_S_TAG_ACTIVE flag blk-mq: Fix formula to calculate fair

Re: [PATCH] crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix()

2014-08-29 Thread Alexander Gordeev
On Tue, Aug 19, 2014 at 09:32:04AM +0200, Alexander Gordeev wrote: > As result of deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enab

Re: [PATCH] crypto: qat - Use pci_enable_msix_exact() instead of pci_enable_msix()

2014-08-29 Thread Alexander Gordeev
On Tue, Aug 19, 2014 at 09:32:04AM +0200, Alexander Gordeev wrote: As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact

Re: [PATCH v2] ioat: Use pci_enable_msix_exact() instead of pci_enable_msix()

2014-08-25 Thread Alexander Gordeev
On Fri, Mar 07, 2014 at 08:49:32AM +0100, Alexander Gordeev wrote: > As result of deprecation of MSI-X/MSI enablement functions > pci_enable_msix() and pci_enable_msi_block() all drivers > using these two interfaces need to be updated to use the > new pci_enab

<    1   2   3   4   5   6   7   8   9   10   >