mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
net_sched: transform qdisc running bit into a seqcount
Instead of using a single bit (__QDISC___STATE_RUNNING) in sch->__state, use a seqcount. This adds lockdep support, but more importantly it will allow us to sample qdisc/class statistics without having to grab qdisc root lock. Signed-off-by: Eric Dumazet <[email protected]> Cc: Cong Wang <[email protected]> Cc: Jamal Hadi Salim <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
64151ae36e
commit
f9eb8aea2a
10 changed files with 32 additions and 16 deletions
|
|
@ -60,6 +60,7 @@ static struct header_ops lowpan_header_ops = {
|
|||
|
||||
static struct lock_class_key lowpan_tx_busylock;
|
||||
static struct lock_class_key lowpan_netdev_xmit_lock_key;
|
||||
static struct lock_class_key lowpan_qdisc_running_key;
|
||||
|
||||
static void lowpan_set_lockdep_class_one(struct net_device *ldev,
|
||||
struct netdev_queue *txq,
|
||||
|
|
@ -73,6 +74,8 @@ static int lowpan_dev_init(struct net_device *ldev)
|
|||
{
|
||||
netdev_for_each_tx_queue(ldev, lowpan_set_lockdep_class_one, NULL);
|
||||
ldev->qdisc_tx_busylock = &lowpan_tx_busylock;
|
||||
ldev->qdisc_running_key = &lowpan_qdisc_running_key;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue