• Paolo Abeni's avatar
    Revert: "net: sched: put back q.qlen into a single location" · 73eb628d
    Paolo Abeni authored
    This revert commit 46b1c18f ("net: sched: put back q.qlen into
    a single location").
    After the previous patch, when a NOLOCK qdisc is enslaved to a
    locking qdisc it switches to global stats accounting. As a consequence,
    when a classful qdisc accesses directly a child qdisc's qlen, such
    qdisc is not doing per CPU accounting and qlen value is consistent.
    
    In the control path nobody uses directly qlen since commit
    e5f0e8f8 ("net: sched: introduce and use qdisc tree flush/purge
    helpers"), so we can remove the contented atomic ops from the
    datapath.
    
    v1 -> v2:
     - complete the qdisc_qstats_atomic_qlen_dec() ->
       qdisc_qstats_cpu_qlen_dec() replacement, fix build issue
     - more descriptive commit message
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    73eb628d
gen_stats.c 11.5 KB