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(-) >