All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] Patch accurate packet scheduling for ATM/ADSL
@ 2007-07-25 13:14 Edouard Thuleau
  2007-07-26  9:38 ` Russell Stuart
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Edouard Thuleau @ 2007-07-25 13:14 UTC (permalink / raw)
  To: lartc

Hi,

I use the patch
(http://ace-host.stuart.id.au/russell/files/tc/tc-atm/) for accurate
the packet scheduling on ATM/ADSL link and i think I've found a bug.
I tried to write to the author but he didn't answer me.

I work on a Linux 2.6.17 with the iproute2-2.6.18-061002 package.
I change the type of the cell_align char to short of the struct
tc_ratespec in the file pkt_sched.h (in the include/linux/ directories
of iproute package and the kernel source) :

struct tc_ratespec
{
	unsigned char	cell_log;
	unsigned char	__reserved;
	unsigned short	feature;	/* Always 0 in pre-atm patch kernels */
-	char		cell_align;	/* Always 0 in pre-atm patch kernels */
-	unsigned char	__unused;
+     short		cell_align;	/* Always 0 in pre-atm patch kernels */
	unsigned short	mpu;
	__u32		rate;
};

The results are much better and with my tests, it works very nicely.

If it can help someone,
Edouard.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Patch accurate packet scheduling for ATM/ADSL
  2007-07-25 13:14 [LARTC] Patch accurate packet scheduling for ATM/ADSL Edouard Thuleau
@ 2007-07-26  9:38 ` Russell Stuart
  2007-07-26 10:22 ` Edouard Thuleau
  2007-07-26 18:11 ` Philippe
  2 siblings, 0 replies; 4+ messages in thread
From: Russell Stuart @ 2007-07-26  9:38 UTC (permalink / raw)
  To: lartc

