[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080902055411.GA4180@ff.dom.local>
Date: Tue, 2 Sep 2008 05:54:11 +0000
From: Jarek Poplawski <jarkao2@...il.com>
To: Alexander Duyck <alexander.duyck@...il.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@...el.com>, jeff@...zik.org,
netdev@...r.kernel.org, davem@...emloft.net,
Alexander Duyck <alexander.h.duyck@...el.com>
Subject: Re: [UPDATED] [NET-NEXT PATCH 1/2] pkt_sched: Add multiqueue
scheduler support
On Mon, Sep 01, 2008 at 03:49:14PM -0700, Alexander Duyck wrote:
> On Mon, 2008-09-01 at 23:05 +0200, Jarek Poplawski wrote:
>
> > Mostly looks OK to me, but a few (late) doubts below:
>
> Most of your suggestions I agree with, with the following exceptions.
> > ...
> > > +static int multiq_tune(struct Qdisc *sch, struct nlattr *opt)
> > > +{
> > > + struct multiq_sched_data *q = qdisc_priv(sch);
> > > + struct tc_multiq_qopt *qopt;
> > > + struct Qdisc **queues;
> > > + int i;
> > > +
> > > + if (sch->parent != TC_H_ROOT)
> > > + return -EINVAL;
> >
> > Is it necessary?
> >
> I think so. Basically I want to have this qdisc as the root for all
> other qdiscs because the hardware queue decision needs to be made as
> soon as possible in order to avoid any head of line blocking issues.
> This way you don't end up with multiple qdiscs fighting over hardware
> queues.
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, but this should be safe (a subqueue can't get another
packets in the meantime). So maybe I miss something but this looks
like blocking safe even when used as prio's leaf.
Thanks,
Jarek P.
--
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