Subject: Re: [PATCH net-next] virtio_net: force_napi_tx module param.

From: Stephen Hemminger <[email-masked]>
Date: Mon, 23 Jul 2018 17:53:26 -0700

On Mon, 23 Jul 2018 16:11:19 -0700
Caleb Raitto <[email-masked]> wrote:

> From: Caleb Raitto <[email-masked]>
> 
> The driver disables tx napi if it's not certain that completions will
> be processed affine with tx service.
> 
> Its heuristic doesn't account for some scenarios where it is, such as
> when the queue pair count matches the core but not hyperthread count.
> 
> Allow userspace to override the heuristic. This is an alternative
> solution to that in the linked patch. That added more logic in the
> kernel for these cases, but the agreement was that this was better left
> to user control.
> 
> Do not expand the existing napi_tx variable to a ternary value,
> because doing so can break user applications that expect
> boolean ('Y'/'N') instead of integer output. Add a new param instead.
> 
> Link: https://patchwork.ozlabs.org/patch/725249/
> Acked-by: Willem de Bruijn <[email-masked]>
> Acked-by: Jon Olson <[email-masked]>
> Signed-off-by: Caleb Raitto <[email-masked]>
> ---

Not a fan of this.
Module parameters are frowned on by the distributions because they
never get well tested and they force the user to do magic things
to enable features. It looks like you are using it to paper
over a bug in this case.