From: Jiang Liu <jiang.liu@linux.intel.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Need advices about PCI IRQ reference count tracking
Date: Wed, 16 Jul 2014 11:34:26 +0800 [thread overview]
Message-ID: <53C5F2C2.20707@linux.intel.com> (raw)
Hi Bjorn,
When enabling ACPI based IOAPIC hotplug, we encountered an
issue with PCI IRQ reference count tracking and need your advices.
In order to hot-remove an IOAPIC, we need to track and keep
balance of IOAPIC pin usage count. But acpi_pci_irq_enable() may
be called twice for a PCI device,
1) pci_acpi_init() if pci_routeirq is true
2) pci_enable_device()
So in function acpi_pci_irq_enable(), we need a way to track whether
an IOAPIC IRQ has been assigned to the PCI device. Previously we check
"if (dev->irq > 0)" for that, but that's wrong because dev->irq may
be set to non-zero in pci_read_irq() if BIOS has already assigned
a legacy IRQ for the device. So is it OK to add a flag into pci_dev
to track this information?
Another possible workaround is to disable IOAPIC hotplug when
pci_routeirq is set, but that sounds not the best solution.
Regards!
Gerry
next reply other threads:[~2014-07-16 3:34 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-16 3:34 Jiang Liu [this message]
2014-07-16 18:04 ` Need advices about PCI IRQ reference count tracking Bjorn Helgaas
2014-07-16 18:37 ` Yinghai Lu
2014-07-17 3:02 ` Jiang Liu
2014-07-17 3:06 ` Yinghai Lu
2014-07-17 3:14 ` Jiang Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53C5F2C2.20707@linux.intel.com \
--to=jiang.liu@linux.intel.com \
--cc=bhelgaas@google.com \
--cc=linux-pci@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.