[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <E1KVQfg-0001Qf-00@gondolin.me.apana.org.au>
Date: Tue, 19 Aug 2008 22:50:48 +1000
From: Herbert Xu <herbert@...dor.apana.org.au>
To: davem@...emloft.net (David Miller)
Cc: jussi.kivilinna@...et.fi, jarkao2@...il.com, kaber@...sh.net,
netdev@...r.kernel.org
Subject: Re: qdisc_enqueue, NET_XMIT_SUCCESS and kfree_skb
David Miller <davem@...emloft.net> wrote:
>
> In fact, as I look at how TBF and NETEM want to use ->requeue() they
> could just the same implement it using my suggested alternative for
> ->requeue() which is just an SKB list ala gso_list hung off of the
> qdisc.
For TBF at least its requeue is actually a bit more sophisticated.
For example, if you hang a prio qdisc off a TBF, then when the
packet is requeued into the prio, the next time TBF dequeues it,
it may get a different packet (of a higher priority).
If you stick it to a list without requeueing, then packets of a
higher priority won't be able to jump the queue anymore.
It might be possible to rewrite TBF to not use requeueing, after
all HTB does it all without requeueing. However as it stands,
TBF does need it.
I haven't followed this thread closely so what is the main problem
with requeueing (apart from being abused by things like LLTX drivers
and/or NETEM, nothing other than qdiscs like TBF should use it)?
Another possibility would to replace requeue by a peek+force_dequeue
interface, where you can peek at the next packet, and you could then
dequeue that particular packet if you're satisfied.
Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@...dor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
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