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: 26+ 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 ` [bug?] r8169: hangs under heavy load 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
2011-11-29 19:09 Lucas Stach
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 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.