From: Jarek Poplawski <jarkao2@gmail.com>
To: Simon Horman <horms@verge.net.au>
Cc: netdev@vger.kernel.org, David Miller <davem@davemloft.net>
Subject: Re: Possible regression in HTB
Date: Tue, 7 Oct 2008 07:44:35 +0000 [thread overview]
Message-ID: <20081007074435.GA2700@ff.dom.local> (raw)
In-Reply-To: <20081007045145.GA23883@verge.net.au>
On Tue, Oct 07, 2008 at 03:51:47PM +1100, Simon Horman wrote:
> On Tue, Oct 07, 2008 at 12:15:52PM +1100, Simon Horman wrote:
> > Hi Dave, Hi Jarek,
Hi Simon,
> > I know that you guys were/are playing around a lot in here, but
> > unfortunately I think that "pkt_sched: Always use q->requeue in
> > dev_requeue_skb()" (f0876520b0b721bedafd9cec3b1b0624ae566eee) has
> > introduced a performance regression for HTB.
...
> > The test machine with the tc rules and udp-sending processes
> > has two Intel Xeon Quad-cores running at 1.86GHz. The kernel
> > is SMP x86_64.
>
> With the following patch (basically a reversal of ""pkt_sched: Always use
> q->requeue in dev_requeue_skb()" forward ported to the current
> net-next-2.6 tree (tcp: Respect SO_RCVLOWAT in tcp_poll()), I get some
> rather nice numbers (IMHO).
>
> 10194: 666780666bits/s 666Mbits/s
> 10197: 141154197bits/s 141Mbits/s
> 10196: 141023090bits/s 141Mbits/s
> -----------------------------------
> total: 948957954bits/s 948Mbits/s
>
> I'm not sure what evil things this patch does to other aspects
> of the qdisc code.
I'd like to establish this too. This patch was meant to remove some
other problems possibly the simplest way. Maybe it's too simple.
Anyway, it's kind of RFC, so the rest of the requeuing code is left
unchanged, just for easy revoking like below. But first we should
try to understand this more.
So, thanks for testing and reporting this. (BTW, what network card
do you use and is there multiqueuing on?)
Jarek P.
>
> diff --git a/net/sched/sch_generic.c b/net/sched/sch_generic.c
> index 31f6b61..d2e0da6 100644
> --- a/net/sched/sch_generic.c
> +++ b/net/sched/sch_generic.c
> @@ -44,7 +44,10 @@ static inline int qdisc_qlen(struct Qdisc *q)
>
> static inline int dev_requeue_skb(struct sk_buff *skb, struct Qdisc *q)
> {
> - q->gso_skb = skb;
> + if (unlikely(skb->next))
> + q->gso_skb = skb;
> + else
> + q->ops->requeue(skb, q);
> __netif_schedule(q);
>
> return 0;
next prev parent reply other threads:[~2008-10-07 7:44 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-07 1:15 Possible regression in HTB Simon Horman
2008-10-07 4:51 ` Simon Horman
2008-10-07 7:44 ` Jarek Poplawski [this message]
2008-10-07 12:03 ` Patrick McHardy
2008-10-08 0:09 ` Simon Horman
2008-10-08 6:37 ` Jarek Poplawski
2008-10-08 7:22 ` Simon Horman
2008-10-08 7:53 ` Jarek Poplawski
2008-10-07 12:20 ` Jarek Poplawski
2008-10-07 12:48 ` Patrick McHardy
2008-10-07 22:00 ` Jarek Poplawski
2008-10-08 0:21 ` Simon Horman
2008-10-08 0:31 ` Patrick McHardy
2008-10-08 0:40 ` Patrick McHardy
2008-10-08 7:34 ` Martin Devera
2008-10-08 8:53 ` Jarek Poplawski
2008-10-08 10:47 ` Martin Devera
2008-10-08 12:04 ` Jarek Poplawski
2008-10-09 1:09 ` Simon Horman
2008-10-09 6:22 ` Martin Devera
2008-10-09 9:56 ` Jarek Poplawski
2008-10-09 10:14 ` Jarek Poplawski
2008-10-09 10:52 ` Martin Devera
2008-10-09 11:04 ` Jarek Poplawski
2008-10-09 11:11 ` Simon Horman
2008-10-09 11:22 ` Martin Devera
2008-10-08 6:55 ` Jarek Poplawski
2008-10-08 7:06 ` Denys Fedoryshchenko
2008-10-08 7:46 ` [PATCH] " Jarek Poplawski
2008-10-08 18:36 ` David Miller
2008-10-08 7:22 ` Simon Horman
2008-10-08 8:03 ` Jarek Poplawski
2008-10-09 0:54 ` Simon Horman
2008-10-09 6:21 ` Jarek Poplawski
2008-10-09 6:53 ` Martin Devera
2008-10-09 11:18 ` Simon Horman
2008-10-09 11:58 ` Patrick McHardy
2008-10-09 12:36 ` Jarek Poplawski
2008-10-10 6:59 ` Jarek Poplawski
2008-10-10 8:57 ` Jarek Poplawski
2008-10-10 12:12 ` Jarek Poplawski
2008-10-08 0:10 ` Simon Horman
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=20081007074435.GA2700@ff.dom.local \
--to=jarkao2@gmail.com \
--cc=davem@davemloft.net \
--cc=horms@verge.net.au \
--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).