On Fri, Aug 15, 2025 at 4:15 PM Jakub Kicinski kuba@kernel.org wrote:
ncdevmem tests that the kernel correctly rejects attempts to deactivate queues with MPs bound.
Make the configure_channels() test support combined channels. Currently it tries to set the queue counts to rx N tx N-1, which only makes sense for devices which have IRQs per ring type. Most modern devices used combined IRQs/channels with both Rx and Tx queues. Since the math is total Rx == combined+Rx setting Rx when combined is non-zero will be increasing the total queue count, not decreasing as the test intends.
Note that the test would previously also try to set the Tx ring count to Rx - 1, for some reason. Which would be 0 if the device has only 2 queues configured.
Yes, I think that was a mistake. I can't think of any reason we'd really want to do that.
With this change (device with 2 queues): setting channel count rx:1 tx:1 YNL set channels: Kernel error: 'requested channel counts are too low for existing memory provider setting (2)'
Signed-off-by: Jakub Kicinski kuba@kernel.org
Reviewed-by: Mina Almasry almasrymina@google.com
-- Thanks, Mina