Message ID | 20130507083836.GA18862@dhcp-26-207.brq.redhat.com |
---|---|
State | Not Applicable |
Delegated to: | David Miller |
Headers | show |
On Tue, May 07, 2013 at 10:38:37AM +0200, Alexander Gordeev wrote: > Currently all interrupts assigned to AHCI ports show up in > '/proc/interrupts' as 'ahci'. This fix adds port numbers as > suffixes and hence makes the descriptions distinct. > > Reported-by: Jan Beulich <JBeulich@suse.com> > Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Patch doesn't apply. Can you please refresh it on top of the following git branch? git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git for-3.11 Thanks.
On Tue, May 14, 2013 at 11:56:42AM -0700, Tejun Heo wrote: > On Tue, May 07, 2013 at 10:38:37AM +0200, Alexander Gordeev wrote: > > Currently all interrupts assigned to AHCI ports show up in > > '/proc/interrupts' as 'ahci'. This fix adds port numbers as > > suffixes and hence makes the descriptions distinct. > > > > Reported-by: Jan Beulich <JBeulich@suse.com> > > Signed-off-by: Alexander Gordeev <agordeev@redhat.com> > > Patch doesn't apply. Can you please refresh it on top of the > following git branch? Well, this patch is on top of a previously posted another patch "[PATCH RFC 1/1] AHCI: Optimize interrupt processing". Jeff said he applied the latter, but I did not notice it made to his repo. Would you consider to accept "AHCI: Optimize interrupt processing" patch first, or still refresh this one? > git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata.git for-3.11 > > Thanks. > > -- > tejun
On Tue, May 14, 2013 at 09:41:19PM +0200, Alexander Gordeev wrote: > On Tue, May 14, 2013 at 11:56:42AM -0700, Tejun Heo wrote: > > On Tue, May 07, 2013 at 10:38:37AM +0200, Alexander Gordeev wrote: > > > Currently all interrupts assigned to AHCI ports show up in > > > '/proc/interrupts' as 'ahci'. This fix adds port numbers as > > > suffixes and hence makes the descriptions distinct. > > > > > > Reported-by: Jan Beulich <JBeulich@suse.com> > > > Signed-off-by: Alexander Gordeev <agordeev@redhat.com> > > > > Patch doesn't apply. Can you please refresh it on top of the > > following git branch? > > Well, this patch is on top of a previously posted another patch > "[PATCH RFC 1/1] AHCI: Optimize interrupt processing". Jeff said > he applied the latter, but I did not notice it made to his repo. > > Would you consider to accept "AHCI: Optimize interrupt processing" > patch first, or still refresh this one? Can you please repost both on top of for-3.11? Thanks.
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 3b9a7b1..6e0c9ad 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -1146,10 +1146,11 @@ int ahci_host_activate(struct ata_host *host, int irq, unsigned int n_msis, return -EINVAL; for (i = 0; i < n_irqs; i++) { + struct ahci_port_priv *pp = host->ports[i]->private_data; + rc = devm_request_threaded_irq(host->dev, irq + i, ahci_multi_irqs_intr, ahci_port_thread_fn, - IRQF_SHARED, dev_driver_string(host->dev), - host->ports[i]); + IRQF_SHARED, pp->irq_desc, host->ports[i]); if (rc) goto out_free_irqs; } diff --git a/drivers/ata/ahci.h b/drivers/ata/ahci.h index ed1fbc8..7386dfd 100644 --- a/drivers/ata/ahci.h +++ b/drivers/ata/ahci.h @@ -305,6 +305,7 @@ struct ahci_port_priv { int fbs_last_dev; /* save FBS.DEV of last FIS */ /* enclosure management info per PM slot */ struct ahci_em_priv em_priv[EM_MAX_SLOTS]; + char *irq_desc; /* desc in /proc/interrupts */ }; struct ahci_host_priv { diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c index 68b3bdd..2b56769 100644 --- a/drivers/ata/libahci.c +++ b/drivers/ata/libahci.c @@ -2251,6 +2251,16 @@ static int ahci_port_start(struct ata_port *ap) if (!pp) return -ENOMEM; + if (ap->host->n_ports > 1) { + pp->irq_desc = devm_kzalloc(dev, 8, GFP_KERNEL); + if (!pp->irq_desc) { + devm_kfree(dev, pp); + return -ENOMEM; + } + snprintf(pp->irq_desc, 8, + "%s%d", dev_driver_string(dev), ap->port_no); + } + /* check FBS capability */ if ((hpriv->cap & HOST_CAP_FBS) && sata_pmp_supported(ap)) { void __iomem *port_mmio = ahci_port_base(ap);
Currently all interrupts assigned to AHCI ports show up in '/proc/interrupts' as 'ahci'. This fix adds port numbers as suffixes and hence makes the descriptions distinct. Reported-by: Jan Beulich <JBeulich@suse.com> Signed-off-by: Alexander Gordeev <agordeev@redhat.com> --- drivers/ata/ahci.c | 5 +++-- drivers/ata/ahci.h | 1 + drivers/ata/libahci.c | 10 ++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-)