On 6/16/20 4:03 AM, Christoph Hellwig wrote: > On Mon, Jun 15, 2020 at 04:21:25PM -0400, Nitesh Narayan Lal wrote: >> + hk_flags = HK_FLAG_DOMAIN | HK_FLAG_WQ; >> + mask = housekeeping_cpumask(hk_flags); >> + cpus = cpumask_weight(mask); > Code like this has no business inside a driver. Please provide a > proper core API for it instead. Also please wire up > pci_alloc_irq_vectors* to use this API as well. >
Hi Christoph, I have been looking into using nr_houskeeping_* API that I will be defining within pci_alloc_irq_vectors* to limit the nr of vectors. However, I am wondering about a few things: - Some of the drivers such as i40e until now, use the num_online CPUs to restrict the number of vectors that they should create. Will it make sense if I restrict the maximum vectors requested based on nr_online/housekeeping_cpus (Though I will have to make sure that the min_vecs is always satisfied)? The other option would be to check for the total available vectors in all online/housekeeping CPUs for limiting the maxvecs, this way will probably be more accurate? - Another thing that I am wondering about is the right way to test this change. Please let me know if you have any suggestions? -- Nitesh
signature.asc
Description: OpenPGP digital signature

