On Mon, 21 May 2018 16:59:37 -0500, Tom Lendacky wrote:
> +     rx = combined + channels->rx_count;
> +     tx = combined + channels->tx_count;
> +     netdev_notice(netdev, "final channel count assignment: combined=%u, 
> rx-only=%u, tx-only=%u\n",
> +                   min(rx, tx), rx - min(rx, tx), tx - min(rx, tx));

If user requests combined 0 rx 8 tx 8 they will end up with combined 8
rx 0 tx 0.  Is that expected?

The man page clearly sayeth:

       -L --set-channels
              Changes the numbers of channels of the specified network device.

           rx N   Changes the number of channels with only receive queues.

           tx N   Changes the number of channels with only transmit queues.

           other N
                  Changes the number of channels used only for other  purposes
                  e.g. link interrupts or SR-IOV co-ordination.

           combined N
                  Changes the number of multi-purpose channels.

Note the use of word *only*.  There are drivers in tree which adhere to
this interpretation and dutifully allocate separate IRQs if RX and TX
channels are requested separately.

Which is not to claim that majority of existing drivers adhere to this
wording :)

Reply via email to