Thread (32 messages) flat view 32 messages, 3 authors, 2016-08-23

Re: [RFC PATCH 10/13] net: sched: lockless support for netif_schedule

From: John Fastabend <john.fastabend@gmail.com>
Date: 2016-08-17 19:46:45

On 16-08-17 12:37 PM, John Fastabend wrote:
netif_schedule uses a bit QDISC_STATE_SCHED to tell the qdisc layer
if a run of the qdisc has been scheduler. This is important when
tearing down qdisc instances. We can rcu_free an instance for example
if its possible that we might have outstanding references to it.

Perhaps more importantly in the per cpu lockless case we need to
schedule a run of the qdisc on all qdiscs that are enqueu'ing packets
and hitting the gso_skb requeue logic or else the skb may get stuck
on the gso_skb queue without anything to finish the xmit.

This patch uses a reference counter instead of a bit to account for
the multiple CPUs.
---
oops the commit message is incorrect here it actually uses a per cpu
state bitmask to track this.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help