On 01/25/2018 06:26 PM, Cong Wang wrote:
> This pathcset restores the pfifo_fast qdisc behavior of dropping
> packets based on latest dev->tx_queue_len. Patch 1 introduces
> a helper, patch 2 introduces a new Qdisc ops which is called when
> we modify tx_queue_len, patch 3 implements this ops for pfifo_fast.
> 
> Please see each patch for details.
> 

Overall this series is better than what we have at the moment, but
a better fix would preallocate the memory, to avoid ENOMEM errors,
and add a ptr_ring API to use the preallocated buffers.

We have time (its only in net-next) so lets do the complete fix
rather than this series IMO.

.John

> ---
> v3: use skb_array_resize_multiple()
> v2: handle error case for ->change_tx_queue_len()
> 
> Cong Wang (3):
>   net: introduce helper dev_change_tx_queue_len()
>   net_sched: plug in qdisc ops change_tx_queue_len
>   net_sched: implement ->change_tx_queue_len() for pfifo_fast
> 
>  include/linux/netdevice.h |  1 +
>  include/net/sch_generic.h |  2 ++
>  net/core/dev.c            | 29 +++++++++++++++++++++++++++
>  net/core/net-sysfs.c      | 25 +----------------------
>  net/core/rtnetlink.c      | 18 +++++------------
>  net/sched/sch_generic.c   | 51 
> +++++++++++++++++++++++++++++++++++++++++++++++
>  6 files changed, 89 insertions(+), 37 deletions(-)
> 

Reply via email to