Subject: Re: [PATCH net-next v2] net: allow configuring default qdisc

From: Stephen Hemminger <[email-masked]>
Date: Wed, 12 Apr 2017 15:59:25 -0700

On Tue, 11 Apr 2017 22:09:59 -0400 (EDT)
David Miller <[email-masked]> wrote:

> From: Stephen Hemminger <[email-masked]>
> Date: Sat,  8 Apr 2017 15:39:46 -0400
> 
> > Since 3.12 it has been possible to configure the default queuing
> > discipline via sysctl. This patch adds ability to configure the
> > default queue discipline in kernel configuration. This is useful for
> > environments where configuring the value from userspace is difficult
> > to manage.
> > 
> > The default is still the same as before (pfifo_fast) and it is
> > possible to change after kernel init with sysctl. This is similar
> > to how TCP congestion control works.
> > 
> > Signed-off-by: Stephen Hemminger <[email-masked]>
> > ---
> > v2 - rearrange order of menu items
> >      use pfifo_fast not pfifo  
> 
> Stephen I'm still thinking about this.
> 
> Normal users typing "make oldconfig" shouldn't be asked a question
> like this.  They have no idea.  This is just like how we hide all the
> advanced ipv4 routing choices behind the Kconfig symbol
> IP_ADVANCED_ROUTER and TCP congestion control with TCP_CONG_ADVANCED.
> 
> And from experience I know that if it shows up when Linus types 'make'
> after pulling this in, he will complain :-)

I understand your concern about less clueful users not knowing what
to answer. But there have been many recent cases where things have
been added with the adage "just hit return and take the default".

The most recent example was in the block layer.

commit d34849913819a5e0cbfbe724dbe79df89278c524
Author: Jens Axboe <[email-masked]>
Date:   Fri Jan 13 14:43:58 2017 -0700

    blk-mq-sched: allow setting of default IO scheduler
    
    Add Kconfig entries to manage what devices get assigned an MQ
    scheduler, and add a blk-mq flag for drivers to opt out of scheduling.
    The latter is useful for admin type queues that still allocate a blk-mq
    queue and tag set, but aren't use for normal IO.
    
    Signed-off-by: Jens Axboe <[email-masked]>
    Reviewed-by: Bart Van Assche <[email-masked]>
    Reviewed-by: Omar Sandoval <[email-masked]>

Maybe Linus understands IO better than networking :=)