netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Antonio Almeida <vexwek@gmail.com>
To: Jarek Poplawski <jarkao2@gmail.com>
Cc: Stephen Hemminger <shemminger@vyatta.com>,
	netdev@vger.kernel.org, kaber@trash.net, davem@davemloft.net,
	devik@cdi.cz, Eric Dumazet <dada1@cosmosbay.com>,
	Vladimir Ivashchenko <hazard@francoudi.com>
Subject: Re: [PATCH iproute2] Re: HTB accuracy for high speed
Date: Fri, 29 May 2009 18:02:39 +0100	[thread overview]
Message-ID: <298f5c050905291002j468aa6e6j9a28252507717660@mail.gmail.com> (raw)
In-Reply-To: <20090528211258.GA3658@ami.dom.local>

On Thu, May 28, 2009 at 10:12 PM, Jarek Poplawski wrote:
> Yes, but according to my assessment there should be "only" 50Mbit
> difference for this rate/packet size. Anyway, could you try a testing
> patch below, which should add some granularity to this rate table?
>
> Thanks,
> Jarek P.
> ---
>
>  include/net/pkt_sched.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h
> index e37fe31..f0faf03 100644
> --- a/include/net/pkt_sched.h
> +++ b/include/net/pkt_sched.h
> @@ -42,8 +42,8 @@ typedef u64   psched_time_t;
>  typedef long   psched_tdiff_t;
>
>  /* Avoid doing 64 bit divide by 1000 */
> -#define PSCHED_US2NS(x)                        ((s64)(x) << 10)
> -#define PSCHED_NS2US(x)                        ((x) >> 10)
> +#define PSCHED_US2NS(x)                        ((s64)(x) << 6)
> +#define PSCHED_NS2US(x)                        ((x) >> 6)
>
>  #define PSCHED_TICKS_PER_SEC           PSCHED_NS2US(NSEC_PER_SEC)
>  #define PSCHED_PASTPERFECT             0

It's better! This patch gives more accuracy to HTB. Here some values:
Note that these are boundary values, so, e.g., any HTB configuration
between 377000Kbit and 400000Kbit would fall in the same step - close
to 397977Kbit.
This test was made over the same conditions: generating 950Mbit/s of
unidirectional tcp traffic of 800 bytes packets long.

leaf class ceil	leaf class sent rate (tc -s values)
376000Kbit	375379Kbit
--
377000Kbit	397977Kbit
400000Kbit	397973Kbit
--
401000Kbit	425199Kbit
426000Kbit	425199Kbit
--
427000Kbit	456389Kbit
457000Kbit	456409Kbit
--
458000Kbit	490111Kbit
492000Kbit	490138Kbit
--
493000Kbit	531957Kbit
533000Kbit	532078Kbit
--
534000Kbit	581835Kbit
581000Kbit	581820Kbit
--
582000Kbit	637809Kbit
640000Kbit	637709Kbit
--
641000Kbit	710526Kbit
711000Kbit	710553Kbit
--
712000Kbit	795921Kbit
800000Kbit	795901Kbit
--
801000Kbit	912706Kbit
914000Kbit	912782Kbit
--
915000Kbit	--


Here more values for a HTB ceil configuration of 555Mbit/s changing packet size:

800 bytes:
class htb 1:108 parent 1:10 leaf 108: prio 7 quantum 1514 rate
555000Kbit ceil 555000Kbit burst 70901b/8 mpu 0b overhead 0b cburst
70901b/8 mpu 0b overhead 0b level 0
 Sent 18731000768 bytes 23531408 pkt (dropped 15715520, overlimits 0 requeues 0)
 rate 581832Kbit 91368pps backlog 0b 110p requeues 0
 lended: 23531298 borrowed: 0 giants: 0
 tokens: -16091 ctokens: -16091


850 bytes:
class htb 1:108 parent 1:10 leaf 108: prio 7 quantum 1514 rate
555000Kbit ceil 555000Kbit burst 70901b/8 mpu 0b overhead 0b cburst
70901b/8 mpu 0b overhead 0b level 0
 Sent 30556163150 bytes 37645600 pkt (dropped 25746491, overlimits 0 requeues 0)
 rate 565509Kbit 83556pps backlog 0b 15p requeues 0
 lended: 37645585 borrowed: 0 giants: 0
 tokens: -16010 ctokens: -16010


