[PATCH net v6 0/3] fix packet stuck problem for lockless qdisc

From: Yunsheng Lin
Date: Sun May 09 2021 - 21:42:52 EST


This patchset fixes the packet stuck problem mentioned in [1].

Patch 1: Add STATE_MISSED flag to fix packet stuck problem.
Patch 2: Fix a tx_action rescheduling problem after STATE_MISSED
flag is added in patch 1.
Patch 3: Fix the significantly higher CPU consumption problem when
multiple threads are competing on a saturated outgoing
device.

V6: Some performance optimization in patch 1 suggested by Jakub
and drop NET_XMIT_DROP checking in patch 3.
V5: add patch 3 to fix the problem reported by Michal Kubecek.
V4: Change STATE_NEED_RESCHEDULE to STATE_MISSED and add patch 2.

[1]. https://lkml.org/lkml/2019/10/9/42

Yunsheng Lin (3):
net: sched: fix packet stuck problem for lockless qdisc
net: sched: fix endless tx action reschedule during deactivation
net: sched: fix tx action reschedule issue with stopped queue

include/net/pkt_sched.h | 7 +------
include/net/sch_generic.h | 33 ++++++++++++++++++++++++++++++++-
net/core/dev.c | 29 ++++++++++++++++++++++++-----
net/sched/sch_generic.c | 31 +++++++++++++++++++++++++++++--
4 files changed, 86 insertions(+), 14 deletions(-)

--
2.7.4