Re: [PATCH v3 4/4] PCI: Limit pci_alloc_irq_vectors() to housekeeping CPUs

From: Nitesh Narayan Lal
Date: Fri Sep 25 2020 - 19:18:27 EST



On 9/25/20 5:38 PM, Nitesh Narayan Lal wrote:
> On 9/25/20 4:23 PM, Bjorn Helgaas wrote:

[...]

>>> + /*
>>> + * If we have isolated CPUs for use by real-time tasks, to keep the
>>> + * latency overhead to a minimum, device-specific IRQ vectors are moved
>>> + * to the housekeeping CPUs from the userspace by changing their
>>> + * affinity mask. Limit the vector usage to keep housekeeping CPUs from
>>> + * running out of IRQ vectors.
>>> + */
>>> + if (hk_cpus < num_online_cpus()) {
>>> + if (hk_cpus < min_vecs)
>>> + max_vecs = min_vecs;
>>> + else if (hk_cpus < max_vecs)
>>> + max_vecs = hk_cpus;
>>> + }
>> It seems like you'd want to do this inside
>> pci_alloc_irq_vectors_affinity() since that's an exported interface,
>> and drivers that use it will bypass the limiting you're doing here.
> Good point, few drivers directly use this.
> I took a quick look and it seems I may also have to take the pre and the
> post vectors into consideration.
>

It seems my initial interpretation was incorrect, reserved vecs (pre+post)
should always be less than the min_vecs.
So, FWIU we should be fine in limiting the max_vecs.

I can make this change and do a repost.

Do you have any other concerns with this patch or with any of the other
patches?

[...]

--
Nitesh

Attachment: signature.asc
Description: OpenPGP digital signature