All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: "dave_sperry@ieee.org" <dasperry@comcast.net>
Cc: Dave Sperry <dave_sperry@ieee.org>,
	linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: Poor UDP performance using 2.6.21-rc5-rt5
Date: Mon, 2 Apr 2007 21:04:45 +0200	[thread overview]
Message-ID: <20070402190445.GB2081@elte.hu> (raw)
In-Reply-To: <040220071750.11488.461142790008679B00002CE02206424413979D9D0A9F9C0E0B@comcast.net>


* dave_sperry@ieee.org <dasperry@comcast.net> wrote:

> The Intel NIC seems to behave better under RT

yeah.

> I think there is some kind of bad behavior happening in the Nvidia 
> driver with respect to softirq-net-tx and IRQ-8406.

yes. Part of the problem is that the forcedeth.c driver does not fully 
support NAPI - today i've implemented those bits (see them below), based 
on your testcase. The other part is that the Intel NIC uses MSI, while 
foredeth uses fasteoi, correct? [you can see this in /proc/interrupts]

there are a few other things i'm working on to improve this. I've 
uploaded -rt9 which is the current state of affairs. Note that using 
-rt9 you'll likely only see IRQ-8406 overhead in the system, because 
i've added an optimization to do process the softirq-net-tx workload in 
the hardirq thread if the priority of the two is the same (which is the 
default behavior). But -rt9 is still work in progress that is not fully 
finished yet: in some cases i'm seeing 'fluctuating performance' 
problems on forcedeth that werent there before.

	Ingo

--------------------->
From: Ingo Molnar <mingo@elte.hu>
Subject: [patch] forcedeth.c: improve NAPI handler

another forcedeth.c thing: i noticed that its NAPI handler does not do 
tx-ring processing. The patch below implements this - tested on 
DESC_VER_2 hardware, with CONFIG_FORCEDETH_NAPI=y.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

Index: linux/drivers/net/forcedeth.c
===================================================================
--- linux.orig/drivers/net/forcedeth.c
+++ linux/drivers/net/forcedeth.c
@@ -3118,9 +3118,17 @@ static int nv_napi_poll(struct net_devic
 	int retcode;
 
 	if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) {
+		spin_lock_irqsave(&np->lock, flags);
+		nv_tx_done(dev);
+		spin_unlock_irqrestore(&np->lock, flags);
+
 		pkts = nv_rx_process(dev, limit);
 		retcode = nv_alloc_rx(dev);
 	} else {
+		spin_lock_irqsave(&np->lock, flags);
+		nv_tx_done_optimized(dev, np->tx_ring_size);
+		spin_unlock_irqrestore(&np->lock, flags);
+
 		pkts = nv_rx_process_optimized(dev, limit);
 		retcode = nv_alloc_rx_optimized(dev);
 	}

  reply	other threads:[~2007-04-02 19:04 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-02 17:50 Poor UDP performance using 2.6.21-rc5-rt5 dave_sperry@ieee.org
2007-04-02 19:04 ` Ingo Molnar [this message]
2007-04-03  0:09   ` David Sperry
2007-04-03  6:43     ` Ingo Molnar
2007-04-03  8:51     ` Ingo Molnar
  -- strict thread matches above, loose matches on Subject: below --
2007-04-02 17:17 dave_sperry@ieee.org
2007-04-02 14:09 dave_sperry@ieee.org
2007-04-02 14:23 ` Ingo Molnar
2007-04-01 19:15 Dave Sperry
2007-04-01 20:07 ` Nivedita Singhvi
2007-04-01 22:00   ` Dave Sperry
2007-04-02  5:55   ` Ingo Molnar
2007-04-02  6:30     ` Ingo Molnar
2007-04-02  7:21 ` Ingo Molnar
2007-04-02  8:17   ` Dave Sperry
2007-04-02  9:37     ` Ingo Molnar

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=20070402190445.GB2081@elte.hu \
    --to=mingo@elte.hu \
    --cc=dasperry@comcast.net \
    --cc=dave_sperry@ieee.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rt-users@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.