OSDN Git Service

Merge branch 'lockless-qdisc-packet-stuck'
authorDavid S. Miller <davem@davemloft.net>
Fri, 14 May 2021 22:05:46 +0000 (15:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 May 2021 22:05:46 +0000 (15:05 -0700)
commita0c5393d5bacbed827ce3e45f53751d2f55d6f6a
treeab35fda898b963d929da7fc6a42c9c08518b022e
parent974271e5ed45cfe4daddbeb16224a2156918530e
parentdcad9ee9e0663d74a89b25b987f9c7be86432812
Merge branch 'lockless-qdisc-packet-stuck'

Yunsheng Lin says:

====================
ix packet stuck problem for lockless qdisc

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.

V8: Change function name as suggested by Jakub and fix some typo
    in patch 3, adjust commit log in patch 2, and add Acked-by
    from Jakub.
V7: Fix netif_tx_wake_queue() data race noted by Jakub.
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
====================

Signed-off-by: David S. Miller <davem@davemloft.net>