From: Robert Olsson <Robert.Olsson@data.slu.se>
To: "Brandeburg, Jesse" <jesse.brandeburg@intel.com>
Cc: <netdev@oss.sgi.com>
Subject: NAPI, e100, and system performance problem
Date: Mon, 18 Apr 2005 17:36:08 +0200 [thread overview]
Message-ID: <16995.54248.296368.769248@robur.slu.se> (raw)
In-Reply-To: <C925F8B43D79CC49ACD0601FB68FF50C03A633C7@orsmsx408>
Brandeburg, Jesse writes:
> _Summary_
> As the part owner of the e100 driver, this issue has been nagging at me
> for a while. NAPI seems to be able to swamp a system with interrupts
> and context switches. In this case the system does not respond to
> having zero cpu cycles available by polling more, as I figured it would.
> This was mostly based on observation, but I included some quick data
> gathering for this mail.
Hello!
Well to sort out some things. NAPI address just the balance between
irq and softirq's nothing else, In the balance between userland and
sofirq's we pray that sofirq's should behave well. In some cases
these are deferred to ksoftirqd to balance softirq/user.
> With the current e100 driver in NAPI mode the adapter can generate
> upwards of 36000 interrupts a second from only receiving 77000
> packets/second (pktgen traffic)
You have a very fast CPU and slow device. Interrupt ISR handles two
packets etc. Same for NAPI/non-NAPI path. Not bad really. Probably
you had interrupt delay w. non-NAPI so the interrupt rate was a bit
lower this OK w, NAPI too if you like it.
> Is there any way we can configure how soon or often to be polled
> (called)? For 100Mb speeds at worst we can get about one 64 byte packet
> every 9us (if I did my math right) and since the processors don't take
> that long to schedule NAPI, process a packet and handle an interrupt, we
> just overload the system with interrupts going into and out of napi
> mode. In this case I only have one adapter getting scheduled.
Interrupt delay is the most straight forward... You can play with some
driver timer. Balance timer and the RX ring size so it does not overflow
and register for poll when the timer func have receive packets. You would
see no interrupts at all... Could be fun it feel like sub-optimizing.
No I think at these levels interrupts are our friends.
Cheers.
--ro
next prev parent reply other threads:[~2005-04-18 15:36 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-18 6:11 NAPI, e100, and system performance problem Brandeburg, Jesse
2005-04-18 12:14 ` jamal
2005-04-18 15:36 ` Robert Olsson [this message]
2005-04-18 16:55 ` Arthur Kepner
2005-04-18 19:34 ` Robert Olsson
2005-04-18 20:26 ` jamal
2005-04-19 5:55 ` Greg Banks
2005-04-19 18:36 ` David S. Miller
2005-04-19 20:38 ` NAPI and CPU utilization [was: NAPI, e100, and system performance problem] Arthur Kepner
2005-04-19 20:52 ` Rick Jones
2005-04-19 21:09 ` David S. Miller
[not found] ` <20050420145629.GH19415@sgi.com>
2005-04-20 15:15 ` NAPI, e100, and system performance problem jamal
2005-04-22 11:36 ` Andi Kleen
2005-04-22 12:33 ` jamal
2005-04-22 17:21 ` Andi Kleen
2005-04-22 18:18 ` jamal
2005-04-22 18:30 ` Andi Kleen
2005-04-22 18:37 ` Arthur Kepner
2005-04-22 18:52 ` David S. Miller
[not found] ` <Pine.LNX.4.61.0504241845070.2934@linux.site>
2005-04-25 11:25 ` jamal
2005-04-25 18:51 ` David S. Miller
2005-04-25 11:41 ` jamal
2005-04-25 12:16 ` Jamal Hadi Salim
2005-04-22 19:01 ` jamal
2005-04-22 19:07 ` David S. Miller
2005-04-22 19:21 ` jamal
2005-04-23 20:50 ` Robert Olsson
2005-04-23 16:56 ` Robert Olsson
2005-04-22 23:28 ` Greg Banks
2005-04-22 23:40 ` Stephen Hemminger
2005-04-22 23:43 ` David S. Miller
2005-04-23 2:51 ` Stephen Hemminger
2005-04-23 17:54 ` Robert Olsson
2005-04-23 3:04 ` jamal
2005-04-23 17:14 ` Robert Olsson
2005-04-22 14:52 ` Robert Olsson
2005-04-22 15:37 ` jamal
2005-04-22 17:22 ` Andi Kleen
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=16995.54248.296368.769248@robur.slu.se \
--to=robert.olsson@data.slu.se \
--cc=jesse.brandeburg@intel.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).