Netdev List
 help / color / mirror / Atom feed
From: Eric Dumazet <eric.dumazet@gmail.com>
To: Jiri Pirko <jiri@resnulli.us>
Cc: edumazet@google.com, netdev@vger.kernel.org,
	kuznet@ms2.inr.ac.ru, jhs@mojatatu.com
Subject: Re: inaccurate packet scheduling
Date: Thu, 24 Jan 2013 06:01:27 -0800	[thread overview]
Message-ID: <1359036087.12374.2088.camel@edumazet-glaptop> (raw)
In-Reply-To: <20130124080536.GA1598@minipsycho.orion>

On Thu, 2013-01-24 at 09:05 +0100, Jiri Pirko wrote:
> Tue, Jan 08, 2013 at 02:30:38PM CET, jiri@resnulli.us wrote:
> >Wed, Jan 02, 2013 at 05:34:42PM CET, eric.dumazet@gmail.com wrote:
> >>On Wed, 2013-01-02 at 16:26 +0100, Jiri Pirko wrote:
> >>> Tue, Dec 18, 2012 at 05:51:43PM CET, erdnetdev@gmail.com wrote:
> >>> >On Tue, 2012-12-18 at 08:26 -0800, Stephen Hemminger wrote:
> >>> >
> >>> >> Check kernel log for messages about clock. It could be that on the
> >>> >> machines with issues TSC is not usable for kernel clock.
> >>> >> Also turn off TSO since it screws up any form of rate control.
> >>> >
> >>> >Yes, but we should fix it eventually. I'll take a look.
> >>> 
> >>> Hi Eric, did you have a chance to look at this? Or should I give it a try?
> >>
> >>I took a look, and TBF does :
> >>
> >>if (qdisc_pkt_len(skb) > q->max_size)
> >>    return qdisc_reshape_fail(skb, sch);
> >>
> >>We have several choices :
> >>
> >>1) Add a one time warning
> >>
> >>2) cap dev->gso_max_size at Qdisc setup time
> >>
> >>3) Re-segment the packet instead of dropping it (if GSO packet), and
> >>call the expensive qdisc_tree_decrease_qlen() function.
> >>
> >>4) remove max_size limitation 
> >>
> >
> >To my untrained eye, 2) or 4) look like a way to go. Not sure though.
> 
> What do you think would be the best way Eric? Thanks.

Capping gso_max_size is a bit difficult after commit
1def9238d4aa2146924 (net_sched: more precise pkt_len computation)

If MSS is really small, we can easily get a lot of overhead

qdisc_skb_cb(skb)->pkt_len > 2 * skb->len

It looks like we need 4), maybe using same mechanism
than the one used in commit 56b765b79e9a78d
(htb: improved accuracy at high rates)

  reply	other threads:[~2013-01-24 14:01 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-18 15:04 inaccurate packet scheduling Jiri Pirko
2012-12-18 16:26 ` Stephen Hemminger
2012-12-18 16:51   ` Eric Dumazet
2013-01-02 15:26     ` Jiri Pirko
2013-01-02 16:34       ` Eric Dumazet
2013-01-08 13:30         ` Jiri Pirko
2013-01-24  8:05           ` Jiri Pirko
2013-01-24 14:01             ` Eric Dumazet [this message]
2013-01-29 12:23               ` Jiri Pirko
2013-01-29 16:13                 ` Eric Dumazet
2013-01-30 12:14                   ` Jiri Pirko
2013-02-07 16:13                     ` Jiri Pirko
2013-02-07 16:39                       ` Eric Dumazet
2013-02-07 17:39                         ` Jiri Pirko
2013-02-07 17:47                           ` Eric Dumazet
2013-02-07 18:56                             ` Jiri Pirko
2012-12-18 17:54   ` Jiri Pirko
2012-12-18 18:06     ` Eric Dumazet
2012-12-18 18:40       ` Jiri Pirko
2012-12-18 18:43         ` Stephen Hemminger

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=1359036087.12374.2088.camel@edumazet-glaptop \
    --to=eric.dumazet@gmail.com \
    --cc=edumazet@google.com \
    --cc=jhs@mojatatu.com \
    --cc=jiri@resnulli.us \
    --cc=kuznet@ms2.inr.ac.ru \
    --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