[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80769D7B14936844A23C0C43D9FBCF0F1525E3CA@orsmsx501.amr.corp.intel.com>
Date: Tue, 2 Sep 2008 10:18:36 -0700
From: "Duyck, Alexander H" <alexander.h.duyck@...el.com>
To: Jarek Poplawski <jarkao2@...il.com>,
Alexander Duyck <alexander.duyck@...il.com>
CC: "Kirsher, Jeffrey T" <jeffrey.t.kirsher@...el.com>,
"jeff@...zik.org" <jeff@...zik.org>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>
Subject: RE: [UPDATED] [NET-NEXT PATCH 1/2] pkt_sched: Add multiqueue
scheduler support
Jarek Poplawski wrote:
> On Tue, Sep 02, 2008 at 05:54:11AM +0000, Jarek Poplawski wrote:
> ...
>> OK, but I wonder if it's not enough to treat this as a
>> recommendation? Actually, since dequeuing is under the common lock
>> here, the main difference seems to be this checking for
>> subqueue_stopped could happen a bit earlier,
>
> Hmm.., actually a bit later... Then this should be a bit more exact?!
> Anyway, still looks safe to me.
>
> Jarek P.
Let me give an example of how this can go wrong. Lets say we use multiq as a leaf for each band in prio and two different bands have a packet for hw queue 1. If prio band 0 tries to pull and the leaf finds that queue 1 is stopped then dequeue returns null. A tx interrupt fires and the driver then wakes queue 1 since space is available. Then prio pull from band 1 and enqueues the packet on hw queue 1. The end result is the lower priority packet slipping in before the higher priority packet in the hardware queue.
The advantage to making this qdisc root is that you then have exactly one qdisc band per hardware queue. You can then place whatever qdiscs you want on each of the bands and the behavior will be consistent per queue.
Thanks,
Alex
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists