On Fri, Jan 17, 2025 at 05:33:30PM -0700, Ahmed Zaki wrote: > Drivers usually need to re-apply the user-set IRQ affinity to their IRQs > after reset. However, since there can be only one IRQ affinity notifier > for each IRQ, registering IRQ notifiers conflicts with the ARFS rmap > management in the core (which also registers separate IRQ affinity > notifiers). > > Move the IRQ affinity management to the napi struct. This way we can have > a unified IRQ notifier to re-apply the user-set affinity and also manage > the ARFS rmaps. Patches 1 and 2 move the ARFS rmap management to CORE. > Patch 3 adds the IRQ affinity mask to napi_config and re-applies the mask > after reset. Patches 4-6 use the new API for bnxt, ice and idpf drivers.
Thanks for your work on this; I like the direction this is going and I think providing this functionality via the core is very cool. I am hoping that once this is merged, a change can be made that builds on this work to eliminate the duplicated if (!cpumask_test_cpu(cpu, affinity_mask)) that a few drivers have in their napi poll functions with something more generic for drivers which have persistent NAPI configs.