diff options
author | David S. Miller <davem@davemloft.net> | 2021-06-23 12:17:35 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2021-06-23 12:17:35 -0700 |
commit | e940eb3c1ba8202a73004e6af62508cb9fbb9a0b (patch) | |
tree | b0ab80b197393e5574f22a5e595a716b8875175e /net/sched/sch_codel.c | |
parent | 38f75922a6905b010f597fc70dbb5db28398728e (diff) | |
parent | d3e0f57501bde8a9585aff79afcffd99e6a5d91c (diff) |
Merge branch 'lockless-qdisc-opts'
Yunsheng Lin says:
====================
Some optimization for lockless qdisc
Patch 1: remove unnecessary seqcount operation.
Patch 2: implement TCQ_F_CAN_BYPASS.
Patch 3: remove qdisc->empty.
Performance data for pktgen in queue_xmit mode + dummy netdev
with pfifo_fast:
threads unpatched patched delta
1 2.60Mpps 3.21Mpps +23%
2 3.84Mpps 5.56Mpps +44%
4 5.52Mpps 5.58Mpps +1%
8 2.77Mpps 2.76Mpps -0.3%
16 2.24Mpps 2.23Mpps -0.4%
Performance for IP forward testing: 1.05Mpps increases to
1.16Mpps, about 10% improvement.
V3: Add 'Acked-by' from Jakub and 'Tested-by' from Vladimir,
and resend based on latest net-next.
V2: Adjust the comment and commit log according to discussion
in V1.
V1: Drop RFC tag, add nolock_qdisc_is_empty() and do the qdisc
empty checking without the protection of qdisc->seqlock to
aviod doing unnecessary spin_trylock() for contention case.
RFC v4: Use STATE_MISSED and STATE_DRAINING to indicate non-empty
qdisc, and add patch 1 and 3.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sched/sch_codel.c')
0 files changed, 0 insertions, 0 deletions