All of lore.kernel.org
 help / color / mirror / Atom feed
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


  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.