Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race
From: Jarek Poplawski <hidden>
Date: 2008-09-14 21:42:08
From: Jarek Poplawski <hidden>
Date: 2008-09-14 21:42:08
On Sun, Sep 14, 2008 at 03:31:35AM -0700, Alexander Duyck wrote: ...
What if we were to push the check for netif_tx_queue_stopped further down into the qdisc layer so that the basic qdiscs such as pfifo_fast did their own peek and in the event that a queue is stopped it just returned NULL and set a flag bit? Basically this would mimic how we are currently handling throttled queues (TCQ_F_THROTTLED). Then in turn each parent could do a check on skb == NULL and set the same flag, or they could act like multiq and just skip over that leaf and move onto the next because it is stopped.
IMHO it's a very interesting idea. Probably it could be better evaluated if we have any stats how much this reason of requeing is a problem with mq devices. On the other hand, I wondered about a possibility of rehashing to other queues in some cases during requeuing, which would be impossible after such change. Thanks, Jarek P.