Re: [PATCH] ixgbe: take online CPU number as MQ max limit when alloc_etherdev_mq()

From: Alexander Duyck
Date: Fri May 13 2016 - 12:46:42 EST


On Thu, May 12, 2016 at 10:56 PM, Ethan Zhao <ethan.zhao@xxxxxxxxxx> wrote:
> Allocating 64 Tx/Rx as default doesn't benefit perfomrnace when less
> CPUs were assigned. especially when DCB is enabled, so we should take
> num_online_cpus() as top limit, and aslo to make sure every TC has
> at least one queue, take the MAX_TRAFFIC_CLASS as bottom limit of queues
> number.
>
> Signed-off-by: Ethan Zhao <ethan.zhao@xxxxxxxxxx>

What is the harm in allowing the user to specify up to 64 queues if
they want to? Also what is your opinion based on? In the case of RSS
traffic the upper limit is only 16 on older NICs, but last I knew the
latest X550 can support more queues for RSS. Have you only been
testing on older NICs or did you test on the latest hardware as well?

If you want to control the number of queues allocated in a given
configuration you should look at the code over in the ixgbe_lib.c, not
ixgbe_main.c. All you are doing with this patch is denying the user
choice with this change as they then are not allowed to set more
queues. Even if they find your decision was wrong for their
configuration.

- Alex