[PATCH V4 1/3] driver core: mark device as irq affinity managed if any irq is managed
Christoph Hellwig
hch at lst.de
Mon Jul 19 02:44:14 PDT 2021
On Mon, Jul 19, 2021 at 08:51:22AM +0100, John Garry wrote:
>> Address this issue by adding one field of .irq_affinity_managed into
>> 'struct device'.
>>
>> Suggested-by: Christoph Hellwig <hch at lst.de>
>> Signed-off-by: Ming Lei <ming.lei at redhat.com>
>
> Did you consider that for PCI device we effectively have this info already:
>
> bool dev_has_managed_msi_irq(struct device *dev)
> {
> struct msi_desc *desc;
>
> list_for_each_entry(desc, dev_to_msi_list(dev), list) {
> if (desc->affinity && desc->affinity->is_managed)
> return true;
> }
>
> return false;
Just walking the list seems fine to me given that this is not a
performance criticial path. But what are the locking implications?
Also does the above imply this won't work for your platform MSI case?
More information about the Linux-nvme
mailing list