All of lore.kernel.org
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Eric W. Biederman)
To: Francois Romieu <romieu@fr.zoreil.com>
Cc: David Dillow <dave@thedillows.org>,
	Michael Riepe <michael.riepe@googlemail.com>,
	Michael Buesch <mb@bu3sch.de>, Rui Santos <rsantos@grupopie.com>,
	Michael B??ker <m.bueker@berlin.de>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts
Date: Tue, 25 Aug 2009 20:47:01 -0700	[thread overview]
Message-ID: <m1prajme2y.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <20090825221903.GA13630@electric-eye.fr.zoreil.com> (Francois Romieu's message of "Wed\, 26 Aug 2009 00\:19\:03 +0200")

Francois Romieu <romieu@fr.zoreil.com> writes:

> Eric W. Biederman <ebiederm@xmission.com> :
> [...]
>> I am a bit curious about TxDescUnavail.  Perhaps we had a temporary
>> memory shortage and that is what was screaming?  I don't think we do
>> anything at all with that state.
>
> You are not alone, the driver completely ignores this bit.
>
> As far as I remember, the TxDescUnavail event mostly pops up when the
> driver makes an excessive use of TxPoll requests.
>
>> Perhaps the flaw here is simply not masking TxDescUnavail while we are
>> in NAPI mode ?
>
> Yes, it is worth trying.

At first blush things seem better, but it isn't sufficient.
I still have a problem with RxFIFOOver set.
r8169 screaming irq status 00000040 mask 0000ffe2 event 0000803f napi 0000001d

The patch I ran is below.

Eric

---
 drivers/net/r8169.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c
index 3b19e0c..e144bc1 100644
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
@@ -3552,6 +3552,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 	void __iomem *ioaddr = tp->mmio_addr;
 	int handled = 0;
 	int status;
+	int count = 0;
 
 	/* loop handling interrupts until we have no new ones or
 	 * we hit a invalid/hotplug case.
@@ -3560,6 +3561,14 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 	while (status && status != 0xffff) {
 		handled = 1;
 
+		if (count++ > 100) {                                                                                               
+			printk_once("r8169 screaming irq status %08x "
+				"mask %08x event %08x napi %08x\n",
+				status, tp->intr_mask, tp->intr_event,
+				tp->napi_event);
+			break;
+		}
+
 		/* Handle all of the error cases first. These will reset
 		 * the chip, so just exit the loop.
 		 */
@@ -3609,6 +3618,9 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 		RTL_W16(IntrStatus,
 			(status & RxFIFOOver) ? (status | RxOverflow) : status);
 		status = RTL_R16(IntrStatus);
+		if (status == 0xffff)
+			break;
+		status &= tp->intr_mask;
 	}
 
 	return IRQ_RETVAL(handled);
