[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4A148838.8010809@cosmosbay.com>
Date: Thu, 21 May 2009 00:46:16 +0200
From: Eric Dumazet <dada1@...mosbay.com>
To: Vladimir Ivashchenko <hazard@...ncoudi.com>
CC: Jarek Poplawski <jarkao2@...il.com>, netdev@...r.kernel.org,
kaber@...sh.net, davem@...emloft.net, devik@....cz,
Antonio Almeida <vexwek@...il.com>,
Corey Hickey <bugfood-ml@...ooh.org>
Subject: Re: HTB accuracy for high speed
Vladimir Ivashchenko a écrit :
>>>> I guess you should send some logs. Your previous report seem to show
>>> Can you give some hints on which logs you would like to see?
>> Similarly to Antonio's: ifconfigs and tc -s for qdiscs and classes at
>> the beginning and at the end of testing.
>
> Ok, it seems that I finally found what is causing my HTB on 2.6.29 not
> to reach full throughput: dst hashing on sfq with high divisor value.
>
> 2.6.21 esfq divisor 13 depth 4096 hash dst - 680 mbps
> 2.6.29 sfq WITHOUT "flow hash keys dst ... " (default sfq) - 680 mbps
> 2.6.29 sfq + "flow hash keys dst divisor 64" filter - 680 mbps
> 2.6.29 sfq + "flow hash keys dst divisor 256" filter - 660 mbps
> 2.6.29 sfq + "flow hash keys dst divisor 2048" filters - 460 mbps
>
> I'm using high sfq hash divisor in order to decrease the number of
> collisions, there are several thousands of hosts behind each of the
> classes.
>
> Any ideas why increasing the sfq divisor size results in drop of
> throughput ?
>
> Attached are diagnostics gathered in case of divisor 2048.
>
But... it appears sfq currently supports a fixed divisor of 1024
net/sched/sch_sfq.c
IMPLEMENTATION:
This implementation limits maximal queue length to 128;
maximal mtu to 2^15-1; number of hash buckets to 1024.
The only goal of this restrictions was that all data
fit into one 4K page :-). Struct sfq_sched_data is
organized in anti-cache manner: all the data for a bucket
are scattered over different locations. This is not good,
but it allowed me to put it into 4K.
It is easy to increase these values, but not in flight. */
#define SFQ_DEPTH 128
#define SFQ_HASH_DIVISOR 1024
Apparently Corey Hickey 2007 work on SFQ was not merged.
http://kerneltrap.org/mailarchive/linux-netdev/2007/9/28/325048
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists