From: Jarek Poplawski <jarkao2@gmail.com>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: David Miller <davem@davemloft.net>, netdev@vger.kernel.org
Subject: Re: [PATCH] net-sched: add packet length pointer parameter for qdisc_enqueue
Date: Thu, 31 Jul 2008 07:02:33 +0000 [thread overview]
Message-ID: <20080731070233.GA4769@ff.dom.local> (raw)
In-Reply-To: <20080730185542.23727.5949.stgit@fate.lan>
On 30-07-2008 20:55, Jussi Kivilinna wrote:
> Pass packet length to caller through pointer so that length is
> available to caller even if inner qdisc frees skb.
...
> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
> index b5f40d7..a428b93 100644
> --- a/include/net/sch_generic.h
> +++ b/include/net/sch_generic.h
> @@ -331,19 +331,22 @@ static inline unsigned int qdisc_pkt_len(struct sk_buff *skb)
> return qdisc_skb_cb(skb)->pkt_len;
> }
>
> -static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch)
> +static inline int qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
> + unsigned int *pkt_len)
> {
> #ifdef CONFIG_NET_SCHED
> if (sch->stab)
> qdisc_calculate_pkt_len(skb, sch->stab);
> #endif
> + if (likely(pkt_len != NULL))
> + *pkt_len = qdisc_pkt_len(skb);
> return sch->enqueue(skb, sch);
> }
As I've written before, IMHO using an skb after enqueuing should be
avoided unless we refcounted it or the returned code is clear enough,
so the idea of this patch could be right to me. But, I guess, you are
changing here the way it's done: the size is calculated before the
current enqueing instead of after the last one.
BTW, since I don't really get this "stab" idea enough, I wonder how
it is expected to be used: with a top qdisc, a leaf one or some
summing?
Jarek P.
next prev parent reply other threads:[~2008-07-31 6:57 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-30 18:55 [PATCH] net-sched: add packet length pointer parameter for qdisc_enqueue Jussi Kivilinna
2008-07-31 2:11 ` Herbert Xu
2008-07-31 7:02 ` Jarek Poplawski [this message]
2008-07-31 9:04 ` Jussi Kivilinna
2008-07-31 9:36 ` Jarek Poplawski
2008-07-31 14:49 ` Jussi Kivilinna
2008-07-31 15:40 ` Jarek Poplawski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080731070233.GA4769@ff.dom.local \
--to=jarkao2@gmail.com \
--cc=davem@davemloft.net \
--cc=jussi.kivilinna@mbnet.fi \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).