Thread (7 messages) 7 messages, 2 authors, 2021-05-21

Re: [Linuxarm] [PATCH RFC v4 0/3] Some optimization for lockless qdisc

From: Yunsheng Lin <hidden>
Date: 2021-05-20 09:48:36
Also in: bpf, lkml, netdev

On 2021/5/20 17:27, Yunsheng Lin wrote:
Patch 1: remove unnecessary seqcount operation.
Patch 2: implement TCQ_F_CAN_BYPASS.
Patch 3: remove qdisc->empty.

RFC v4: Use STATE_MISSED and STATE_DRAINING to indicate non-empty
        qdisc, and add patch 1 and 3.
@Vladimir, Ahmad
It would be good to run your testcase to see if there are any
out of order for this version, because this version has used
STATE_MISSED and STATE_DRAINING to indicate non-empty qdisc,
thanks.

It is based on newest net branch with qdisc stuck patchset.

Some performance data as below:

pktgen + dummy netdev:
 threads  without+this_patch   with+this_patch      delta
    1       2.60Mpps            3.18Mpps             +22%
    2       3.84Mpps            5.72Mpps             +48%
    4       5.52Mpps            5.52Mpps             +0.0%
    8       2.77Mpps            2.81Mpps             +1.4%
   16       2.24Mpps            2.29Mpps             +2.2%

IP forward testing: 1.05Mpps increases to 1.15Mpps
Yunsheng Lin (3):
  net: sched: avoid unnecessary seqcount operation for lockless qdisc
  net: sched: implement TCQ_F_CAN_BYPASS for lockless qdisc
  net: sched: remove qdisc->empty for lockless qdisc

 include/net/sch_generic.h | 26 +++++++++++++-------------
 net/core/dev.c            | 22 ++++++++++++++++++++--
 net/sched/sch_generic.c   | 23 ++++++++++++++++-------
 3 files changed, 49 insertions(+), 22 deletions(-)
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help