Re: [PATCH take 2] pkt_sched: Fix qdisc_watchdog() vs. dev_deactivate() race
From: Jarek Poplawski <hidden>
Date: 2008-09-11 11:51:39
From: Jarek Poplawski <hidden>
Date: 2008-09-11 11:51:39
On Thu, Sep 11, 2008 at 09:00:35PM +1000, Herbert Xu wrote:
On Thu, Sep 11, 2008 at 03:49:55AM -0700, David Miller wrote:quoted
Well some kind of check has to be there. I _did_ remove it during my initial implementation, and that turned into a reported performance regression.I see. How about looking at the queue that the head-of-qdisc packet maps to? That should be fairly cheap to compute.
Very good point: "That can't be right"! But I'm not sure I got the above idea: e.g. this new sch_multiq can have different packets depending just on some unstopped tx_queue. IMHO, the most reasonable test here is for all tx_queues of a qdisc beeing stopped, but since this is quite heavy, probably we need an additional qdisc flag for such an occasion. Jarek P.