diff options
author | Cong Wang <xiyou.wangcong@gmail.com> | 2018-01-25 18:26:23 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-01-29 12:42:15 -0500 |
commit | 48bfd55e7e4149a304e89c1999436cf52d094a27 (patch) | |
tree | 6318e75ea99c74a81622ebe82ee2c71c9338baf4 /net/core/dev.c | |
parent | 6a643ddb5624be7e0694d49f5765a8d41c1ab6d0 (diff) | |
download | op-kernel-dev-48bfd55e7e4149a304e89c1999436cf52d094a27.zip op-kernel-dev-48bfd55e7e4149a304e89c1999436cf52d094a27.tar.gz |
net_sched: plug in qdisc ops change_tx_queue_len
Introduce a new qdisc ops ->change_tx_queue_len() so that
each qdisc could decide how to implement this if it wants.
Previously we simply read dev->tx_queue_len, after pfifo_fast
switches to skb array, we need this API to resize the skb array
when we change dev->tx_queue_len.
To avoid handling race conditions with TX BH, we need to
deactivate all TX queues before change the value and bring them
back after we are done, this also makes implementation easier.
Cc: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 520c246..dda9d7b 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -7070,6 +7070,7 @@ int dev_change_tx_queue_len(struct net_device *dev, unsigned long new_len) dev->tx_queue_len = orig_len; return res; } + return dev_qdisc_change_tx_queue_len(dev); } return 0; |