-- 
1.6.2.5


  reply	other threads:[~2009-08-26  3:47 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-04 17:28 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too Michael Büker
2009-03-04 22:43 ` Francois Romieu
2009-03-06  0:17   ` Michael Büker
2009-03-08 10:27   ` Tom Weber
2009-03-10  5:42     ` Tom Weber
2009-03-09 12:07   ` Rui Santos
2009-03-13 18:29     ` Rui Santos
2009-03-16 13:07     ` Rui Santos
2009-03-22 21:12       ` Francois Romieu
2009-03-22 21:19         ` Michael Buesch
2009-03-22 22:00           ` Francois Romieu
2009-03-22 22:09             ` Michael Buesch
2009-03-22 22:27               ` Francois Romieu
2009-03-22 22:38                 ` Michael Buesch
2009-03-23 11:47         ` Michael Buesch
2009-03-23 12:47           ` Michael Buesch
2009-03-23 23:47             ` Francois Romieu
2009-03-24  9:43               ` Michael Buesch
2009-03-23 14:29         ` Michael Büker
2009-03-23 14:57           ` Rui Santos
2009-03-23 15:04             ` Michael Büker
2009-03-25 11:40         ` Rui Santos
2009-04-04 17:50           ` Michael Buesch
2009-05-10 13:38             ` Michael Riepe
2009-05-10 15:01               ` Michael S. Zick
2009-05-10 15:10                 ` Michael S. Zick
2009-05-10 15:53               ` Michael Buesch
2009-05-10 16:27                 ` Michael Riepe
2009-05-10 17:09                   ` Michael S. Zick
2009-05-11  0:29               ` David Dillow
2009-05-11 20:48                 ` Michael Buesch
2009-05-11 21:10                   ` Michael Buesch
2009-05-11 21:29                     ` David Dillow
2009-05-11 21:59                       ` Michael Buesch
2009-05-12 20:29                       ` Michael Riepe
2009-05-14  2:38                         ` David Dillow
2009-05-14 18:37                           ` Michael Riepe
2009-05-14 19:14                             ` David Dillow
2009-05-14 19:42                               ` Michael Riepe
2009-05-23  1:29                                 ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts David Dillow
2009-05-23  9:24                                   ` Michael Buesch
2009-05-23 14:35                                     ` Michael Riepe
2009-05-23 14:44                                       ` Michael Buesch
2009-05-23 15:01                                         ` Michael Riepe
2009-05-23 16:40                                           ` Michael Buesch
2009-05-23 14:51                                       ` David Dillow
2009-05-23 16:12                                         ` Michael Riepe
2009-05-23 16:45                                           ` Michael Buesch
2009-05-23 16:46                                           ` David Dillow
2009-05-23 16:50                                             ` Michael Buesch
2009-05-23 16:53                                             ` Michael Riepe
2009-05-23 17:03                                               ` David Dillow
2009-05-24 21:15                                   ` Francois Romieu
2009-05-24 22:55                                     ` David Dillow
2009-05-26  5:55                                   ` David Miller
2009-05-26 18:22                                     ` Michael Buesch
2009-05-26 21:52                                       ` David Miller
2009-05-26 22:14                                         ` David Miller
2009-05-26 22:40                                           ` Michael Riepe
2009-05-26 22:43                                             ` David Miller
2009-05-26 23:10                                               ` David Miller
2009-05-27 16:19                                           ` Michael Buesch
2009-06-16 19:32                                           ` Rui Santos
2009-08-21 20:57                                   ` Eric W. Biederman
2009-08-21 21:22                                     ` Michael Riepe
2009-08-21 22:59                                     ` David Dillow
2009-08-21 23:34                                       ` David Dillow
2009-08-22  0:24                                         ` Eric W. Biederman
2009-08-22 11:48                                         ` Eric W. Biederman
2009-08-22 12:07                                           ` Eric W. Biederman
2009-08-22 20:43                                             ` David Dillow
2009-08-23 17:17                                               ` Jarek Poplawski
2009-08-23 17:43                                                 ` Michal Soltys
2009-08-23 17:54                                                   ` Jarek Poplawski
2009-08-24  2:37                                               ` Eric W. Biederman
2009-08-25  0:51                                               ` Eric W. Biederman
2009-08-25  2:59                                                 ` David Dillow
2009-08-25 20:22                                                   ` Eric W. Biederman
2009-08-25 20:40                                                     ` David Dillow
2009-08-25 21:24                                                       ` Eric W. Biederman
2009-08-25 21:46                                                         ` David Dillow
2009-08-25 22:19                                                         ` Francois Romieu
2009-08-26  3:47                                                           ` Eric W. Biederman [this message]
2009-08-26  7:58                                                           ` [PATCH] r8169: Reduce looping in the interrupt handler Eric W. Biederman
2009-08-26 13:56                                                             ` David Dillow
2009-08-26 13:59                                                               ` David Dillow
2009-08-26 20:02                                                                 ` Eric W. Biederman
2009-08-26 21:30                                                                   ` Francois Romieu
2009-08-26 21:40                                                                     ` Eric W. Biederman
2009-08-27  5:24                                                                       ` Francois Romieu
2009-08-27  5:38                                                                         ` Eric W. Biederman
2009-08-27 23:20                                                                           ` Francois Romieu
2009-08-28  1:17                                                                             ` Eric W. Biederman
2009-08-28  1:29                                                                               ` David Dillow
2009-08-30 20:37                                                                                 ` Francois Romieu
2009-08-30 20:53                                                                                   ` Eric W. Biederman
2009-09-01  3:33                                                                                     ` David Dillow
2009-09-01  9:20                                                                                       ` Francois Romieu
2009-08-25 21:37                                                   ` [PATCH 2.6.30-rc4] r8169: avoid losing MSI interrupts Eric W. Biederman
2009-08-25 21:54                                                     ` David Dillow
2009-08-25 23:11                                                       ` Francois Romieu
2009-05-12 11:10                   ` 2.6.27.19 + 28.7: network timeouts for r8169 and 8139too Krzysztof Halasa
2009-05-12 21:45                     ` Michael Riepe
2009-05-13  6:11                       ` Francois Romieu
2009-05-13  6:27                         ` Michael Riepe
2009-05-13 19:34                       ` Krzysztof Halasa

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=m1prajme2y.fsf@fess.ebiederm.org \
    --to=ebiederm@xmission.com \
    --cc=dave@thedillows.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.bueker@berlin.de \
    --cc=mb@bu3sch.de \
    --cc=michael.riepe@googlemail.com \
    --cc=netdev@vger.kernel.org \
    --cc=romieu@fr.zoreil.com \
    --cc=rsantos@grupopie.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 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.