On Wed, 2007-07-25 at 15:14 +0200, Edouard Thuleau wrote:
> I use the patch
> (http://ace-host.stuart.id.au/russell/files/tc/tc-atm/) for accurate
> the packet scheduling on ATM/ADSL link and i think I've found a bug.
> I tried to write to the author but he didn't answer me.

Sorry.  :(  I have now.

> I work on a Linux 2.6.17 with the iproute2-2.6.18-061002 package.
> I change the type of the cell_align char to short of the struct
> tc_ratespec in the file pkt_sched.h (in the include/linux/ directories
> of iproute package and the kernel source) :
> 
> struct tc_ratespec
> {
> 	unsigned char	cell_log;
> 	unsigned char	__reserved;
> 	unsigned short	feature;	/* Always 0 in pre-atm patch kernels */
> -	char		cell_align;	/* Always 0 in pre-atm patch kernels */
> -	unsigned char	__unused;
> +     short		cell_align;	/* Always 0 in pre-atm patch kernels */
> 	unsigned short	mpu;
> 	__u32		rate;
> };
> 
> The results are much better and with my tests, it works very nicely.
> 
> If it can help someone,

I can't see how that would change things as the cell align
always lies within the range -7..0.  The only thing that 
springs to mind is perhaps you aren't using i386, and your 
CPU doesn't sign extend char's???  What CPU are you using?

_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Patch accurate packet scheduling for ATM/ADSL
  2007-07-25 13:14 [LARTC] Patch accurate packet scheduling for ATM/ADSL Edouard Thuleau
  2007-07-26  9:38 ` Russell Stuart
@ 2007-07-26 10:22 ` Edouard Thuleau
  2007-07-26 18:11 ` Philippe
  2 siblings, 0 replies; 4+ messages in thread
From: Edouard Thuleau @ 2007-07-26 10:22 UTC (permalink / raw)
  To: lartc

Hi,

2007/7/26, Russell Stuart <russell-tcatm@stuart.id.au>:
> On Wed, 2007-07-25 at 15:14 +0200, Edouard Thuleau wrote:
> > I use the patch
> > (http://ace-host.stuart.id.au/russell/files/tc/tc-atm/) for accurate
> > the packet scheduling on ATM/ADSL link and i think I've found a bug.
> > I tried to write to the author but he didn't answer me.
>
> Sorry.  :(  I have now.

Thanks for your answer.
>
> > I work on a Linux 2.6.17 with the iproute2-2.6.18-061002 package.
> > I change the type of the cell_align char to short of the struct
> > tc_ratespec in the file pkt_sched.h (in the include/linux/ directories
> > of iproute package and the kernel source) :
> >
> > struct tc_ratespec
> > {
> >       unsigned char   cell_log;
> >       unsigned char   __reserved;
> >       unsigned short  feature;        /* Always 0 in pre-atm patch kernels */
> > -     char            cell_align;     /* Always 0 in pre-atm patch kernels */
> > -     unsigned char   __unused;
> > +     short           cell_align;     /* Always 0 in pre-atm patch kernels */
> >       unsigned short  mpu;
> >       __u32           rate;
> > };
> >
> > The results are much better and with my tests, it works very nicely.
> >
> > If it can help someone,
>
> I can't see how that would change things as the cell align
> always lies within the range -7..0.  The only thing that
> springs to mind is perhaps you aren't using i386, and your
> CPU doesn't sign extend char's???  What CPU are you using?
>
Yes I use an ARM big-endian architecture, it's my problem.
I understood now.
If we put a short, the patch works for all architecture, no ?

Thanks.
_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [LARTC] Patch accurate packet scheduling for ATM/ADSL
  2007-07-25 13:14 [LARTC] Patch accurate packet scheduling for ATM/ADSL Edouard Thuleau
  2007-07-26  9:38 ` Russell Stuart
  2007-07-26 10:22 ` Edouard Thuleau
@ 2007-07-26 18:11 ` Philippe
  2 siblings, 0 replies; 4+ messages in thread
From: Philippe @ 2007-07-26 18:11 UTC (permalink / raw)
  To: lartc

Hi ! (Sorry for my bad english...)

> I use the patch
> (http://ace-host.stuart.id.au/russell/files/tc/tc-atm/) for accurate
> the packet scheduling on ATM/ADSL link and i think I've found a bug.

I use it too, this patch is great! :o)

But, with TBF, both burst and limit parameters are "affected" by the
patch (or I clearly missed something).

tc qdisc add dev eth1 root handle 1:0 tbf rate 100kbit \
    burst 1514b limit 1514b mpu 64 atm overhead -4

tc qdisc add dev eth1 parent 1:1 handle 10:0 pfifo

Before the patch (without "atm overhead -4"), using PPPoA + VC/Mux and
MSS set to 1438, TBF was working normally.

Just after the patch (with "atm overhead -4"), it stopped working :
packets were blocked until I raise up burst and limit to 1696 (32 * 53).

In this case Linux sees 1492 bytes packets on eth1 (1438 + 20 IP + 20
TCP + 14 Ethernet)

Same effect with a lower MSS : burst and limit must be set to 742b (14 *
53) when MSS = 574.

Pretty sure I do not unsterdand something... and wondering why I cannot
set set burst/limit to 628b (only for TCP streams).

To get mimimal burst/limit values, an extra atm cell is needed :

mss = 1150
eth1 packet = 1204b (1150 + 40 + 14)
modem packet = 1200b ( 1150 + 40 + 2 PPP + 8 AAL5)
Atm cells = 25 (1200 / 48)

Add one cell... and...

min burst/limit = 1378 ( 26 * 53 )

TBF rate also seems to be affected: I currently have it set to 159kbit
on a 128kbits upstream link and it works like a charm! :o)

This is not really a problem (if it works, don't touch it) but I would 
like to understand...

Thanks!

Philippe





_______________________________________________
LARTC mailing list
LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-07-26 18:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-07-25 13:14 [LARTC] Patch accurate packet scheduling for ATM/ADSL Edouard Thuleau
2007-07-26  9:38 ` Russell Stuart
2007-07-26 10:22 ` Edouard Thuleau
2007-07-26 18:11 ` Philippe

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.