Hi, John While reviewing your ptr_ring fix again today, it looks like your "lockless" qdisc patchset breaks dev->tx_queue_len behavior.
Before your patchset, dev->tx_queue_len is merely an integer to read, after your patchset, the skb array has to be resized when dev->tx_queue_len changes, but I don't see any qdisc code handles this... Also, because of that, I doubt __skb_array_empty() in pfifo_fast_dequeue() can be safe any more even with your ptr_ring fix. What am I missing? Thanks.