Thread (21 messages) 21 messages, 4 authors, 2008-10-22

Re: [PATCH] pkt_sched: sch_netem: Limit packet re-ordering functionality to tfifo qdisc.

From: Patrick McHardy <hidden>
Date: 2008-10-22 16:00:08

[Damn hotkeys for sending incomplete mails :)]

David Miller wrote:
From: Jarek Poplawski <redacted>
Date: Fri, 17 Oct 2008 22:12:10 +0200
quoted
pkt_sched: sch_netem: Limit packet re-ordering functionality to tfifo qdisc.

After introducing qdisc->ops->peek() method the only remaining user of
qdisc->ops->requeue() is netem_enqueue() using this for packet
re-ordering. According to Patrick McHardy: "a lot of the functionality
of netem requires the inner tfifo anyways and rate-limiting is usually
done on top of netem. So I would suggest so either hard-wire the tfifo
qdisc or at least make the assumption that inner qdiscs are work-
conserving." This patch tries the former.

Signed-off-by: Jarek Poplawski <redacted>
This is an interesting patch.

But the thing that strikes me is this: Why don't we just let sch_netem do
the reordering inside of itself entirely and just get rid of all of this
->requeue() business?
I fully agree, keeping all the ->requeue crap around just for this
cornercase doesn't seem like a good decision. Most of the ->requeue
functions are completely inconsistent in their behaviour anyways:
some undo ->enqueue state changes (which is obviously broken for
netem), some don't, some redo checks from ->enqueue (necessary for
netem), some don't (TBF), ...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help