All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH net-next-2.6 v4 2/2] hfsc: add link layer overhead adaption
Date: Mon, 14 Jul 2008 16:24:41 +0200	[thread overview]
Message-ID: <487B61A9.5090204@trash.net> (raw)
In-Reply-To: <20080710193440.19525.93085.stgit@fate.lan>

Jussi Kivilinna wrote:
> CBQ and HTB have options for emulating overhead of underlying link layer
> (mpu/overhead/linklayer options). This patch makes sch_hfsc use size table
> to emulate link layer overhead.
> 
> Patch uses size table to convert packet length to emulated link layer packet
> length. Converted packet length is passed to hfsc calculations instead of
> real. If size table isn't passed to kernel, hfsc works as before.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
> ---
> 
>  include/linux/pkt_sched.h |    5 +
>  net/sched/sch_hfsc.c      |  158 +++++++++++++++++++++++++++++++++++++--------
>  2 files changed, 135 insertions(+), 28 deletions(-)
> 
> diff --git a/include/linux/pkt_sched.h b/include/linux/pkt_sched.h
> index 5bf1444..46db55d 100644
> --- a/include/linux/pkt_sched.h
> +++ b/include/linux/pkt_sched.h
> @@ -303,6 +303,9 @@ struct tc_htb_xstats
>  struct tc_hfsc_qopt
>  {
>  	__u16	defcls;		/* default class */
> +	__u16	__reserved;
> +	struct tc_sizespec szopts;
> +	__u16	stab[512];
>  };
>  
>  struct tc_service_curve
> @@ -326,6 +329,8 @@ enum
>  	TCA_HFSC_RSC,
>  	TCA_HFSC_FSC,
>  	TCA_HFSC_USC,
> +	TCA_HFSC_SZOPTS,
> +	TCA_HFSC_STAB,

I thought you were going to make this a generic qdisc feature.
Why is configuration still qdisc specific?

I was thinking of something like this:

- add generic attributes for configuring size tables for any
   qdisc, handle those in sch_api

- add qdisc_enqueue() wrapper that calculates the size and
   stores it in skb->cb, convert direct calls of sch->enqueue
   to use it

- change direct uses of skb->len to use the size from the cb

The second step might need a bit more thought to make sure
qdiscs don't get confused when the dequeued packet is larger
than the enqueued one, but I think they usually don't care.


  reply	other threads:[~2008-07-14 14:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-10 19:34 [PATCH net-next-2.6 v4 1/2] net_sched: add size table functions Jussi Kivilinna
2008-07-10 19:34 ` [PATCH net-next-2.6 v4 2/2] hfsc: add link layer overhead adaption Jussi Kivilinna
2008-07-14 14:24   ` Patrick McHardy [this message]
2008-07-15  5:11     ` David Miller
2008-07-15 10:52     ` Jussi Kivilinna
2008-07-15 10:55       ` Patrick McHardy
2008-07-16 23:40         ` [PATCH RFC] net_sched: add generic qdisc size table Jussi Kivilinna
2008-07-17  0:32           ` Jussi Kivilinna
2008-07-17  9:39           ` Patrick McHardy

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=487B61A9.5090204@trash.net \
    --to=kaber@trash.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.