From: Robert Olsson <Robert.Olsson@data.slu.se>
To: "David S. Miller" <davem@redhat.com>
Cc: manfred@colorfullife.com, haveblue@us.ibm.com, hadi@cyberus.ca,
netdev@oss.sgi.com, linux-kernel@vger.kernel.org
Subject: Re: Early SPECWeb99 results on 2.5.33 with TSO on e1000
Date: Tue, 10 Sep 2002 14:02:20 +0200 [thread overview]
Message-ID: <15741.57164.402952.136812@robur.slu.se> (raw)
In-Reply-To: <20020906.123428.28085660.davem@redhat.com>
Manfred Spraul:
>> But what if the backlog queue is empty all the time? Then NAPI thinks
>> that the system is idle, and reenables the interrupts after each packet :-(
Yes and this happens even with without NAPI. Just set RxIntDelay=X and send
pkts at >= X+1 interval.
>> Dave, do you have interrupt rates from the clients with and without NAPI?
DaveM:
> Robert does.
Yes we get into this interesting discussion now... Since with NAPI we can
safely use RxIntDelay=0 (e1000 terminologi). With the classical IRQ we simply
had to add latency (RxIntDelay of 64-128 us common for GIGE) this just to
survive at higher speeds (GIGE max is 1.48 Mpps) and with the interrupt latency
also comes higher network latencies... IMO this delay was a "work-around"
for the old interrupt scheme.
So we now have the option of removing it... But we are trading less latency
for for more interrupts. So yes Manfred is correct...
So is there a decent setting/compromise?
Well first approximation is just to do just what DaveM suggested.
RxIntDelay=0. This solved many problems with buggy hardware and complicated
tuning and RxIntDelay used to be combined with other mitigation parameters to
compensate for different packets sizes etc. This leading to very "fragile"
performance where a NIC could perform excellent w. single TCP stream but
to be seriously broke in many other tests. So tuning to just one "test"
can cause a lot of mis-tuning as well.
Anyway. A tulip NAPI variant added mitigation when we reached "some load" to
avoid the static interrupt delay. (Still keeping things pretty simple):
Load "Mode"
-------------------
Lo 1) RxIntDelay=0
Mid 2) RxIntDelay=fix (When we had X pkts on the RX ring)
Hi 3) Consecutive polling. No RX interrupts.
Is it worth the effort?
For SMP w/o affinity the delay could eventually reduce the cache bouncing
since the packets becomes more "batched" at cost the of latency of course.
We use RxIntDelay=0 for production use. (IP-forwarding on UP)
Cheers.
--ro
next prev parent reply other threads:[~2002-09-10 12:02 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-09-06 18:35 Early SPECWeb99 results on 2.5.33 with TSO on e1000 Manfred Spraul
2002-09-06 18:38 ` David S. Miller
2002-09-06 19:40 ` Manfred Spraul
2002-09-06 19:34 ` David S. Miller
2002-09-10 12:02 ` Robert Olsson [this message]
2002-09-10 16:55 ` Manfred Spraul
2002-09-11 7:46 ` Robert Olsson
-- strict thread matches above, loose matches on Subject: below --
2002-09-10 14:59 Mala Anand
2002-09-06 11:44 Robert Olsson
2002-09-06 14:37 ` Martin J. Bligh
2002-09-06 15:38 ` Robert Olsson
2002-09-05 20:47 Feldman, Scott
2002-09-05 18:30 Troy Wilson
2002-09-05 20:59 ` jamal
2002-09-05 22:11 ` Troy Wilson
2002-09-05 22:39 ` Nivedita Singhvi
2002-09-05 23:01 ` Dave Hansen
2002-09-05 22:48 ` Nivedita Singhvi
2002-09-06 1:47 ` jamal
2002-09-06 3:38 ` Nivedita Singhvi
2002-09-06 3:58 ` David S. Miller
2002-09-06 4:20 ` Nivedita Singhvi
2002-09-06 4:17 ` David S. Miller
2002-09-07 0:05 ` Troy Wilson
2002-09-06 3:56 ` David S. Miller
2002-09-06 3:47 ` David S. Miller
2002-09-06 6:48 ` Martin J. Bligh
2002-09-06 6:51 ` David S. Miller
2002-09-06 7:36 ` Andrew Morton
2002-09-06 7:22 ` David S. Miller
2002-09-06 9:54 ` jamal
2002-09-06 14:29 ` Martin J. Bligh
2002-09-06 15:38 ` Dave Hansen
2002-09-06 16:11 ` Martin J. Bligh
2002-09-06 16:21 ` Nivedita Singhvi
2002-09-06 15:29 ` Dave Hansen
2002-09-06 16:29 ` Martin J. Bligh
2002-09-06 17:36 ` Dave Hansen
2002-09-06 18:26 ` Andi Kleen
2002-09-06 18:33 ` Dave Hansen
2002-09-06 18:36 ` David S. Miller
2002-09-06 18:45 ` Martin J. Bligh
2002-09-06 18:43 ` David S. Miller
2002-09-06 19:19 ` Nivedita Singhvi
2002-09-06 19:21 ` David S. Miller
2002-09-06 19:45 ` Nivedita Singhvi
2002-09-06 19:26 ` Andi Kleen
2002-09-06 19:24 ` David S. Miller
2002-09-06 19:45 ` Martin J. Bligh
2002-09-06 17:26 ` Gerrit Huizenga
2002-09-06 17:37 ` David S. Miller
2002-09-06 18:19 ` Gerrit Huizenga
2002-09-06 18:26 ` Martin J. Bligh
2002-09-06 18:36 ` David S. Miller
2002-09-06 18:51 ` Martin J. Bligh
2002-09-06 18:48 ` David S. Miller
2002-09-06 19:05 ` Gerrit Huizenga
2002-09-06 19:01 ` David S. Miller
2002-09-06 20:29 ` Alan Cox
2002-09-06 18:34 ` David S. Miller
2002-09-06 18:57 ` Gerrit Huizenga
2002-09-06 18:58 ` David S. Miller
2002-09-06 19:52 ` Gerrit Huizenga
2002-09-06 19:49 ` David S. Miller
2002-09-06 20:03 ` Gerrit Huizenga
2002-09-06 23:48 ` Troy Wilson
2002-09-11 9:11 ` Eric W. Biederman
2002-09-11 14:10 ` Martin J. Bligh
2002-09-11 15:06 ` Eric W. Biederman
2002-09-11 15:15 ` David S. Miller
2002-09-11 15:31 ` Eric W. Biederman
2002-09-11 15:27 ` Martin J. Bligh
2002-09-12 7:28 ` Todd Underwood
2002-09-12 12:30 ` jamal
2002-09-12 13:57 ` Todd Underwood
2002-09-12 14:11 ` Alan Cox
2002-09-12 14:41 ` todd-lkml
2002-09-12 23:12 ` David S. Miller
2002-09-13 21:59 ` todd-lkml
2002-09-13 22:04 ` David S. Miller
2002-09-15 20:16 ` jamal
2002-09-16 4:23 ` David S. Miller
2002-09-16 14:16 ` todd-lkml
2002-09-16 19:52 ` David S. Miller
2002-09-16 21:32 ` todd-lkml
2002-09-16 21:29 ` David S. Miller
2002-09-16 22:53 ` David Woodhouse
2002-09-16 22:46 ` David S. Miller
2002-09-16 23:03 ` David Woodhouse
2002-09-16 23:08 ` Jeff Garzik
2002-09-16 23:02 ` David S. Miller
2002-09-16 23:48 ` Jeff Garzik
2002-09-16 23:43 ` David S. Miller
2002-09-17 0:01 ` Jeff Garzik
2002-09-17 10:31 ` jamal
2002-09-13 22:12 ` Nivedita Singhvi
2002-09-12 17:18 ` Nivedita Singhvi
2002-09-06 23:56 ` Troy Wilson
2002-09-06 23:52 ` David S. Miller
2002-09-07 0:18 ` Nivedita Singhvi
2002-09-07 0:27 ` Troy Wilson
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=15741.57164.402952.136812@robur.slu.se \
--to=robert.olsson@data.slu.se \
--cc=davem@redhat.com \
--cc=hadi@cyberus.ca \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=manfred@colorfullife.com \
--cc=netdev@oss.sgi.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).