950 bytes	
class htb 1:108 parent 1:10 leaf 108: prio 7 quantum 1514 rate
555000Kbit ceil 555000Kbit burst 70901b/8 mpu 0b overhead 0b cburst
70901b/8 mpu 0b overhead 0b level 0
 Sent 51363059854 bytes 60954074 pkt (dropped 40474346, overlimits 0 requeues 0)
 rate 598925Kbit 83555pps backlog 0b 112p requeues 0
 lended: 60953962 borrowed: 0 giants: 0
 tokens: 12446 ctokens: 12446

I'm using
# tc -V
tc utility, iproute2-ss090115

and keeping tso and gso off:
# ethtool -k eth0
Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off

# ethtool -k eth1
Offload parameters for eth1:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: off
udp fragmentation offload: off
generic segmentation offload: off

  reply	other threads:[~2009-05-29 17:02 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <298f5c050905150745p13dc226eia1ff50ffa8c4b300@mail.gmail.com>
2009-05-15 14:49 ` HTB accuracy for high speed Antonio Almeida
2009-05-15 18:12   ` Stephen Hemminger
2009-05-18 10:01     ` Antonio Almeida
2009-05-18 10:45       ` Jarek Poplawski
2009-05-18 12:27         ` Antonio Almeida
2009-05-18 12:32           ` Jarek Poplawski
2009-05-18 16:13       ` Stephen Hemminger
2009-05-18 18:03         ` Antonio Almeida
2009-05-18 22:02         ` Stephen Hemminger
2009-05-19 11:48           ` Antonio Almeida
2009-05-19 13:08             ` Antonio Almeida
2009-05-16  8:31   ` Jarek Poplawski
2009-05-18 10:39     ` Antonio Almeida
2009-05-18 11:14       ` Jarek Poplawski
2009-05-18 12:05         ` Antonio Almeida
2009-05-16 14:14   ` Jarek Poplawski
2009-05-18 14:36     ` Antonio Almeida
2009-05-18 23:14       ` Vladimir Ivashchenko
2009-05-18 23:27         ` Vladimir Ivashchenko
2009-05-19 11:03           ` Jarek Poplawski
2009-05-19 14:04             ` Vladimir Ivashchenko
2009-05-19 20:10               ` Jarek Poplawski
2009-05-20 22:07                 ` Vladimir Ivashchenko
2009-05-20 22:46                   ` Eric Dumazet
2009-05-21  7:20                     ` Jarek Poplawski
2009-05-21  7:44                       ` Vladimir Ivashchenko
2009-05-21  8:28                         ` Jarek Poplawski
2009-05-21  9:07                           ` Eric Dumazet
2009-05-21  9:22                             ` Jarek Poplawski
2009-05-23 10:37                           ` HTB accuracy for high speed (and bonding) Vladimir Ivashchenko
2009-05-23 14:34                             ` Jarek Poplawski
2009-05-23 15:06                               ` Vladimir Ivashchenko
2009-05-23 15:35                                 ` Jarek Poplawski
2009-05-23 15:53                                   ` Vladimir Ivashchenko
2009-05-23 16:02                                     ` Jarek Poplawski
2009-05-18 16:40     ` HTB accuracy for high speed Eric Dumazet
2009-05-18 17:23       ` Jarek Poplawski
2009-05-18 21:52         ` David Miller
2009-05-18 23:59           ` [PATCH] pkt_sched: gen_estimator: use 64 bits intermediate counters for bps Eric Dumazet
2009-05-19  2:27             ` David Miller
2009-05-19  7:02             ` Jarek Poplawski
2009-05-19  7:31               ` Eric Dumazet
2009-05-19  7:42                 ` Jarek Poplawski
2009-05-19  7:57                   ` Jarek Poplawski
2009-05-19 18:03                     ` Eric Dumazet
2009-05-19 19:09                       ` [PATCH] pkt_sched: gen_estimator: Fix signed integers right-shifts Jarek Poplawski
2009-05-26  5:47                         ` David Miller
2009-05-19  8:18                 ` [PATCH] pkt_sched: gen_estimator: use 64 bits intermediate counters for bps David Miller
2009-05-17 20:15   ` HTB accuracy for high speed Jarek Poplawski
2009-05-18  6:56     ` [PATCH iproute2] " Jarek Poplawski
2009-05-18 16:54       ` Antonio Almeida
2009-05-18 17:16         ` Antonio Almeida
2009-05-21  8:51           ` Jarek Poplawski
2009-05-22 17:42             ` Antonio Almeida
2009-05-23  7:32               ` Jarek Poplawski
2009-05-28 18:13                 ` Antonio Almeida
2009-05-28 21:12                   ` Jarek Poplawski
2009-05-29 17:02                     ` Antonio Almeida [this message]
2009-05-29 17:28                       ` Stephen Hemminger
2009-05-29 19:58                         ` Jarek Poplawski
2009-05-29 19:46                       ` Jarek Poplawski
2009-05-29 20:49                         ` Stephen Hemminger
2009-05-29 20:59                           ` Jarek Poplawski
2009-05-30 20:07                       ` Jarek Poplawski
2009-06-02 10:12                         ` Antonio Almeida
2009-06-02 11:45                           ` Antonio Almeida
2009-06-02 12:36                             ` Jarek Poplawski
2009-06-02 12:45                               ` Patrick McHardy
2009-06-02 13:08                                 ` Jarek Poplawski
2009-06-02 13:20                                   ` Patrick McHardy
2009-06-02 21:37                                     ` Jarek Poplawski
2009-06-02 21:50                                       ` Jarek Poplawski
2009-06-03  7:06                                         ` Patrick McHardy
2009-06-03  7:40                                           ` Jarek Poplawski
2009-06-03  7:53                                             ` Patrick McHardy
2009-06-03  8:01                                               ` Jarek Poplawski
2009-06-03  8:29                                                 ` Patrick McHardy
2009-06-03  8:45                                                   ` Jarek Poplawski
2009-06-03  9:54                                               ` Jarek Poplawski
2009-06-03 10:01                                                 ` Patrick McHardy
2009-06-03 10:05                                                   ` Patrick McHardy
2009-06-03 10:06                                                     ` Patrick McHardy
2009-06-03 10:27                                                       ` Jarek Poplawski
2009-06-04 13:50                                                 ` Antonio Almeida
     [not found]                                                   ` <20090604193013.GA2755@ami.dom.local>
     [not found]                                                     ` <4A282216.20203@trash.net>
     [not found]                                                       ` <20090604194203.GB2755@ami.dom.local>
2009-06-09  5:25                                                         ` Badalian Vyacheslav
2009-06-09  5:49                                                           ` Jarek Poplawski
2009-06-04  4:53                                               ` David Miller
2009-06-04  7:50                                                 ` Jarek Poplawski
2009-05-18 17:53         ` Jarek Poplawski
2009-05-18 18:23           ` Antonio Almeida
2009-05-18 18:32             ` Jarek Poplawski
2009-05-18 18:56               ` Antonio Almeida
2009-05-18 19:05                 ` Jarek Poplawski
2009-05-19 10:55                   ` Antonio Almeida
2009-05-19 11:04                     ` Denys Fedoryschenko
2009-05-19 11:18                       ` Jarek Poplawski
2009-05-19 11:21                         ` Denys Fedoryschenko
2009-05-19 11:28                           ` Jarek Poplawski
2009-05-19 14:31                             ` Antonio Almeida
2009-05-19 11:09                     ` Jarek Poplawski
2009-05-19 13:18                   ` Jesper Dangaard Brouer
2009-05-19 19:35                     ` Jarek Poplawski
2009-05-18  7:01     ` [PATCH iproute2 v2] " Jarek Poplawski
2009-05-17 20:29   ` Vladimir Ivashchenko

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=298f5c050905291002j468aa6e6j9a28252507717660@mail.gmail.com \
    --to=vexwek@gmail.com \
    --cc=dada1@cosmosbay.com \
    --cc=davem@davemloft.net \
    --cc=devik@cdi.cz \
    --cc=hazard@francoudi.com \
    --cc=jarkao2@gmail.com \
    --cc=kaber@trash.net \
    --cc=netdev@vger.kernel.org \
    --cc=shemminger@vyatta.com \
    /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).