]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commitfbf7007ec215c22c2c29e0d11e883fcb7d839d06
tree20ad36c7c541f70b36f9637410b1fb311cf98741
parent578b1f79bca37466e5c69c4fb9fca3fefb5044c4
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