OSDN Git Service

net: sched: don't release block->lock when dumping chains
authorVlad Buslov <vladbu@mellanox.com>
Mon, 25 Feb 2019 15:45:44 +0000 (17:45 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 25 Feb 2019 18:25:02 +0000 (10:25 -0800)
commitace4a267e89f280ef5504b29ea10581319c07630
tree20ad36c7c541f70b36f9637410b1fb311cf98741
parent6676d5e416eecaf4e823a2c3903aa132ffc2ede0
net: sched: don't release block->lock when dumping chains

Function tc_dump_chain() obtains and releases block->lock on each iteration
of its inner loop that dumps all chains on block. Outputting chain template
info is fast operation so locking/unlocking mutex multiple times is an
overhead when lock is highly contested. Modify tc_dump_chain() to only
obtain block->lock once and dump all chains without releasing it.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Suggested-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/cls_api.c