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.