]> git.baikalelectronics.ru Git - kernel.git/commit
net: sched: pfifo_fast use skb_array
authorJohn Fastabend <john.fastabend@gmail.com>
Thu, 7 Dec 2017 17:58:19 +0000 (09:58 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Dec 2017 18:32:26 +0000 (13:32 -0500)
commit6078acfb8aced8630c015d70d0aa487034027938
treeb5d6e4718a50dc050bad72c2d641dd5535e26acf
parentaf5a41b808b019d87359e24d15d207a08c62f370
net: sched: pfifo_fast use skb_array

This converts the pfifo_fast qdisc to use the skb_array data structure
and set the lockless qdisc bit. pfifo_fast is the first qdisc to support
the lockless bit that can be a child of a qdisc requiring locking. So
we add logic to clear the lock bit on initialization in these cases when
the qdisc graft operation occurs.

This also removes the logic used to pick the next band to dequeue from
and instead just checks a per priority array for packets from top priority
to lowest. This might need to be a bit more clever but seems to work
for now.

Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/sched/sch_api.c
net/sched/sch_generic.c