From: booster@wolke7.net
To: Francois Romieu <romieu@fr.zoreil.com>
Cc: hayeswang <hayeswang@realtek.com>,
"'Jonathan Nieder'" <jrnieder@gmail.com>,
"'Eric Dumazet'" <eric.dumazet@gmail.com>,
netdev@vger.kernel.org, "'nic_swsd'" <nic_swsd@realtek.com>,
linux-kernel@vger.kernel.org,
"'Armin Kazmi'" <armin.kazmi@tu-dortmund.de>
Subject: Re: [bug?] r8169: hangs under heavy load
Date: Thu, 01 Dec 2011 21:42:19 +0100 [thread overview]
Message-ID: <4ED7E6AB.6050308@wolke7.net> (raw)
In-Reply-To: <20111201102000.GA14013@electric-eye.fr.zoreil.com>
Francois Romieu wrote:
> booster@wolke7.net <booster@wolke7.net> :
> [...]
>
>> Any more ideas ?
>>
>
> Give me a brain.
>
> Fixed patch below.
>
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index 6f06aa1..e776bf2 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -4885,8 +4894,7 @@ static void rtl_hw_start_8168(struct net_device *dev)
> RTL_W16(IntrMitigate, 0x5151);
>
> /* Work around for RxFIFO overflow. */
> - if (tp->mac_version == RTL_GIGA_MAC_VER_11 ||
> - tp->mac_version == RTL_GIGA_MAC_VER_22) {
> + if (tp->mac_version == RTL_GIGA_MAC_VER_11) {
> tp->intr_event |= RxFIFOOver | PCSTimeout;
> tp->intr_event &= ~RxOverflow;
> }
> @@ -5804,6 +5812,10 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> */
> status = RTL_R16(IntrStatus);
> while (status && status != 0xffff) {
> + status &= tp->intr_event;
> + if (!status)
> + break;
> +
> handled = 1;
>
> /* Handle all of the error cases first. These will reset
> @@ -5818,7 +5830,6 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> switch (tp->mac_version) {
> /* Work around for rx fifo overflow */
> case RTL_GIGA_MAC_VER_11:
> - case RTL_GIGA_MAC_VER_22:
> case RTL_GIGA_MAC_VER_26:
> netif_stop_queue(dev);
> rtl8169_tx_timeout(dev);
> @@ -5828,6 +5839,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
> case RTL_GIGA_MAC_VER_19:
> case RTL_GIGA_MAC_VER_20:
> case RTL_GIGA_MAC_VER_21:
> + case RTL_GIGA_MAC_VER_22:
> case RTL_GIGA_MAC_VER_23:
> case RTL_GIGA_MAC_VER_24:
> case RTL_GIGA_MAC_VER_27:
>
>
Hello Francois,
it looks OK now - no more "eth0: link up" messages and network hangs any
more.
I've send and received 60 GB to and from the system and the performance
is ~30 MB/s.
I'll keep the system up and running and do some more stability tests.
The only thing that's missing now is the transfer LED: the yellow link
LED is on,
but the green transfer LED is off and doesn't blink.
Thanks a lot for your great support.
Regards,
Gerd
Output:
[ 2.334588] r8169 Gigabit Ethernet driver 2.3LK-NAPI-patch3 loaded
[ 2.334639] r8169 0000:02:00.0: PCI INT A -> GSI 16 (level, low) ->
IRQ 16
[ 2.334689] r8169 0000:02:00.0: setting latency timer to 64
[ 2.334767] r8169 0000:02:00.0: irq 40 for MSI/MSI-X
[ 2.387618] r8169 0000:02:00.0: eth0: RTL8168c/8111c[21] at
0xf8224000, 00:01:c0:08:aa:31, XID 1c4000c0 IRQ 40
[ 2.387630] r8169 0000:02:00.0: eth0: jumbo features [frames: 6128
bytes, tx checksumming: ko]
[ 2.392954] r8169 Gigabit Ethernet driver 2.3LK-NAPI-patch3 loaded
[ 2.393015] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) ->
IRQ 17
[ 2.393082] r8169 0000:03:00.0: setting latency timer to 64
[ 2.393166] r8169 0000:03:00.0: irq 41 for MSI/MSI-X
[ 2.394707] r8169 0000:03:00.0: eth1: RTL8168c/8111c[21] at
0xf8238000, 00:01:c0:08:aa:32, XID 1c4000c0 IRQ 41
[ 2.394718] r8169 0000:03:00.0: eth1: jumbo features [frames: 6128
bytes, tx checksumming: ko]
[ 14.324097] r8169 0000:03:00.0: eth1: link down
[ 14.324555] ADDRCONF(NETDEV_UP): eth1: link is not ready
[ 14.419038] r8169 0000:02:00.0: eth0: link down
[ 14.419049] r8169 0000:02:00.0: eth0: link down
[ 14.419419] ADDRCONF(NETDEV_UP): eth0: link is not ready
[ 16.789915] r8169 0000:02:00.0: eth0: link up
[ 16.791046] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
driver: r8169
version: 2.3LK-NAPI-patch3
firmware-version: N/A
bus-info: 0000:02:00.0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Advertised pause frame use: Symmetric Receive-only
Advertised auto-negotiation: Yes
Link partner advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: Symmetric
Link partner advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: yes
next prev parent reply other threads:[~2011-12-01 20:42 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4E7F4D45.7040902@wolke7.net>
[not found] ` <1316978632.4122.103.camel@deadeye>
[not found] ` <4E82C0B5.1050902@wolke7.net>
[not found] ` <1317254171.4068.12.camel@deadeye>
[not found] ` <20111124044137.GA18262@elie.hsd1.il.comcast.net>
[not found] ` <4ECFE7A7.5070300@wolke7.net>
2011-11-25 20:19 ` Jonathan Nieder
2011-11-25 20:31 ` Jonathan Nieder
2011-11-25 20:32 ` Eric Dumazet
2011-11-25 20:54 ` Jonathan Nieder
2011-11-25 21:05 ` Eric Dumazet
2011-11-25 22:22 ` Francois Romieu
2011-11-25 23:05 ` Eric Dumazet
2011-11-26 0:44 ` Francois Romieu
2011-11-26 4:07 ` Eric Dumazet
2011-11-27 9:28 ` Jonathan Nieder
2011-11-27 21:02 ` booster
2011-11-27 23:11 ` Francois Romieu
2011-11-29 6:47 ` hayeswang
2011-11-29 10:54 ` Francois Romieu
2011-11-29 19:56 ` booster
2011-12-01 10:20 ` Francois Romieu
2011-12-01 20:42 ` booster [this message]
2011-12-01 22:26 ` Francois Romieu
2011-12-05 6:30 ` [PATCH 1/2] r8169: Rx FIFO overflow fixes Francois Romieu
2011-12-05 23:45 ` David Miller
2012-02-20 2:37 ` Jonathan Nieder
2012-02-20 23:22 ` Francois Romieu
2011-12-05 6:30 ` [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler Francois Romieu
2011-12-05 23:45 ` David Miller
2011-12-02 2:21 ` [bug?] r8169: hangs under heavy load hayeswang
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=4ED7E6AB.6050308@wolke7.net \
--to=booster@wolke7.net \
--cc=armin.kazmi@tu-dortmund.de \
--cc=eric.dumazet@gmail.com \
--cc=hayeswang@realtek.com \
--cc=jrnieder@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=nic_swsd@realtek.com \
--cc=romieu@fr.zoreil.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
Powered by JetHome