From: Eric Dumazet <eric.dumazet@gmail.com>
To: Bill Fink <billfink@mindspring.com>
Cc: Yevgeny Petrilin <yevgenyp@mellanox.com>,
David Miller <davem@davemloft.net>,
"netdev@vger.kernel.org" <netdev@vger.kernel.org>
Subject: Re: [PATCH net-next 1/3] mlx4_en: TX ring size default to 1024
Date: Sat, 25 Feb 2012 09:22:40 +0100 [thread overview]
Message-ID: <1330158160.2462.37.camel@edumazet-laptop> (raw)
In-Reply-To: <20120225015122.a7419f74.billfink@mindspring.com>
Le samedi 25 février 2012 à 01:51 -0500, Bill Fink a écrit :
> For a GigE NIC with a typical ring size of 256, the serialization delay
> for 256 1500 byte packets is:
>
> 1500*8*256/10^9 = ~3.1 msec
>
> For a 10-GigE NIC with a ring size of 1024, the serialization delay
> for 1024 1500 byte packets is:
>
> 1500*8*1024/10^10 = ~1.2 msec
>
> So it's not immediately clear that a ring size of 1024 is unreasonable
> for 10-GigE.
>
Its clear when you take into account packets of 64Kbytes (TSO)
With current hardware and state of linux software, you dont need anymore
very big NIC queues since they bring known drawbacks.
It was true in the past with UP and some timer handlers that could hog
cpu for long periods of time, and when TSO didnt exist.
Hopefully all these cpu hogs are not running in softirq handlers
anymore.
If your workload needs more than ~500 slots, then something is wrong
elsewhere and should be fixed. No more workarounds please.
Now BQL (Byte Queue Limits) is available, a driver should implement it
first before considering big TX rings. Thats a 20 minutes change.
prev parent reply other threads:[~2012-02-25 8:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-23 13:34 [PATCH net-next 1/3] mlx4_en: TX ring size default to 1024 Yevgeny Petrilin
2012-02-23 19:45 ` David Miller
2012-02-23 19:54 ` Eric Dumazet
2012-02-24 19:35 ` Yevgeny Petrilin
2012-02-24 20:14 ` David Miller
2012-02-24 20:17 ` Eric Dumazet
2012-02-25 6:51 ` Bill Fink
2012-02-25 8:22 ` Eric Dumazet [this message]
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=1330158160.2462.37.camel@edumazet-laptop \
--to=eric.dumazet@gmail.com \
--cc=billfink@mindspring.com \
--cc=davem@davemloft.net \
--cc=netdev@vger.kernel.org \
--cc=yevgenyp@mellanox.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