[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20160218.145735.320352771512551627.davem@davemloft.net>
Date: Thu, 18 Feb 2016 14:57:35 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: phil@....cc
Cc: mathieu.desnoyers@...icios.com, linux-kernel@...r.kernel.org,
jhs@...atatu.com, netdev@...r.kernel.org, stable@...r.kernel.org
Subject: Re: [net PATCH] IFF_NO_QUEUE: Fix for drivers not calling
ether_setup()
From: Phil Sutter <phil@....cc>
Date: Wed, 17 Feb 2016 15:37:43 +0100
> My implementation around IFF_NO_QUEUE driver flag assumed that leaving
> tx_queue_len untouched (specifically: not setting it to zero) by drivers
> would make it possible to assign a regular qdisc to them without having
> to worry about setting tx_queue_len to a useful value. This was only
> partially true: I overlooked that some drivers don't call ether_setup()
> and therefore not initialize tx_queue_len to the default value of 1000.
> Consequently, removing the workarounds in place for that case in qdisc
> implementations which cared about it (namely, pfifo, bfifo, gred, htb,
> plug and sfb) leads to problems with these specific interface types and
> qdiscs.
>
> Luckily, there's already a sanitization point for drivers setting
> tx_queue_len to zero, which can be reused to assign the fallback value
> most qdisc implementations used, which is 1.
>
> Fixes: 348e3435cbefa ("net: sched: drop all special handling of tx_queue_len == 0")
> Tested-by: Mathieu Desnoyers <mathieu.desnoyers@...icios.com>
> Signed-off-by: Phil Sutter <phil@....cc>
Applied and queued up for -stable, thanks.
Powered by blists - more mailing lists