All of lore.kernel.org
 help / color / mirror / Atom feed
* [bug?] r8169: hangs under heavy load
       [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
  0 siblings, 2 replies; 26+ messages in thread
From: Jonathan Nieder @ 2011-11-25 20:19 UTC (permalink / raw)
  To: netdev; +Cc: nic_swsd, Francois Romieu, linux-kernel, Armin Kazmi, Gerd

Hi,

Gerd writes[1]:

> Today I installed the 3.1 kernel and did some testing by copying files
> with samba.
[...]
> Now the CPU hangs during the interrupts:
[...]
> r8169 0000:02:00.0: eth0: link up
> ------------[ cut here ]------------
> WARNING: at [...]/net/core/dev.c:3827 net_rx_action+0xda/0x17e()
>
> Hardware name: CM-iAM/SBC-FITPC2i
> Modules linked in: cpufreq_userspace cpufreq_conservative cpufreq_stats nfsd lockd nfs_acl auth_rpcgss sunrpc speedstep_lib cpufreq_powersave fuse ext2 coretemp acpi_cpufreq mperf loop arc4 snd_hda_codec_realtek rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 psb_gfx(C) snd_hda_intel cfg80211 snd_hda_codec drm_kms_helper i2c_isch drm snd_hwdep rfkill tpm_tis tpm tpm_bios lpc_sch mfd_core evdev snd_pcm snd_seq snd_timer snd_seq_device battery processor button psmouse snd pcspkr serio_raw ac i2c_algo_bit power_supply i2c_core soundcore snd_page_alloc video usbhid ext4 hid mbcache jbd2 crc16 sd_mod crc_t10dif ata_generic uhci_hcd pata_sch libata ehci_hcd scsi_mod usbcore sdhci_pci sdhci r8169 mii thermal thermal_sys mmc_core [last unloaded: scsi_wait_scan]
> Pid: 0, comm: swapper Tainted: G         C  3.1.0-1-686-pae #1
> Call Trace:
>  [<c1037698>] ? warn_slowpath_common+0x68/0x79
>  [<c120d061>] ? net_rx_action+0xda/0x17e
>  [<c10376b6>] ? warn_slowpath_null+0xd/0x10
>  [<c120d061>] ? net_rx_action+0xda/0x17e
>  [<c103c05d>] ? local_bh_enable+0x2/0x2
>  [<c103c0f1>] ? __do_softirq+0x94/0x12f
>  [<c103c05d>] ? local_bh_enable+0x2/0x2
>  <IRQ>  [<c103c2e2>] ? irq_exit+0x32/0x80
>  [<c100ca6e>] ? do_IRQ+0x65/0x76
>  [<c12b2a30>] ? common_interrupt+0x30/0x38
>  [<c103007b>] ? sched_debug_show+0x165/0xb17
>  [<c118519b>] ? intel_idle+0xb9/0xde
>  [<c11f54d2>] ? cpuidle_idle_call+0xcd/0x140
>  [<c100aef1>] ? cpu_idle+0x86/0xaa
>  [<c143e708>] ? start_kernel+0x32a/0x32f
>  ---[ end trace 6d03368d0e01d4ae ]---
>  r8169 0000:02:00.0: eth0: link up
>  r8169 0000:02:00.0: eth0: link up
>  r8169 0000:02:00.0: eth0: link up
>  r8169 0000:02:00.0: eth0: link up
[...]
> If you need any more information or log files please send me a mail.

This is

			work = n->poll(n, weight);
[...]
		WARN_ON_ONCE(work > weight);

>From the same log:

> [    1.478652] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> [    1.478722] r8169 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> [    1.478779] r8169 0000:02:00.0: setting latency timer to 64
> [    1.478850] r8169 0000:02:00.0: irq 40 for MSI/MSI-X
[...]
> [    1.509507] r8169 0000:02:00.0: eth0: RTL8168c/8111c at 0xf82c2000, 00:01:c0:08:aa:31, XID 1c4000c0 IRQ 40
> [    1.509569] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> [    1.509633] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> [    1.509691] r8169 0000:03:00.0: setting latency timer to 64
> [    1.509765] r8169 0000:03:00.0: irq 41 for MSI/MSI-X
> [    1.511188] r8169 0000:03:00.0: eth1: RTL8168c/8111c at 0xf82d0000, 00:01:c0:08:aa:32, XID 1c4000c0 IRQ 41

>From another log, using a kernel without pae support:

> [  844.056012] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
[...]
> [  872.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
[...]
> [  900.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]

Gerd previously was getting transmit queue timeouts with a v2.6.32-based
kernel; with Debian's 3.1.1-1 kernel, the system hangs instead.  See [1]
for the details, including full logs.

Thanks for keeping the r8169 driver well maintained.  Any ideas for
tracking this down?

Looking forward to your thoughts,
Jonathan

[1] http://bugs.debian.org/642911
http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=34;filename=dmesg_20111125_kernel_3.1-pae.txt;att=2;bug=642911

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  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
  1 sibling, 0 replies; 26+ messages in thread
From: Jonathan Nieder @ 2011-11-25 20:31 UTC (permalink / raw)
  To: netdev; +Cc: nic_swsd, Francois Romieu, linux-kernel, Armin Kazmi, Gerd

Jonathan Nieder wrote:

> From another log, using a kernel without pae support:
>
>> [  844.056012] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
> [...]
>> [  872.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
> [...]
>> [  900.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]

What I meant is a kernel without SMP support (it lacks PAE, too, but
that's less relevant).  Description:

 http://packages.debian.org/sid/linux-image-3.1.0-1-486

.configs for the two kernels mentioned:

 http://alioth.debian.org/~jrnieder-guest/temp/config-3.1.0-1-686-pae
 http://alioth.debian.org/~jrnieder-guest/temp/config-3.1.0-1-486

Sorry for the lack of clarity.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  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 22:22               ` Francois Romieu
  1 sibling, 2 replies; 26+ messages in thread
From: Eric Dumazet @ 2011-11-25 20:32 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: netdev, nic_swsd, Francois Romieu, linux-kernel, Armin Kazmi, Gerd

Le vendredi 25 novembre 2011 à 14:19 -0600, Jonathan Nieder a écrit :
> Hi,
> 
> Gerd writes[1]:
> 
> > Today I installed the 3.1 kernel and did some testing by copying files
> > with samba.
> [...]
> > Now the CPU hangs during the interrupts:
> [...]
> > r8169 0000:02:00.0: eth0: link up
> > ------------[ cut here ]------------
> > WARNING: at [...]/net/core/dev.c:3827 net_rx_action+0xda/0x17e()
> >
> > Hardware name: CM-iAM/SBC-FITPC2i
> > Modules linked in: cpufreq_userspace cpufreq_conservative cpufreq_stats nfsd lockd nfs_acl auth_rpcgss sunrpc speedstep_lib cpufreq_powersave fuse ext2 coretemp acpi_cpufreq mperf loop arc4 snd_hda_codec_realtek rt2800usb rt2800lib crc_ccitt rt2x00usb rt2x00lib mac80211 psb_gfx(C) snd_hda_intel cfg80211 snd_hda_codec drm_kms_helper i2c_isch drm snd_hwdep rfkill tpm_tis tpm tpm_bios lpc_sch mfd_core evdev snd_pcm snd_seq snd_timer snd_seq_device battery processor button psmouse snd pcspkr serio_raw ac i2c_algo_bit power_supply i2c_core soundcore snd_page_alloc video usbhid ext4 hid mbcache jbd2 crc16 sd_mod crc_t10dif ata_generic uhci_hcd pata_sch libata ehci_hcd scsi_mod usbcore sdhci_pci sdhci r8169 mii thermal thermal_sys mmc_core [last unloaded: scsi_wait_scan]
> > Pid: 0, comm: swapper Tainted: G         C  3.1.0-1-686-pae #1
> > Call Trace:
> >  [<c1037698>] ? warn_slowpath_common+0x68/0x79
> >  [<c120d061>] ? net_rx_action+0xda/0x17e
> >  [<c10376b6>] ? warn_slowpath_null+0xd/0x10
> >  [<c120d061>] ? net_rx_action+0xda/0x17e
> >  [<c103c05d>] ? local_bh_enable+0x2/0x2
> >  [<c103c0f1>] ? __do_softirq+0x94/0x12f
> >  [<c103c05d>] ? local_bh_enable+0x2/0x2
> >  <IRQ>  [<c103c2e2>] ? irq_exit+0x32/0x80
> >  [<c100ca6e>] ? do_IRQ+0x65/0x76
> >  [<c12b2a30>] ? common_interrupt+0x30/0x38
> >  [<c103007b>] ? sched_debug_show+0x165/0xb17
> >  [<c118519b>] ? intel_idle+0xb9/0xde
> >  [<c11f54d2>] ? cpuidle_idle_call+0xcd/0x140
> >  [<c100aef1>] ? cpu_idle+0x86/0xaa
> >  [<c143e708>] ? start_kernel+0x32a/0x32f
> >  ---[ end trace 6d03368d0e01d4ae ]---
> >  r8169 0000:02:00.0: eth0: link up
> >  r8169 0000:02:00.0: eth0: link up
> >  r8169 0000:02:00.0: eth0: link up
> >  r8169 0000:02:00.0: eth0: link up
> [...]
> > If you need any more information or log files please send me a mail.
> 
> This is
> 
> 			work = n->poll(n, weight);
> [...]
> 		WARN_ON_ONCE(work > weight);
> 
> From the same log:
> 
> > [    1.478652] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> > [    1.478722] r8169 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
> > [    1.478779] r8169 0000:02:00.0: setting latency timer to 64
> > [    1.478850] r8169 0000:02:00.0: irq 40 for MSI/MSI-X
> [...]
> > [    1.509507] r8169 0000:02:00.0: eth0: RTL8168c/8111c at 0xf82c2000, 00:01:c0:08:aa:31, XID 1c4000c0 IRQ 40
> > [    1.509569] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
> > [    1.509633] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
> > [    1.509691] r8169 0000:03:00.0: setting latency timer to 64
> > [    1.509765] r8169 0000:03:00.0: irq 41 for MSI/MSI-X
> > [    1.511188] r8169 0000:03:00.0: eth1: RTL8168c/8111c at 0xf82d0000, 00:01:c0:08:aa:32, XID 1c4000c0 IRQ 41
> 
> From another log, using a kernel without pae support:
> 
> > [  844.056012] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
> [...]
> > [  872.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
> [...]
> > [  900.056011] BUG: soft lockup - CPU#0 stuck for 23s! [smbd:2770]
> 
> Gerd previously was getting transmit queue timeouts with a v2.6.32-based
> kernel; with Debian's 3.1.1-1 kernel, the system hangs instead.  See [1]
> for the details, including full logs.
> 
> Thanks for keeping the r8169 driver well maintained.  Any ideas for
> tracking this down?
> 
> Looking forward to your thoughts,
> Jonathan
> 
> [1] http://bugs.debian.org/642911
> http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=34;filename=dmesg_20111125_kernel_3.1-pae.txt;att=2;bug=642911

rtl8169_rx_interrupt(..., budget) can return budget + 1 sometimes
because of :

                /* Work around for AMD plateform. */
                if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
                    (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
                        desc->opts2 = 0;
                        cur_rx++;
                }


Sorry, I wont patch this today, its black Friday, and David said to
patch submitters :

"stick to turkey and wine you're better at it" 

:)




^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  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
  1 sibling, 1 reply; 26+ messages in thread
From: Jonathan Nieder @ 2011-11-25 20:54 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: netdev, nic_swsd, Francois Romieu, linux-kernel, Armin Kazmi, Gerd

Eric Dumazet wrote:

> rtl8169_rx_interrupt(..., budget) can return budget + 1 sometimes
> because of :
>
>                 /* Work around for AMD plateform. */
>                 if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
>                     (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
>                         desc->opts2 = 0;
>                         cur_rx++;
>                 }
>
> Sorry, I wont patch this today, its black Friday, and David said to
> patch submitters :
>
> "stick to turkey and wine you're better at it" 

:)  Sensible enough.  Thanks for the quick response!

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-25 20:54               ` Jonathan Nieder
@ 2011-11-25 21:05                 ` Eric Dumazet
  0 siblings, 0 replies; 26+ messages in thread
From: Eric Dumazet @ 2011-11-25 21:05 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: netdev, nic_swsd, Francois Romieu, linux-kernel, Armin Kazmi, Gerd

Le vendredi 25 novembre 2011 à 14:54 -0600, Jonathan Nieder a écrit :
> Eric Dumazet wrote:
> 
> > rtl8169_rx_interrupt(..., budget) can return budget + 1 sometimes
> > because of :
> >
> >                 /* Work around for AMD plateform. */
> >                 if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
> >                     (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
> >                         desc->opts2 = 0;
> >                         cur_rx++;
> >                 }
> >
> > Sorry, I wont patch this today, its black Friday, and David said to
> > patch submitters :
> >
> > "stick to turkey and wine you're better at it" 
> 
> :)  Sensible enough.  Thanks for the quick response!

;)

You could try this non official patch, if you are in a hurry ;)

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..b8a537f 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -5710,6 +5710,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
 {
 	unsigned int cur_rx, rx_left;
 	unsigned int count;
+	unsigned int workaround = 0;
 
 	cur_rx = tp->cur_rx;
 	rx_left = NUM_RX_DESC + tp->dirty_rx - cur_rx;
@@ -5780,6 +5781,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
 		    (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
 			desc->opts2 = 0;
 			cur_rx++;
+			workaround++;
 		}
 	}
 
@@ -5788,7 +5790,7 @@ static int rtl8169_rx_interrupt(struct net_device *dev,
 
 	tp->dirty_rx += count;
 
-	return count;
+	return count - workaround;
 }
 
 static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)



^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-25 20:32             ` Eric Dumazet
  2011-11-25 20:54               ` Jonathan Nieder
@ 2011-11-25 22:22               ` Francois Romieu
  2011-11-25 23:05                 ` Eric Dumazet
  1 sibling, 1 reply; 26+ messages in thread
From: Francois Romieu @ 2011-11-25 22:22 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Jonathan Nieder, netdev, nic_swsd, linux-kernel, Armin Kazmi, Gerd

Eric Dumazet <eric.dumazet@gmail.com> :
[...]
> rtl8169_rx_interrupt(..., budget) can return budget + 1 sometimes
> because of :
> 
>                 /* Work around for AMD plateform. */
>                 if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
>                     (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
>                         desc->opts2 = 0;
>                         cur_rx++;
>                 }

It needs fixing but RTL_GIGA_MAC_VER_05 is an old PCI 8169sc while
debian's bug #642911 is about a 8168c (aka RTL_GIGA_MAC_VER_{19 .. 22}).

This path is not used.

-- 
Ueimor

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-25 22:22               ` Francois Romieu
@ 2011-11-25 23:05                 ` Eric Dumazet
  2011-11-26  0:44                   ` Francois Romieu
  0 siblings, 1 reply; 26+ messages in thread
From: Eric Dumazet @ 2011-11-25 23:05 UTC (permalink / raw)
  To: Francois Romieu
  Cc: Jonathan Nieder, netdev, nic_swsd, linux-kernel, Armin Kazmi, Gerd

Le vendredi 25 novembre 2011 à 23:22 +0100, Francois Romieu a écrit :
> Eric Dumazet <eric.dumazet@gmail.com> :
> [...]
> > rtl8169_rx_interrupt(..., budget) can return budget + 1 sometimes
> > because of :
> > 
> >                 /* Work around for AMD plateform. */
> >                 if ((desc->opts2 & cpu_to_le32(0xfffe000)) &&
> >                     (tp->mac_version == RTL_GIGA_MAC_VER_05)) {
> >                         desc->opts2 = 0;
> >                         cur_rx++;
> >                 }
> 
> It needs fixing but RTL_GIGA_MAC_VER_05 is an old PCI 8169sc while
> debian's bug #642911 is about a 8168c (aka RTL_GIGA_MAC_VER_{19 .. 22}).
> 
> This path is not used.
> 

OK, then we receive a RxFIFOOver indication while napi handler is
running (quite possible if machine under network load)

This (hard) interrupt calls rtl8169_tx_timeout()
	-> rtl8169_hw_reset()
		-> rtl_hw_reset()
			-> rtl8169_init_ring_indexes()

tp->dirty_tx = tp->dirty_rx = tp->cur_tx = tp->cur_rx = 0;

When control returns to softirq handler (rtl8169_rx_interrupt())
it can then catch tp->cur_rx being now 0 instead of value at start of
handler.

count = cur_rx - tp->cur_rx; // too big


Really, calling rtl8169_init_ring_indexes() from hardirq is killing us.




^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-25 23:05                 ` Eric Dumazet
@ 2011-11-26  0:44                   ` Francois Romieu
  2011-11-26  4:07                     ` Eric Dumazet
  0 siblings, 1 reply; 26+ messages in thread
From: Francois Romieu @ 2011-11-26  0:44 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Jonathan Nieder, netdev, nic_swsd, linux-kernel, Armin Kazmi, Gerd

Eric Dumazet <eric.dumazet@gmail.com> :
> Le vendredi 25 novembre 2011 ?? 23:22 +0100, Francois Romieu a ??crit :
[...]
> > This path is not used.
> 
> OK, then we receive a RxFIFOOver indication while napi handler is
> running (quite possible if machine under network load)

Welcome to the post 92fc43b4159b518f5baae57301f26d770b0834c9 world. :o/

The hack below could help (the XID matches RTL_GIGA_MAC_VER_22):

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..4fcfb3f 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -5818,7 +5818,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);
@@ -5835,6 +5834,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 			case RTL_GIGA_MAC_VER_31:
 			/* Experimental science. Pktgen proof. */
 			case RTL_GIGA_MAC_VER_12:
+			case RTL_GIGA_MAC_VER_22:
 			case RTL_GIGA_MAC_VER_25:
 				if (status == RxFIFOOver)
 					goto done;


Traffic may stop flowing though. The patch below should be better:

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..54be9e1 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -5820,8 +5820,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 			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);
+				rtl8169_schedule_work(dev, rtl8169_reset_task);
 				goto done;
 			/* Testers needed. */
 			case RTL_GIGA_MAC_VER_17:

-- 
Ueimor

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-26  0:44                   ` Francois Romieu
@ 2011-11-26  4:07                     ` Eric Dumazet
  2011-11-27  9:28                       ` Jonathan Nieder
  0 siblings, 1 reply; 26+ messages in thread
From: Eric Dumazet @ 2011-11-26  4:07 UTC (permalink / raw)
  To: Francois Romieu
  Cc: Jonathan Nieder, netdev, nic_swsd, linux-kernel, Armin Kazmi, Gerd

Le samedi 26 novembre 2011 à 01:44 +0100, Francois Romieu a écrit :
> Eric Dumazet <eric.dumazet@gmail.com> :
> > Le vendredi 25 novembre 2011 ?? 23:22 +0100, Francois Romieu a ??crit :
> [...]
> > > This path is not used.
> > 
> > OK, then we receive a RxFIFOOver indication while napi handler is
> > running (quite possible if machine under network load)
> 
> Welcome to the post 92fc43b4159b518f5baae57301f26d770b0834c9 world. :o/
> 
> The hack below could help (the XID matches RTL_GIGA_MAC_VER_22):
> 
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index 6f06aa1..4fcfb3f 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -5818,7 +5818,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);
> @@ -5835,6 +5834,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
>  			case RTL_GIGA_MAC_VER_31:
>  			/* Experimental science. Pktgen proof. */
>  			case RTL_GIGA_MAC_VER_12:
> +			case RTL_GIGA_MAC_VER_22:
>  			case RTL_GIGA_MAC_VER_25:
>  				if (status == RxFIFOOver)
>  					goto done;
> 
> 
> Traffic may stop flowing though. The patch below should be better:
> 

Yes, this is a workaround, and following _is_ the way to go...




> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index 6f06aa1..54be9e1 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -5820,8 +5820,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
>  			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);
> +				rtl8169_schedule_work(dev, rtl8169_reset_task);
>  				goto done;
>  			/* Testers needed. */
>  			case RTL_GIGA_MAC_VER_17:
> 

Please Jonathan, Gerd, try this fix !



^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-26  4:07                     ` Eric Dumazet
@ 2011-11-27  9:28                       ` Jonathan Nieder
  2011-11-27 21:02                         ` booster
  0 siblings, 1 reply; 26+ messages in thread
From: Jonathan Nieder @ 2011-11-27  9:28 UTC (permalink / raw)
  To: Eric Dumazet
  Cc: Francois Romieu, netdev, nic_swsd, linux-kernel, Armin Kazmi, Gerd

Eric Dumazet wrote:
> Le samedi 26 novembre 2011 à 01:44 +0100, Francois Romieu a écrit :

>> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
>> index 6f06aa1..54be9e1 100644
>> --- a/drivers/net/ethernet/realtek/r8169.c
>> +++ b/drivers/net/ethernet/realtek/r8169.c
>> @@ -5820,8 +5820,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
>>  			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);
>> +				rtl8169_schedule_work(dev, rtl8169_reset_task);
>>  				goto done;
>>  			/* Testers needed. */
>>  			case RTL_GIGA_MAC_VER_17:
>
> Please Jonathan, Gerd, try this fix !

Thanks, Eric.  Unfortunately I don't have the hardware.

Gerd, would you be able to try this patch?  It works like this:

  apt-get install git build-essential
  git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
  cd linux
  ... apply the fix, for example using "patch -p1" ...
  make localmodconfig; # minimal configuration
  make deb-pkg
  dpkg -i ../<name of package>
  reboot

Feel free to email me privately if you have any questions.

Regards,
Jonathan

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-27  9:28                       ` Jonathan Nieder
@ 2011-11-27 21:02                         ` booster
  2011-11-27 23:11                           ` Francois Romieu
  0 siblings, 1 reply; 26+ messages in thread
From: booster @ 2011-11-27 21:02 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: Eric Dumazet, Francois Romieu, netdev, nic_swsd, linux-kernel,
	Armin Kazmi

[-- Attachment #1: Type: text/plain, Size: 1769 bytes --]

Jonathan Nieder wrote:
> Eric Dumazet wrote:
>   
>> Le samedi 26 novembre 2011 à 01:44 +0100, Francois Romieu a écrit :
>>     
>
>   
>>> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
>>> index 6f06aa1..54be9e1 100644
>>> --- a/drivers/net/ethernet/realtek/r8169.c
>>> +++ b/drivers/net/ethernet/realtek/r8169.c
>>> @@ -5820,8 +5820,7 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
>>>  			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);
>>> +				rtl8169_schedule_work(dev, rtl8169_reset_task);
>>>  				goto done;
>>>  			/* Testers needed. */
>>>  			case RTL_GIGA_MAC_VER_17:
>>>       
>> Please Jonathan, Gerd, try this fix !
>>     
>
> Thanks, Eric.  Unfortunately I don't have the hardware.
>
> Gerd, would you be able to try this patch?  It works like this:
>
>   apt-get install git build-essential
>   git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>   cd linux
>   ... apply the fix, for example using "patch -p1" ...
>   make localmodconfig; # minimal configuration
>   make deb-pkg
>   dpkg -i ../<name of package>
>   reboot
>
> Feel free to email me privately if you have any questions.
>
> Regards,
> Jonathan
>
>   
Jonathan, I compiled a new kernel with the patch described above but the
behavior
is still the same. During high network load the link hangs:

[  195.332478] r8169 0000:02:00.0: eth0: link up
[  222.517171] r8169 0000:02:00.0: eth0: link up
[  222.908277] r8169 0000:02:00.0: eth0: link up
[  223.508249] r8169 0000:02:00.0: eth0: link up

Is there a way to activate more driver debugging in the kernel ?

Best Regards,
Gerd


[-- Attachment #2: dmesg_20111127_kernel_3.2_r8169-patch.txt --]
[-- Type: text/plain, Size: 49379 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-rc3+ (root@pokini) (gcc version 4.4.5 (Debian 4.4.5-8) ) #2 SMP Sun Nov 27 19:01:06 CET 2011
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 0000000000090000 (usable)
[    0.000000]  BIOS-e820: 0000000000090000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000d2000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007f6b0000 (usable)
[    0.000000]  BIOS-e820: 000000007f6b0000 - 000000007f6bc000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007f6bc000 - 000000007f6bf000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007f6bf000 - 0000000080000000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: CompuLab CM-iAM/SBC-FITPC2i/CM-iAM/SBC-FITPC2i, BIOS NAPA0001.86C.0000.D.1009141059 09/14/2010
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0x7f6b0 max_arch_pfn = 0x1000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-DFFFF uncachable
[    0.000000]   E0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask 080000000 write-back
[    0.000000]   1 base 07F700000 mask 0FFF00000 uncachable
[    0.000000]   2 base 07F800000 mask 0FF800000 uncachable
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] found SMP MP-table at [c00f8600] f8600
[    0.000000] initial memory mapped : 0 - 01a00000
[    0.000000] Base memory trampoline at [c008c000] 8c000 size 16384
[    0.000000] init_memory_mapping: 0000000000000000-00000000379fe000
[    0.000000]  0000000000 - 0000200000 page 4k
[    0.000000]  0000200000 - 0037800000 page 2M
[    0.000000]  0037800000 - 00379fe000 page 4k
[    0.000000] kernel direct mapping tables up to 379fe000 @ 19fa000-1a00000
[    0.000000] RAMDISK: 36355000 - 37ff0000
[    0.000000] Allocated new RAMDISK: 346ba000 - 3635473b
[    0.000000] Move RAMDISK from 0000000036355000 - 0000000037fef73a to 346ba000 - 3635473a
[    0.000000] ACPI: RSDP 000f85d0 00024 (v02 PTLTD )
[    0.000000] ACPI: XSDT 7f6b70db 00064 (v01 PTLTD  ? XSDT   06040000  LTP 00000000)
[    0.000000] ACPI: FACP 7f6bbdb0 000F4 (v03 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: DSDT 7f6b803a 03CF2 (v01 INTEL   POULSBO 06040000 INTL 20050624)
[    0.000000] ACPI: FACS 7f6befc0 00040
[    0.000000] ACPI: HPET 7f6bbea4 00038 (v01 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: MCFG 7f6bbedc 0003C (v01 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: TCPA 7f6bbf18 00032 (v01 PTLTD  CALISTGA 06040000  PTL 00000001)
[    0.000000] ACPI: TMOR 7f6bbf4a 00026 (v01 PTLTD           06040000 PTL  00000003)
[    0.000000] ACPI: APIC 7f6bbf70 00068 (v01 PTLTD  ? APIC   06040000  LTP 00000000)
[    0.000000] ACPI: BOOT 7f6bbfd8 00028 (v01 PTLTD  $SBFTBL$ 06040000  LTP 00000001)
[    0.000000] ACPI: SSDT 7f6b713f 004DC (v02  PmRef    CpuPm 00003000 INTL 20050624)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] 1148MB HIGHMEM available.
[    0.000000] 889MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 379fe000
[    0.000000]   low ram: 0 - 379fe000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x000379fe
[    0.000000]   HighMem  0x000379fe -> 0x0007f6b0
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000090
[    0.000000]     0: 0x00000100 -> 0x0007f6b0
[    0.000000] On node 0 totalpages: 521776
[    0.000000] free_area_init_node: node 0, pgdat c13fd980, node_mem_map f6a0d200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3936 pages, LIFO batch:0
[    0.000000]   Normal zone: 1748 pages used for memmap
[    0.000000]   Normal zone: 221994 pages, LIFO batch:31
[    0.000000]   HighMem zone: 2298 pages used for memmap
[    0.000000]   HighMem zone: 291768 pages, LIFO batch:31
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x1008
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 0000000000090000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000d2000
[    0.000000] PM: Registered nosave memory: 00000000000d2000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 80000000 (gap: 80000000:60000000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 14 pages/cpu @f6800000 s33088 r0 d24256 u1048576
[    0.000000] pcpu-alloc: s33088 r0 d24256 u1048576 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 517698
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.2.0-rc3+ root=UUID=c8369b5c-f8fa-42d3-a640-ed1feff58e85 ro quiet
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] allocated 8350208 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Initializing HighMem for node 0 (000379fe:0007f6b0)
[    0.000000] Memory: 2027204k/2087616k available (2852k kernel code, 59900k reserved, 1263k data, 432k init, 1176264k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffd36000 - 0xfffff000   (2852 kB)
[    0.000000]     pkmap   : 0xffa00000 - 0xffc00000   (2048 kB)
[    0.000000]     vmalloc : 0xf81fe000 - 0xff9fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf79fe000   ( 889 MB)
[    0.000000]       .init : 0xc1406000 - 0xc1472000   ( 432 kB)
[    0.000000]       .data : 0xc12c92ed - 0xc1405200   (1263 kB)
[    0.000000]       .text : 0xc1000000 - 0xc12c92ed   (2852 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:2304 nr_irqs:512 16
[    0.000000] CPU 0 irqstacks, hard=f6406000 soft=f6408000
[    0.000000] Extended CMOS year: 2000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 1995.184 MHz processor.
[    0.004004] Calibrating delay loop (skipped), value calculated using timer frequency.. 3990.36 BogoMIPS (lpj=7980736)
[    0.008010] pid_max: default: 32768 minimum: 301
[    0.008086] Security Framework initialized
[    0.008119] Mount-cache hash table entries: 512
[    0.008319] Initializing cgroup subsys cpuacct
[    0.008329] Initializing cgroup subsys memory
[    0.008343] Initializing cgroup subsys devices
[    0.008348] Initializing cgroup subsys freezer
[    0.008352] Initializing cgroup subsys net_cls
[    0.008357] Initializing cgroup subsys blkio
[    0.008407] CPU: Physical Processor ID: 0
[    0.008410] CPU: Processor Core ID: 0
[    0.008415] mce: CPU supports 5 MCE banks
[    0.008427] CPU0: Thermal monitoring enabled (TM1)
[    0.008434] using mwait in idle threads.
[    0.009491] ACPI: Core revision 20110623
[    0.016105] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.016470] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.058138] CPU0: Intel(R) Atom(TM) CPU Z550   @ 2.00GHz stepping 02
[    0.060003] Performance Events: PEBS fmt0+, Atom events, Intel PMU driver.
[    0.060003] ... version:                3
[    0.060003] ... bit width:              40
[    0.060003] ... generic registers:      2
[    0.060003] ... value mask:             000000ffffffffff
[    0.060003] ... max period:             000000007fffffff
[    0.060003] ... fixed-purpose events:   3
[    0.060003] ... event mask:             0000000700000003
[    0.060003] NMI watchdog enabled, takes one hw-pmu counter.
[    0.060003] CPU 1 irqstacks, hard=f64b4000 soft=f64b6000
[    0.060003] Booting Node   0, Processors  #1 Ok.
[    0.060003] smpboot cpu 1: start_ip = 8c000
[    0.008000] Initializing CPU#1
[    0.148065] NMI watchdog enabled, takes one hw-pmu counter.
[    0.148130] Brought up 2 CPUs
[    0.148137] Total of 2 processors activated (7980.28 BogoMIPS).
[    0.148606] devtmpfs: initialized
[    0.148606] PM: Registering ACPI NVS region at 7f6bc000 (12288 bytes)
[    0.148606] CompuLab SBC-FITPC2 series board detected. Selecting BIOS-method for reboots.
[    0.148606] print_constraints: dummy: 
[    0.148606] NET: Registered protocol family 16
[    0.148667] ACPI: bus type pci registered
[    0.148800] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    0.148807] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.148811] PCI: Using MMCONFIG for extended config space
[    0.148815] PCI: Using configuration type 1 for base access
[    0.149654] bio: create slab <bio-0> at 0
[    0.149654] ACPI: Added _OSI(Module Device)
[    0.149654] ACPI: Added _OSI(Processor Device)
[    0.149654] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.149654] ACPI: Added _OSI(Processor Aggregator Device)
[    0.152349] ACPI: EC: Look up EC in DSDT
[    0.154629] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.155246] ACPI: SSDT 7f6b7cdf 00287 (v02  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.155549] ACPI: Dynamic OEM Table Load:
[    0.155555] ACPI: SSDT   (null) 00287 (v02  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.155847] ACPI: SSDT 7f6b761b 0063F (v02  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.156133] ACPI: Dynamic OEM Table Load:
[    0.156139] ACPI: SSDT   (null) 0063F (v02  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.156580] ACPI: SSDT 7f6b7f66 000D4 (v02  PmRef  Cpu1Ist 00003000 INTL 20050624)
[    0.156865] ACPI: Dynamic OEM Table Load:
[    0.156871] ACPI: SSDT   (null) 000D4 (v02  PmRef  Cpu1Ist 00003000 INTL 20050624)
[    0.157040] ACPI: SSDT 7f6b7c5a 00085 (v02  PmRef  Cpu1Cst 00003000 INTL 20050624)
[    0.157308] ACPI: Dynamic OEM Table Load:
[    0.157314] ACPI: SSDT   (null) 00085 (v02  PmRef  Cpu1Cst 00003000 INTL 20050624)
[    0.356171] ACPI: Interpreter enabled
[    0.356196] ACPI: (supports S0 S3 S4 S5)
[    0.356276] ACPI: Using IOAPIC for interrupt routing
[    0.357561] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.364006] ACPI: EC: GPE = 0xd, I/O: command/status = 0x66, data = 0x62
[    0.364256] ACPI: No dock devices found.
[    0.364261] HEST: Table not found.
[    0.364269] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.364422] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.364718] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7]
[    0.364725] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff]
[    0.364731] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x000bffff]
[    0.364736] pci_root PNP0A08:00: host bridge window [mem 0x000c0000-0x000dffff]
[    0.364741] pci_root PNP0A08:00: host bridge window [mem 0x000e0000-0x000effff]
[    0.364747] pci_root PNP0A08:00: host bridge window [mem 0x000f0000-0x000fffff]
[    0.364752] pci_root PNP0A08:00: host bridge window [mem 0x7f800000-0xfebfffff]
[    0.364764] pci_root PNP0A08:00: ignoring host bridge window [mem 0x000c0000-0x000dffff] (conflicts with reserved [mem 0x000d2000-0x000fffff])
[    0.364787] pci 0000:00:00.0: [8086:8100] type 0 class 0x000600
[    0.364867] pci 0000:00:02.0: [8086:8108] type 0 class 0x000300
[    0.364890] pci 0000:00:02.0: reg 10: [mem 0xd8080000-0xd80fffff]
[    0.364902] pci 0000:00:02.0: reg 14: [io  0x1800-0x1807]
[    0.364914] pci 0000:00:02.0: reg 18: [mem 0xd0000000-0xd7ffffff]
[    0.364926] pci 0000:00:02.0: reg 1c: [mem 0xd8020000-0xd803ffff]
[    0.365024] pci 0000:00:1b.0: [8086:811b] type 0 class 0x000403
[    0.365044] pci 0000:00:1b.0: reg 10: [mem 0xd8010000-0xd8013fff 64bit]
[    0.365102] pci 0000:00:1b.0: PME# supported from D0 D3hot
[    0.365109] pci 0000:00:1b.0: PME# disabled
[    0.365137] pci 0000:00:1c.0: [8086:8110] type 1 class 0x000604
[    0.365193] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.365200] pci 0000:00:1c.0: PME# disabled
[    0.365229] pci 0000:00:1c.1: [8086:8112] type 1 class 0x000604
[    0.365286] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.365292] pci 0000:00:1c.1: PME# disabled
[    0.365323] pci 0000:00:1d.0: [8086:8114] type 0 class 0x000c03
[    0.365363] pci 0000:00:1d.0: reg 20: [io  0x1820-0x183f]
[    0.365398] pci 0000:00:1d.1: [8086:8115] type 0 class 0x000c03
[    0.365438] pci 0000:00:1d.1: reg 20: [io  0x1840-0x185f]
[    0.365475] pci 0000:00:1d.2: [8086:8116] type 0 class 0x000c03
[    0.365515] pci 0000:00:1d.2: reg 20: [io  0x1860-0x187f]
[    0.365566] pci 0000:00:1d.7: [8086:8117] type 0 class 0x000c03
[    0.365595] pci 0000:00:1d.7: reg 10: [mem 0xd8014000-0xd80143ff]
[    0.365696] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.365704] pci 0000:00:1d.7: PME# disabled
[    0.365729] pci 0000:00:1e.0: [8086:811c] type 0 class 0x000805
[    0.365745] pci 0000:00:1e.0: reg 10: [mem 0xd8014400-0xd80144ff]
[    0.365809] pci 0000:00:1e.1: [8086:811d] type 0 class 0x000805
[    0.365825] pci 0000:00:1e.1: reg 10: [mem 0xd8014800-0xd80148ff]
[    0.365890] pci 0000:00:1e.2: [8086:811e] type 0 class 0x000805
[    0.365906] pci 0000:00:1e.2: reg 10: [mem 0xd8014c00-0xd8014cff]
[    0.365977] pci 0000:00:1f.0: [8086:8119] type 0 class 0x000601
[    0.366051] pci 0000:00:1f.1: [8086:811a] type 0 class 0x000101
[    0.366093] pci 0000:00:1f.1: reg 20: [io  0x1810-0x181f]
[    0.366190] pci 0000:02:00.0: [10ec:8168] type 0 class 0x000200
[    0.366212] pci 0000:02:00.0: reg 10: [io  0x2000-0x20ff]
[    0.366246] pci 0000:02:00.0: reg 18: [mem 0xd8100000-0xd8100fff 64bit]
[    0.366269] pci 0000:02:00.0: reg 20: [mem 0xd8500000-0xd850ffff 64bit pref]
[    0.366286] pci 0000:02:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.366331] pci 0000:02:00.0: supports D1 D2
[    0.366336] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.366344] pci 0000:02:00.0: PME# disabled
[    0.372069] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    0.372086] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    0.372102] pci 0000:00:1c.0:   bridge window [mem 0xd8100000-0xd81fffff]
[    0.372118] pci 0000:00:1c.0:   bridge window [mem 0xd8500000-0xd85fffff pref]
[    0.372238] pci 0000:03:00.0: [10ec:8168] type 0 class 0x000200
[    0.372275] pci 0000:03:00.0: reg 10: [io  0x3000-0x30ff]
[    0.372333] pci 0000:03:00.0: reg 18: [mem 0xd8200000-0xd8200fff 64bit]
[    0.372357] pci 0000:03:00.0: reg 20: [mem 0xd8600000-0xd860ffff 64bit pref]
[    0.372374] pci 0000:03:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.372421] pci 0000:03:00.0: supports D1 D2
[    0.372425] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.372433] pci 0000:03:00.0: PME# disabled
[    0.380065] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    0.380081] pci 0000:00:1c.1:   bridge window [io  0x3000-0x3fff]
[    0.380097] pci 0000:00:1c.1:   bridge window [mem 0xd8200000-0xd82fffff]
[    0.380113] pci 0000:00:1c.1:   bridge window [mem 0xd8600000-0xd86fffff pref]
[    0.380142] pci_bus 0000:00: on NUMA node 0
[    0.380161] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.380480] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[    0.380575] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
[    0.380727]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.380734]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), returned control mask: 0x1d
[    0.380738] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.386789] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 *7 10 12 14 15)
[    0.386894] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 *4 5 6 7 11 12 14 15)
[    0.386993] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 *3 4 5 6 7 10 12 14 15)
[    0.387093] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 11 12 14 15)
[    0.387192] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *11
[    0.387294] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 *11 12 14 15)
[    0.387394] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 *10 12 14 15)
[    0.387493] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 11 12 14 15) *10
[    0.387705] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.387705] vgaarb: loaded
[    0.387705] vgaarb: bridge control possible 0000:00:02.0
[    0.387705] PCI: Using ACPI for IRQ routing
[    0.395043] PCI: pci_cache_line_size set to 64 bytes
[    0.395128] Expanded resource reserved due to conflict with PCI Bus 0000:00
[    0.395135] reserve RAM buffer: 000000007f6b0000 - 000000007fffffff 
[    0.395364] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.395372] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.395381] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    0.400194] Switching to clocksource hpet
[    0.403100] pnp: PnP ACPI init
[    0.403146] ACPI: bus type pnp registered
[    0.403443] pnp 00:00: [bus 00-ff]
[    0.403450] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.403455] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.403460] pnp 00:00: [io  0x0d00-0xffff window]
[    0.403465] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.403470] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    0.403475] pnp 00:00: [mem 0x000e0000-0x000effff window]
[    0.403480] pnp 00:00: [mem 0x000f0000-0x000fffff window]
[    0.403486] pnp 00:00: [mem 0x7f800000-0xfebfffff window]
[    0.403491] pnp 00:00: [mem 0xfed40000-0xfed44fff window]
[    0.403606] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.403682] pnp 00:01: [mem 0xfd000000-0xfd003fff]
[    0.403688] pnp 00:01: [mem 0xe0000000-0xefffffff]
[    0.403693] pnp 00:01: [mem 0xfed00000-0xfed3ffff]
[    0.403697] pnp 00:01: [mem 0xfed40000-0xfed44fff]
[    0.403702] pnp 00:01: [mem 0xfed45000-0xfed4bfff]
[    0.403805] system 00:01: [mem 0xfd000000-0xfd003fff] has been reserved
[    0.403812] system 00:01: [mem 0xe0000000-0xefffffff] has been reserved
[    0.403819] system 00:01: [mem 0xfed00000-0xfed3ffff] could not be reserved
[    0.403825] system 00:01: [mem 0xfed40000-0xfed44fff] has been reserved
[    0.403831] system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
[    0.403840] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.404185] pnp 00:02: [io  0x0000-0x001f]
[    0.404191] pnp 00:02: [io  0x0081-0x0091]
[    0.404196] pnp 00:02: [io  0x0093-0x009f]
[    0.404200] pnp 00:02: [io  0x00c0-0x00df]
[    0.404205] pnp 00:02: [dma 4]
[    0.404276] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.404298] pnp 00:03: [mem 0xff000000-0xffffffff]
[    0.404366] pnp 00:03: Plug and Play ACPI device, IDs INT0800 (active)
[    0.404432] pnp 00:04: [irq 0 disabled]
[    0.404453] pnp 00:04: [irq 8]
[    0.404458] pnp 00:04: [mem 0xfed00000-0xfed003ff]
[    0.404528] pnp 00:04: Plug and Play ACPI device, IDs PNP0103 (active)
[    0.404556] pnp 00:05: [io  0x00f0]
[    0.404566] pnp 00:05: [irq 13]
[    0.404635] pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.404661] pnp 00:06: [io  0x002e-0x002f]
[    0.404666] pnp 00:06: [io  0x004e-0x004f]
[    0.404670] pnp 00:06: [io  0x0061]
[    0.404674] pnp 00:06: [io  0x0063]
[    0.404678] pnp 00:06: [io  0x0065]
[    0.404683] pnp 00:06: [io  0x0067]
[    0.404690] pnp 00:06: [io  0x0070]
[    0.404694] pnp 00:06: [io  0x0080]
[    0.404698] pnp 00:06: [io  0x0092]
[    0.404702] pnp 00:06: [io  0x00b2-0x00b3]
[    0.404707] pnp 00:06: [io  0x0295-0x0296]
[    0.404711] pnp 00:06: [io  0x0680-0x069f]
[    0.404716] pnp 00:06: [io  0x8080]
[    0.404720] pnp 00:06: [io  0x1000-0x107f]
[    0.404724] pnp 00:06: [io  0x1180-0x11bf]
[    0.404729] pnp 00:06: [io  0x1640-0x164f]
[    0.404842] system 00:06: [io  0x0295-0x0296] has been reserved
[    0.404849] system 00:06: [io  0x0680-0x069f] has been reserved
[    0.404855] system 00:06: [io  0x8080] has been reserved
[    0.404860] system 00:06: [io  0x1000-0x107f] has been reserved
[    0.404866] system 00:06: [io  0x1180-0x11bf] has been reserved
[    0.404872] system 00:06: [io  0x1640-0x164f] has been reserved
[    0.404878] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.404930] pnp 00:07: [io  0x0070-0x0073]
[    0.405001] pnp 00:07: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.405167] pnp 00:08: [io  0x002e-0x002f]
[    0.405173] pnp 00:08: [io  0x0000-0xffffffffffffffff disabled]
[    0.405272] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.405752] pnp 00:09: [io  0x03f8-0x03ff]
[    0.405764] pnp 00:09: [irq 4]
[    0.406081] pnp 00:09: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.406107] pnp: PnP ACPI: found 10 devices
[    0.406111] ACPI: ACPI bus type pnp unregistered
[    0.406117] PnPBIOS: Disabled by ACPI PNP
[    0.445961] PCI: max bus depth: 1 pci_try_num: 2
[    0.445993] pci 0000:02:00.0: BAR 6: assigned [mem 0xd8520000-0xd853ffff pref]
[    0.445999] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    0.446005] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    0.446014] pci 0000:00:1c.0:   bridge window [mem 0xd8100000-0xd81fffff]
[    0.446021] pci 0000:00:1c.0:   bridge window [mem 0xd8500000-0xd85fffff pref]
[    0.446033] pci 0000:03:00.0: BAR 6: assigned [mem 0xd8620000-0xd863ffff pref]
[    0.446038] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    0.446044] pci 0000:00:1c.1:   bridge window [io  0x3000-0x3fff]
[    0.446052] pci 0000:00:1c.1:   bridge window [mem 0xd8200000-0xd82fffff]
[    0.446059] pci 0000:00:1c.1:   bridge window [mem 0xd8600000-0xd86fffff pref]
[    0.446098] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.446107] pci 0000:00:1c.0: setting latency timer to 64
[    0.446123] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[    0.446130] pci 0000:00:1c.1: setting latency timer to 64
[    0.446138] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.446143] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.446148] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.446154] pci_bus 0000:00: resource 7 [mem 0x000e0000-0x000effff]
[    0.446159] pci_bus 0000:00: resource 8 [mem 0x000f0000-0x000fffff]
[    0.446164] pci_bus 0000:00: resource 9 [mem 0x7f800000-0xfebfffff]
[    0.446170] pci_bus 0000:02: resource 0 [io  0x2000-0x2fff]
[    0.446175] pci_bus 0000:02: resource 1 [mem 0xd8100000-0xd81fffff]
[    0.446180] pci_bus 0000:02: resource 2 [mem 0xd8500000-0xd85fffff pref]
[    0.446186] pci_bus 0000:03: resource 0 [io  0x3000-0x3fff]
[    0.446191] pci_bus 0000:03: resource 1 [mem 0xd8200000-0xd82fffff]
[    0.446196] pci_bus 0000:03: resource 2 [mem 0xd8600000-0xd86fffff pref]
[    0.446319] NET: Registered protocol family 2
[    0.446444] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.446991] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.448124] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[    0.448711] TCP: Hash tables configured (established 131072 bind 65536)
[    0.448717] TCP reno registered
[    0.448725] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.448752] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.449048] NET: Registered protocol family 1
[    0.449091] pci 0000:00:02.0: Boot video device
[    0.449223] PCI: CLS 64 bytes, default 64
[    0.449348] Unpacking initramfs...
[    1.714523] Freeing initrd memory: 29292k freed
[    1.753077] Simple Boot Flag at 0x36 set to 0x1
[    1.753987] audit: initializing netlink socket (disabled)
[    1.754014] type=2000 audit(1322423781.748:1): initialized
[    1.780045] highmem bounce pool size: 64 pages
[    1.780056] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.790139] VFS: Disk quotas dquot_6.5.2
[    1.790202] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.790328] msgmni has been set to 1719
[    1.790631] alg: No test for stdrng (krng)
[    1.790697] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    1.790703] io scheduler noop registered
[    1.790707] io scheduler deadline registered
[    1.790735] io scheduler cfq registered (default)
[    1.791187] intel_idle: MWAIT substates: 0x3020220
[    1.791199] intel_idle: v0.4 model 0x1C
[    1.791203] intel_idle: lapic_timer_reliable_states 0x2
[    1.791207] Marking TSC unstable due to TSC halts in idle states deeper than C2
[    1.791294] ERST: Table is not found!
[    1.791297] GHES: HEST is not enabled!
[    1.791325] isapnp: Scanning for PnP cards...
[    2.145446] isapnp: No Plug & Play device found
[    2.145596] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.166031] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.189014] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.204568] Linux agpgart interface v0.103
[    2.204979] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    2.207009] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.207023] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.207311] mousedev: PS/2 mouse device common for all mice
[    2.207398] rtc_cmos 00:07: RTC can wake from S4
[    2.207549] rtc_cmos 00:07: rtc core: registered rtc_cmos as rtc0
[    2.207578] rtc0: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    2.207782] cpuidle: using governor ladder
[    2.208114] cpuidle: using governor menu
[    2.208609] TCP cubic registered
[    2.208701] NET: Registered protocol family 10
[    2.209847] Mobile IPv6
[    2.209853] NET: Registered protocol family 17
[    2.209862] Registering the dns_resolver key type
[    2.209902] Using IPI No-Shortcut mode
[    2.210172] PM: Hibernation image not present or could not be loaded.
[    2.210192] registered taskstats version 1
[    2.215575] rtc_cmos 00:07: setting system clock to 2011-11-27 19:56:22 UTC (1322423782)
[    2.215682] Initializing network drop monitor service
[    2.215899] Freeing unused kernel memory: 432k freed
[    2.216352] Write protecting the kernel text: 2856k
[    2.216401] Write protecting the kernel read-only data: 1004k
[    2.216406] NX-protecting the kernel data: 3288k
[    2.245517] udev[49]: starting version 164
[    2.346372] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.346429] r8169 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.346483] r8169 0000:02:00.0: setting latency timer to 64
[    2.346565] r8169 0000:02:00.0: irq 40 for MSI/MSI-X
[    2.347948] r8169 0000:02:00.0: eth0: RTL8168c/8111c at 0xf88e6000, 00:01:c0:08:aa:31, XID 1c4000c0 IRQ 40
[    2.347959] r8169 0000:02:00.0: eth0: jumbo features [frames: 6128 bytes, tx checksumming: ko]
[    2.404141] r8169 Gigabit Ethernet driver 2.3LK-NAPI loaded
[    2.404204] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    2.404265] r8169 0000:03:00.0: setting latency timer to 64
[    2.404347] r8169 0000:03:00.0: irq 41 for MSI/MSI-X
[    2.405900] r8169 0000:03:00.0: eth1: RTL8168c/8111c at 0xf88e8000, 00:01:c0:08:aa:32, XID 1c4000c0 IRQ 41
[    2.405910] r8169 0000:03:00.0: eth1: jumbo features [frames: 6128 bytes, tx checksumming: ko]
[    2.412502] thermal LNXTHERM:00: registered as thermal_zone0
[    2.412510] ACPI: Thermal Zone [TZ00] (0 C)
[    2.419683] ACPI: Invalid active0 threshold
[    2.444094] sdhci: Secure Digital Host Controller Interface driver
[    2.444101] sdhci: Copyright(c) Pierre Ossman
[    2.445501] sdhci-pci 0000:00:1e.0: SDHCI controller found [8086:811c] (rev 7)
[    2.445559] sdhci-pci 0000:00:1e.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    2.445619] sdhci-pci 0000:00:1e.0: setting latency timer to 64
[    2.445667] mmc0: no vmmc regulator found
[    2.445747] Registered led device: mmc0::
[    2.446838] mmc0: SDHCI controller on PCI [0000:00:1e.0] using DMA
[    2.458064] thermal LNXTHERM:01: registered as thermal_zone1
[    2.458072] ACPI: Thermal Zone [TZ01] (0 C)
[    2.459809] sdhci-pci 0000:00:1e.1: SDHCI controller found [8086:811d] (rev 7)
[    2.459865] sdhci-pci 0000:00:1e.1: PCI INT B -> GSI 20 (level, low) -> IRQ 20
[    2.459926] sdhci-pci 0000:00:1e.1: setting latency timer to 64
[    2.459970] mmc1: no vmmc regulator found
[    2.460104] Registered led device: mmc1::
[    2.461206] mmc1: SDHCI controller on PCI [0000:00:1e.1] using DMA
[    2.461246] sdhci-pci 0000:00:1e.2: SDHCI controller found [8086:811e] (rev 7)
[    2.461297] sdhci-pci 0000:00:1e.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.461353] sdhci-pci 0000:00:1e.2: setting latency timer to 64
[    2.461395] mmc2: no vmmc regulator found
[    2.461489] Registered led device: mmc2::
[    2.462583] mmc2: SDHCI controller on PCI [0000:00:1e.2] using DMA
[    2.466189] SCSI subsystem initialized
[    2.472261] usbcore: registered new interface driver usbfs
[    2.472328] usbcore: registered new interface driver hub
[    2.479643] usbcore: registered new device driver usb
[    2.481601] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.481680] ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 21 (level, low) -> IRQ 21
[    2.481722] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    2.481730] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    2.481795] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    2.481853] ehci_hcd 0000:00:1d.7: debug port 1
[    2.485755] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[    2.485806] ehci_hcd 0000:00:1d.7: irq 21, io mem 0xd8014000
[    2.491726] libata version 3.00 loaded.
[    2.500053] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.500117] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.500125] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.500131] usb usb1: Product: EHCI Host Controller
[    2.500136] usb usb1: Manufacturer: Linux 3.2.0-rc3+ ehci_hcd
[    2.500142] usb usb1: SerialNumber: 0000:00:1d.7
[    2.500431] hub 1-0:1.0: USB hub found
[    2.500443] hub 1-0:1.0: 8 ports detected
[    2.501625] pata_sch 0000:00:1f.1: version 0.2
[    2.501742] pata_sch 0000:00:1f.1: setting latency timer to 64
[    2.508380] scsi0 : pata_sch
[    2.513091] scsi1 : pata_sch
[    2.513876] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x1810 irq 14
[    2.513885] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x1818 irq 15
[    2.595430] uhci_hcd: USB Universal Host Controller Interface driver
[    2.595593] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    2.595618] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    2.595627] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.595661] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    2.595740] uhci_hcd 0000:00:1d.0: irq 23, io base 0x00001820
[    2.595841] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    2.595849] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.595856] usb usb2: Product: UHCI Host Controller
[    2.595862] usb usb2: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.595867] usb usb2: SerialNumber: 0000:00:1d.0
[    2.596217] hub 2-0:1.0: USB hub found
[    2.596232] hub 2-0:1.0: 2 ports detected
[    2.596416] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    2.596431] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    2.596437] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.596453] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    2.596504] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00001840
[    2.596575] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    2.596581] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.596586] usb usb3: Product: UHCI Host Controller
[    2.596590] usb usb3: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.596594] usb usb3: SerialNumber: 0000:00:1d.1
[    2.596873] hub 3-0:1.0: USB hub found
[    2.596886] hub 3-0:1.0: 2 ports detected
[    2.597047] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.597063] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    2.597069] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.597101] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    2.597141] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00001860
[    2.597236] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    2.597244] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.597250] usb usb4: Product: UHCI Host Controller
[    2.597256] usb usb4: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.597262] usb usb4: SerialNumber: 0000:00:1d.2
[    2.597734] hub 4-0:1.0: USB hub found
[    2.597748] hub 4-0:1.0: 2 ports detected
[    2.684881] ata1.00: ATA-8: Hitachi HTE545050B9A300, PB4OC64G, max UDMA/133
[    2.684890] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[    2.700578] ata1.00: configured for UDMA/100
[    2.700857] scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTE54505 PB4O PQ: 0 ANSI: 5
[    2.812275] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    2.880476] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.880621] sd 0:0:0:0: [sda] Write Protect is off
[    2.880629] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.880692] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.916358]  sda: sda1 sda2 sda3
[    2.917587] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.946582] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
[    2.946600] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    2.946613] usb 1-1: Product: USB2.0 Hub
[    2.947281] hub 1-1:1.0: USB hub found
[    2.947663] hub 1-1:1.0: 4 ports detected
[    3.060101] usb 1-2: new high-speed USB device number 3 using ehci_hcd
[    3.192717] usb 1-2: New USB device found, idVendor=0409, idProduct=005a
[    3.192734] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.193389] hub 1-2:1.0: USB hub found
[    3.193517] hub 1-2:1.0: 4 ports detected
[    3.304331] usb 1-7: new high-speed USB device number 4 using ehci_hcd
[    3.375681] PM: Starting manual resume from disk
[    3.375689] PM: Hibernation image partition 8:2 present
[    3.375692] PM: Looking for hibernation image.
[    3.376160] PM: Image not found (code -22)
[    3.376170] PM: Hibernation image not present or could not be loaded.
[    3.454523] usb 1-7: New USB device found, idVendor=148f, idProduct=3070
[    3.454543] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.454556] usb 1-7: Product: 802.11 n WLAN
[    3.454566] usb 1-7: Manufacturer: Ralink
[    3.454575] usb 1-7: SerialNumber: 1.0
[    3.509351] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    3.528567] usb 1-1.1: new high-speed USB device number 5 using ehci_hcd
[    3.622393] usb 1-1.1: New USB device found, idVendor=05e3, idProduct=0608
[    3.622412] usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.622426] usb 1-1.1: Product: USB2.0 Hub
[    3.623377] hub 1-1.1:1.0: USB hub found
[    3.623792] hub 1-1.1:1.0: 4 ports detected
[    3.712290] usb 1-2.4: new low-speed USB device number 6 using ehci_hcd
[    3.882487] usb 1-2.4: New USB device found, idVendor=0557, idProduct=2213
[    3.882507] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.882520] usb 1-2.4: Product: CS1784
[    3.882530] usb 1-2.4: Manufacturer: ATEN
[    3.960861] usb 1-1.1.1: new full-speed USB device number 7 using ehci_hcd
[    4.055075] usb 1-1.1.1: New USB device found, idVendor=03eb, idProduct=204b
[    4.055083] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.055088] usb 1-1.1.1: Product: CUL868
[    4.055092] usb 1-1.1.1: Manufacturer: busware.de
[    5.567419] udev[265]: starting version 164
[    6.316151] ACPI: AC Adapter [ADP1] (on-line)
[    6.317969] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[    6.317986] ACPI: Power Button [PWRB]
[    6.318209] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    6.318223] ACPI: Power Button [PWRF]
[    6.318237] ACPI Error: Could not enable PowerButton event (20110623/evxfevnt-199)
[    6.318249] ACPI Warning: Could not enable fixed event 0x2 (20110623/evxface-198)
[    6.319727] ACPI: Battery Slot [BAT0] (battery absent)
[    6.319788] ACPI: Battery Slot [BAT1] (battery absent)
[    6.319846] ACPI: Battery Slot [BAT2] (battery absent)
[    6.332538] button: probe of LNXPWRBN:00 failed with error -22
[    6.441803] input: PC Speaker as /devices/platform/pcspkr/input/input2
[    6.669416] cdc_acm 1-1.1.1:1.0: ttyACM0: USB ACM device
[    6.670298] usbcore: registered new interface driver cdc_acm
[    6.670316] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    7.534520] cfg80211: Calling CRDA to update world regulatory domain
[    7.940615] input: ATEN CS1784 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.4/1-2.4:1.0/input/input3
[    7.940941] generic-usb 0003:0557:2213.0001: input,hidraw0: USB HID v1.00 Keyboard [ATEN CS1784] on usb-0000:00:1d.7-2.4/input0
[    7.964653] input: ATEN CS1784 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.4/1-2.4:1.1/input/input4
[    7.965026] generic-usb 0003:0557:2213.0002: input,hidraw1: USB HID v1.00 Mouse [ATEN CS1784] on usb-0000:00:1d.7-2.4/input1
[    7.965103] usbcore: registered new interface driver usbhid
[    7.965108] usbhid: USB HID core driver
[    8.405162] [drm] Initialized drm 1.1.0 20060810
[    8.744615] psb_gfx: module is from the staging directory, the quality is unknown, you have been warned.
[    8.747175] gma500 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    8.747191] gma500 0000:00:02.0: setting latency timer to 64
[    8.747770] ioremap error for 0x7f6bc000-0x7f6bf000, requested 0x10, got 0x0
[    8.747957] Stolen memory information
[    8.747961]        base in RAM: 0x7f800000
[    8.747965]        size: 8060K, calculated by (GTT RAM base) - (Stolen base), seems wrong
[    8.747969]       the correct size should be: 8M(dvmt mode=3)
[    8.749932] Set up 2015 stolen pages starting at 0x7f800000, GTT offset 0K
[    8.750093] [drm] SGX core id = 0x01130000
[    8.750096] [drm] SGX core rev major = 0x01, minor = 0x02
[    8.750100] [drm] SGX core rev maintenance = 0x01, designer = 0x00
[    8.764563] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    8.836440] acpi device:05: registered as cooling_device2
[    8.888701] acpi device:06: registered as cooling_device3
[    8.889093] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input5
[    8.889364] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    8.889476] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    8.889486] [drm] No driver support for vblank timestamp query.
[    8.940066] usb 1-7: reset high-speed USB device number 4 using ehci_hcd
[    9.150269] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    9.152171] Registered led device: rt2800usb-phy0::radio
[    9.152244] Registered led device: rt2800usb-phy0::assoc
[    9.152312] Registered led device: rt2800usb-phy0::quality
[    9.152406] usbcore: registered new interface driver rt2800usb
[    9.741882] Raw EDID:
[    9.741941]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742000]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742057]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742115]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742173]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742231]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742288]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742346]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.742409] gma500 0000:00:02.0: LVDS-1: EDID block 0 invalid.
[   10.946997] Raw EDID:
[   10.947054]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947114]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947171]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947229]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947287]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947345]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947402]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947460]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.947541] gma500 0000:00:02.0: LVDS-1: EDID block 0 invalid.
[   10.994370] gma500 0000:00:02.0: allocated 1024x768 fb
[   10.994556] fbcon: psbfb (fb0) is primary device
[   11.407964] Console: switching to colour frame buffer device 128x48
[   11.415172] fb0: psbfb frame buffer device
[   11.415175] drm: registered panic notifier
[   11.415285] gma500 0000:00:02.0: Backlight lvds set brightness 7a120000
[   11.415296] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0
[   11.415792] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[   11.415875] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[   11.474836] hda_codec: ALC662 rev1: SKU not ready 0x411111f0
[   11.477176] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input6
[   11.481544] input: HDA Intel MID Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input7
[   12.000982] Adding 3906556k swap on /dev/sda2.  Priority:-1 extents:1 across:3906556k 
[   12.008583] EXT4-fs (sda3): re-mounted. Opts: (null)
[   12.293711] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
[   12.508716] loop: module loaded
[   15.120768] r8169 0000:03:00.0: eth1: link down
[   15.121325] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.130016] r8169 0000:02:00.0: eth0: link down
[   15.130027] r8169 0000:02:00.0: eth0: link down
[   15.130406] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   16.530174] fuse init (API version 7.17)
[   17.477795] r8169 0000:02:00.0: eth0: link up
[   17.478097] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[   22.297988] RPC: Registered named UNIX socket transport module.
[   22.297994] RPC: Registered udp transport module.
[   22.297998] RPC: Registered tcp transport module.
[   22.298001] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   24.309956] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   24.512443] svc: failed to register lockdv1 RPC service (errno 97).
[   24.512597] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   24.566716] NFSD: starting 90-second grace period
[   27.791749] sshd (1647): /proc/1647/oom_adj is deprecated, please use /proc/1647/oom_score_adj instead.
[  195.332478] r8169 0000:02:00.0: eth0: link up
[  222.517171] r8169 0000:02:00.0: eth0: link up
[  222.908277] r8169 0000:02:00.0: eth0: link up
[  223.508249] r8169 0000:02:00.0: eth0: link up
[  224.708218] r8169 0000:02:00.0: eth0: link up
[  240.916612] r8169 0000:02:00.0: eth0: link up
[  300.200502] r8169 0000:02:00.0: eth0: link up
[  300.700284] r8169 0000:02:00.0: eth0: link up
[  303.164434] r8169 0000:02:00.0: eth0: link up
[  303.740440] r8169 0000:02:00.0: eth0: link up
[  304.632404] r8169 0000:02:00.0: eth0: link up
[  305.944490] r8169 0000:02:00.0: eth0: link up
[  306.616258] r8169 0000:02:00.0: eth0: link up
[  362.136239] r8169 0000:02:00.0: eth0: link up
[  362.684447] r8169 0000:02:00.0: eth0: link up
[  363.476318] r8169 0000:02:00.0: eth0: link up
[  420.300491] r8169 0000:02:00.0: eth0: link up
[  437.028528] r8169 0000:02:00.0: eth0: link up
[  451.664500] r8169 0000:02:00.0: eth0: link up
[  451.932463] r8169 0000:02:00.0: eth0: link up
[  457.212365] r8169 0000:02:00.0: eth0: link up
[  470.988489] r8169 0000:02:00.0: eth0: link up
[  484.976486] r8169 0000:02:00.0: eth0: link up
[  486.016292] r8169 0000:02:00.0: eth0: link up
[  497.504551] r8169 0000:02:00.0: eth0: link up
[  497.992322] r8169 0000:02:00.0: eth0: link up
[  498.664298] r8169 0000:02:00.0: eth0: link up
[  501.920255] r8169 0000:02:00.0: eth0: link up
[  508.908477] r8169 0000:02:00.0: eth0: link up
[  521.988330] r8169 0000:02:00.0: eth0: link up
[  522.756259] r8169 0000:02:00.0: eth0: link up
[  531.456477] r8169 0000:02:00.0: eth0: link up
[  652.176455] r8169 0000:02:00.0: eth0: link up
[  718.040521] r8169 0000:02:00.0: eth0: link up
[  875.992484] r8169 0000:02:00.0: eth0: link up
[  942.352282] r8169 0000:02:00.0: eth0: link up
[ 1031.040778] r8169 0000:02:00.0: eth0: link up
[ 1135.784463] r8169 0000:02:00.0: eth0: link up
[ 1150.484477] r8169 0000:02:00.0: eth0: link up
[ 1361.020459] r8169 0000:02:00.0: eth0: link up
[ 1481.692487] r8169 0000:02:00.0: eth0: link up
[ 1541.272250] r8169 0000:02:00.0: eth0: link up
[ 1562.108481] r8169 0000:02:00.0: eth0: link up
[ 1645.460428] r8169 0000:02:00.0: eth0: link up
[ 1661.592378] r8169 0000:02:00.0: eth0: link up
[ 1823.944476] r8169 0000:02:00.0: eth0: link up
[ 1881.464267] gma500 0000:00:02.0: Backlight lvds set brightness 7a120000
[ 1901.048303] r8169 0000:02:00.0: eth0: link up
[ 1980.808478] r8169 0000:02:00.0: eth0: link up
[ 2078.856296] r8169 0000:02:00.0: eth0: link up
[ 2132.632461] r8169 0000:02:00.0: eth0: link up
[ 2200.984271] r8169 0000:02:00.0: eth0: link up
[ 2201.712227] r8169 0000:02:00.0: eth0: link up
[ 2205.276325] r8169 0000:02:00.0: eth0: link up
[ 2276.360474] r8169 0000:02:00.0: eth0: link up
[ 2394.556474] r8169 0000:02:00.0: eth0: link up
[ 2422.028427] r8169 0000:02:00.0: eth0: link up
[ 2464.940500] r8169 0000:02:00.0: eth0: link up
[ 2501.400381] r8169 0000:02:00.0: eth0: link up
[ 2521.232480] r8169 0000:02:00.0: eth0: link up
[ 2565.252350] r8169 0000:02:00.0: eth0: link up
[ 2599.284824] r8169 0000:02:00.0: eth0: link up
[ 2599.708471] r8169 0000:02:00.0: eth0: link up
[ 2621.932263] r8169 0000:02:00.0: eth0: link up
[ 2721.624478] r8169 0000:02:00.0: eth0: link up
[ 2769.552288] r8169 0000:02:00.0: eth0: link up
[ 2802.824283] r8169 0000:02:00.0: eth0: link up
[ 2822.608469] r8169 0000:02:00.0: eth0: link up
[ 2906.100478] r8169 0000:02:00.0: eth0: link up
[ 2925.620462] r8169 0000:02:00.0: eth0: link up
[ 2993.540350] r8169 0000:02:00.0: eth0: link up
[ 2993.888478] r8169 0000:02:00.0: eth0: link up
[ 3037.112750] r8169 0000:02:00.0: eth0: link up
[ 3126.940478] r8169 0000:02:00.0: eth0: link up
[ 3161.164394] r8169 0000:02:00.0: eth0: link up
[ 3185.000448] r8169 0000:02:00.0: eth0: link up
[ 3210.828534] r8169 0000:02:00.0: eth0: link up
[ 3341.756425] r8169 0000:02:00.0: eth0: link up
[ 3390.532460] r8169 0000:02:00.0: eth0: link up
[ 3461.452439] r8169 0000:02:00.0: eth0: link up
[ 3461.844237] r8169 0000:02:00.0: eth0: link up
[ 3520.404485] r8169 0000:02:00.0: eth0: link up

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-27 21:02                         ` booster
@ 2011-11-27 23:11                           ` Francois Romieu
  2011-11-29  6:47                             ` hayeswang
  0 siblings, 1 reply; 26+ messages in thread
From: Francois Romieu @ 2011-11-27 23:11 UTC (permalink / raw)
  To: booster
  Cc: Jonathan Nieder, Eric Dumazet, netdev, nic_swsd, linux-kernel,
	Armin Kazmi, Hayes Wang

booster@wolke7.net <booster@wolke7.net> :
[...]
> Jonathan, I compiled a new kernel with the patch described above but the
> behavior is still the same. During high network load the link hangs:
> 
> [  195.332478] r8169 0000:02:00.0: eth0: link up
> [  222.517171] r8169 0000:02:00.0: eth0: link up
> [  222.908277] r8169 0000:02:00.0: eth0: link up
> [  223.508249] r8169 0000:02:00.0: eth0: link up

It does recover, doesn't it ?

> Is there a way to activate more driver debugging in the kernel ?

You can lower the delay in rtl8169_schedule_work (4) but it is akin
to papering over the issue.

You may try the stuff below in place of the current patch. I will not
be surprized if the link really hangs (no crash but no traffic).

Hayes, does the 8168c require something special to recover from Rx FIFO
overflow ?

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..e937737 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -427,6 +427,7 @@ enum rtl_register_content {
 	/* InterruptStatusBits */
 	SYSErr		= 0x8000,
 	PCSTimeout	= 0x4000,
+	RxFIFOEmpty	= 0x0200,
 	SWInt		= 0x0100,
 	TxDescUnavail	= 0x0080,
 	RxFIFOOver	= 0x0040,
@@ -5815,15 +5816,27 @@ static irqreturn_t rtl8169_interrupt(int irq, void *dev_instance)
 		}
 
 		if (unlikely(status & RxFIFOOver)) {
+			int i;
+
 			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);
 				goto done;
 			/* Testers needed. */
+			case RTL_GIGA_MAC_VER_22:
+				for (i = 0; i < 4000000; i++) {
+					if (RTL_R16(IntrStatus) & RxFIFOEmpty) {
+						RTL_W16(IntrStatus, RxFIFOOver);
+						printk(KERN_INFO "FEmp %d\n", i);
+						break;
+					}
+					udelay(10);
+				}
+				if (i >= 4000000)
+					printk(KERN_ERR "no FEmp\n");
 			case RTL_GIGA_MAC_VER_17:
 			case RTL_GIGA_MAC_VER_19:
 			case RTL_GIGA_MAC_VER_20:

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* RE: [bug?] r8169: hangs under heavy load
  2011-11-27 23:11                           ` Francois Romieu
@ 2011-11-29  6:47                             ` hayeswang
  2011-11-29 10:54                               ` Francois Romieu
  0 siblings, 1 reply; 26+ messages in thread
From: hayeswang @ 2011-11-29  6:47 UTC (permalink / raw)
  To: 'Francois Romieu', booster
  Cc: 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

Francois Romieu [mailto:romieu@fr.zoreil.com] 
[...]
> 
> Hayes, does the 8168c require something special to recover 
> from Rx FIFO
> overflow ?
> 

For the 8168c and the later chips, our hardware engineer says that don't enable
the RxFIFOOver of IntrMask and don't clear the RxFIFOOver of IntrStatus. The
hardware will automatically escape Rx fifo full situation. Although you try to
clear the RxFIFOOver of IntrStatus, maybe the bit wouldn't be cleared. Just
disregard it.
 
Best Regards,
Hayes


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-29  6:47                             ` hayeswang
@ 2011-11-29 10:54                               ` Francois Romieu
  2011-11-29 19:56                                 ` booster
  2011-12-02  2:21                                 ` [bug?] r8169: hangs under heavy load hayeswang
  0 siblings, 2 replies; 26+ messages in thread
From: Francois Romieu @ 2011-11-29 10:54 UTC (permalink / raw)
  To: hayeswang
  Cc: booster, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

hayeswang <hayeswang@realtek.com> :
[...]
> For the 8168c and the later chips, our hardware engineer says that don't enable
> the RxFIFOOver of IntrMask and don't clear the RxFIFOOver of IntrStatus. The
> hardware will automatically escape Rx fifo full situation. Although you try to
> clear the RxFIFOOver of IntrStatus, maybe the bit wouldn't be cleared. Just
> disregard it.

Should "later" be understood as gigabit PCI-E only or is there a similar
difference of behavior between older fast-ethernet PCI-E and more recent
ones ?

Gerd, can you try the patch below ? It should match Haye's description.

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..97b5593 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4885,8 +4885,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 +5803,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 +5821,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 +5830,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:

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-29 10:54                               ` Francois Romieu
@ 2011-11-29 19:56                                 ` booster
  2011-12-01 10:20                                   ` Francois Romieu
  2011-12-02  2:21                                 ` [bug?] r8169: hangs under heavy load hayeswang
  1 sibling, 1 reply; 26+ messages in thread
From: booster @ 2011-11-29 19:56 UTC (permalink / raw)
  To: Francois Romieu
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

[-- Attachment #1: Type: text/plain, Size: 2675 bytes --]

Francois Romieu wrote:
> hayeswang <hayeswang@realtek.com> :
> [...]
>   
>> For the 8168c and the later chips, our hardware engineer says that don't enable
>> the RxFIFOOver of IntrMask and don't clear the RxFIFOOver of IntrStatus. The
>> hardware will automatically escape Rx fifo full situation. Although you try to
>> clear the RxFIFOOver of IntrStatus, maybe the bit wouldn't be cleared. Just
>> disregard it.
>>     
>
> Should "later" be understood as gigabit PCI-E only or is there a similar
> difference of behavior between older fast-ethernet PCI-E and more recent
> ones ?
>
> Gerd, can you try the patch below ? It should match Haye's description.
>
> diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
> index 6f06aa1..97b5593 100644
> --- a/drivers/net/ethernet/realtek/r8169.c
> +++ b/drivers/net/ethernet/realtek/r8169.c
> @@ -4885,8 +4885,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 +5803,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 +5821,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 +5830,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:
>
>   
Hi Francois, now an ifconfig shows the eth0 interface is up, but no data
is transfered
and a ping is not working.
[   14.522369] r8169 0000:02:00.0: eth0: link down
[   14.522773] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   14.671742] r8169 0000:03:00.0: eth1: link down
[   14.672169] ADDRCONF(NETDEV_UP): eth1: link is not ready
An added output shows that it is really detected as RTL_GIGA_MAC_VER_22.

Any more ideas ?


[-- Attachment #2: dmesg_20111129_kernel_3.2_r8169-patch2.txt --]
[-- Type: text/plain, Size: 45194 bytes --]

[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.2.0-rc3+ (root@pokini) (gcc version 4.4.5 (Debian 4.4.5-8) ) #4 SMP Tue Nov 29 19:49:50 CET 2011
[    0.000000] BIOS-provided physical RAM map:
[    0.000000]  BIOS-e820: 0000000000000000 - 0000000000090000 (usable)
[    0.000000]  BIOS-e820: 0000000000090000 - 00000000000a0000 (reserved)
[    0.000000]  BIOS-e820: 00000000000d2000 - 0000000000100000 (reserved)
[    0.000000]  BIOS-e820: 0000000000100000 - 000000007f6b0000 (usable)
[    0.000000]  BIOS-e820: 000000007f6b0000 - 000000007f6bc000 (ACPI data)
[    0.000000]  BIOS-e820: 000000007f6bc000 - 000000007f6bf000 (ACPI NVS)
[    0.000000]  BIOS-e820: 000000007f6bf000 - 0000000080000000 (reserved)
[    0.000000]  BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[    0.000000]  BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved)
[    0.000000]  BIOS-e820: 00000000fed00000 - 00000000fed00400 (reserved)
[    0.000000]  BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
[    0.000000]  BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] DMI present.
[    0.000000] DMI: CompuLab CM-iAM/SBC-FITPC2i/CM-iAM/SBC-FITPC2i, BIOS NAPA0001.86C.0000.D.1009141059 09/14/2010
[    0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[    0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
[    0.000000] last_pfn = 0x7f6b0 max_arch_pfn = 0x1000000
[    0.000000] MTRR default type: uncachable
[    0.000000] MTRR fixed ranges enabled:
[    0.000000]   00000-9FFFF write-back
[    0.000000]   A0000-BFFFF uncachable
[    0.000000]   C0000-CFFFF write-protect
[    0.000000]   D0000-DFFFF uncachable
[    0.000000]   E0000-FFFFF write-protect
[    0.000000] MTRR variable ranges enabled:
[    0.000000]   0 base 000000000 mask 080000000 write-back
[    0.000000]   1 base 07F700000 mask 0FFF00000 uncachable
[    0.000000]   2 base 07F800000 mask 0FF800000 uncachable
[    0.000000]   3 disabled
[    0.000000]   4 disabled
[    0.000000]   5 disabled
[    0.000000]   6 disabled
[    0.000000]   7 disabled
[    0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106
[    0.000000] found SMP MP-table at [c00f8600] f8600
[    0.000000] initial memory mapped : 0 - 01a00000
[    0.000000] Base memory trampoline at [c008c000] 8c000 size 16384
[    0.000000] init_memory_mapping: 0000000000000000-00000000379fe000
[    0.000000]  0000000000 - 0000200000 page 4k
[    0.000000]  0000200000 - 0037800000 page 2M
[    0.000000]  0037800000 - 00379fe000 page 4k
[    0.000000] kernel direct mapping tables up to 379fe000 @ 19fa000-1a00000
[    0.000000] RAMDISK: 36355000 - 37ff0000
[    0.000000] Allocated new RAMDISK: 346ba000 - 36354835
[    0.000000] Move RAMDISK from 0000000036355000 - 0000000037fef834 to 346ba000 - 36354834
[    0.000000] ACPI: RSDP 000f85d0 00024 (v02 PTLTD )
[    0.000000] ACPI: XSDT 7f6b70db 00064 (v01 PTLTD  ? XSDT   06040000  LTP 00000000)
[    0.000000] ACPI: FACP 7f6bbdb0 000F4 (v03 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: DSDT 7f6b803a 03CF2 (v01 INTEL   POULSBO 06040000 INTL 20050624)
[    0.000000] ACPI: FACS 7f6befc0 00040
[    0.000000] ACPI: HPET 7f6bbea4 00038 (v01 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: MCFG 7f6bbedc 0003C (v01 INTEL  POULSBO  06040000 INTC 00000032)
[    0.000000] ACPI: TCPA 7f6bbf18 00032 (v01 PTLTD  CALISTGA 06040000  PTL 00000001)
[    0.000000] ACPI: TMOR 7f6bbf4a 00026 (v01 PTLTD           06040000 PTL  00000003)
[    0.000000] ACPI: APIC 7f6bbf70 00068 (v01 PTLTD  ? APIC   06040000  LTP 00000000)
[    0.000000] ACPI: BOOT 7f6bbfd8 00028 (v01 PTLTD  $SBFTBL$ 06040000  LTP 00000001)
[    0.000000] ACPI: SSDT 7f6b713f 004DC (v02  PmRef    CpuPm 00003000 INTL 20050624)
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] 1148MB HIGHMEM available.
[    0.000000] 889MB LOWMEM available.
[    0.000000]   mapped low ram: 0 - 379fe000
[    0.000000]   low ram: 0 - 379fe000
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA      0x00000010 -> 0x00001000
[    0.000000]   Normal   0x00001000 -> 0x000379fe
[    0.000000]   HighMem  0x000379fe -> 0x0007f6b0
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[2] active PFN ranges
[    0.000000]     0: 0x00000010 -> 0x00000090
[    0.000000]     0: 0x00000100 -> 0x0007f6b0
[    0.000000] On node 0 totalpages: 521776
[    0.000000] free_area_init_node: node 0, pgdat c13fd980, node_mem_map f6a0d200
[    0.000000]   DMA zone: 32 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 3936 pages, LIFO batch:0
[    0.000000]   Normal zone: 1748 pages used for memmap
[    0.000000]   Normal zone: 221994 pages, LIFO batch:31
[    0.000000]   HighMem zone: 2298 pages used for memmap
[    0.000000]   HighMem zone: 291768 pages, LIFO batch:31
[    0.000000] Using APIC driver default
[    0.000000] ACPI: PM-Timer IO Port: 0x1008
[    0.000000] ACPI: Local APIC address 0xfee00000
[    0.000000] ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
[    0.000000] ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: IOAPIC (id[0x02] address[0xfec00000] gsi_base[0])
[    0.000000] IOAPIC[0]: apic_id 2, version 32, address 0xfec00000, GSI 0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high edge)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] ACPI: IRQ0 used by override.
[    0.000000] ACPI: IRQ2 used by override.
[    0.000000] ACPI: IRQ9 used by override.
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] SMP: Allowing 2 CPUs, 0 hotplug CPUs
[    0.000000] nr_irqs_gsi: 40
[    0.000000] PM: Registered nosave memory: 0000000000090000 - 00000000000a0000
[    0.000000] PM: Registered nosave memory: 00000000000a0000 - 00000000000d2000
[    0.000000] PM: Registered nosave memory: 00000000000d2000 - 0000000000100000
[    0.000000] Allocating PCI resources starting at 80000000 (gap: 80000000:60000000)
[    0.000000] Booting paravirtualized kernel on bare hardware
[    0.000000] setup_percpu: NR_CPUS:32 nr_cpumask_bits:32 nr_cpu_ids:2 nr_node_ids:1
[    0.000000] PERCPU: Embedded 14 pages/cpu @f6800000 s33088 r0 d24256 u1048576
[    0.000000] pcpu-alloc: s33088 r0 d24256 u1048576 alloc=1*2097152
[    0.000000] pcpu-alloc: [0] 0 1 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 517698
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-3.2.0-rc3+ root=UUID=c8369b5c-f8fa-42d3-a640-ed1feff58e85 ro quiet
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Initializing CPU#0
[    0.000000] allocated 8350208 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Initializing HighMem for node 0 (000379fe:0007f6b0)
[    0.000000] Memory: 2027204k/2087616k available (2852k kernel code, 59900k reserved, 1263k data, 432k init, 1176264k highmem)
[    0.000000] virtual kernel memory layout:
[    0.000000]     fixmap  : 0xffd36000 - 0xfffff000   (2852 kB)
[    0.000000]     pkmap   : 0xffa00000 - 0xffc00000   (2048 kB)
[    0.000000]     vmalloc : 0xf81fe000 - 0xff9fe000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xf79fe000   ( 889 MB)
[    0.000000]       .init : 0xc1406000 - 0xc1472000   ( 432 kB)
[    0.000000]       .data : 0xc12c92ed - 0xc1405200   (1263 kB)
[    0.000000]       .text : 0xc1000000 - 0xc12c92ed   (2852 kB)
[    0.000000] Checking if this processor honours the WP bit even in supervisor mode...Ok.
[    0.000000] Hierarchical RCU implementation.
[    0.000000] 	RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] NR_IRQS:2304 nr_irqs:512 16
[    0.000000] CPU 0 irqstacks, hard=f6406000 soft=f6408000
[    0.000000] Extended CMOS year: 2000
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] hpet clockevent registered
[    0.000000] Fast TSC calibration using PIT
[    0.000000] Detected 1994.944 MHz processor.
[    0.004004] Calibrating delay loop (skipped), value calculated using timer frequency.. 3989.88 BogoMIPS (lpj=7979776)
[    0.004012] pid_max: default: 32768 minimum: 301
[    0.004090] Security Framework initialized
[    0.004123] Mount-cache hash table entries: 512
[    0.004324] Initializing cgroup subsys cpuacct
[    0.004334] Initializing cgroup subsys memory
[    0.004348] Initializing cgroup subsys devices
[    0.004353] Initializing cgroup subsys freezer
[    0.004357] Initializing cgroup subsys net_cls
[    0.004362] Initializing cgroup subsys blkio
[    0.004412] CPU: Physical Processor ID: 0
[    0.004416] CPU: Processor Core ID: 0
[    0.004420] mce: CPU supports 5 MCE banks
[    0.004432] CPU0: Thermal monitoring enabled (TM1)
[    0.004439] using mwait in idle threads.
[    0.005498] ACPI: Core revision 20110623
[    0.012104] Enabling APIC mode:  Flat.  Using 1 I/O APICs
[    0.012468] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.054637] CPU0: Intel(R) Atom(TM) CPU Z550   @ 2.00GHz stepping 02
[    0.056003] Performance Events: PEBS fmt0+, Atom events, Intel PMU driver.
[    0.056003] ... version:                3
[    0.056003] ... bit width:              40
[    0.056003] ... generic registers:      2
[    0.056003] ... value mask:             000000ffffffffff
[    0.056003] ... max period:             000000007fffffff
[    0.056003] ... fixed-purpose events:   3
[    0.056003] ... event mask:             0000000700000003
[    0.056003] NMI watchdog enabled, takes one hw-pmu counter.
[    0.056003] CPU 1 irqstacks, hard=f64b4000 soft=f64b6000
[    0.056003] Booting Node   0, Processors  #1 Ok.
[    0.056003] smpboot cpu 1: start_ip = 8c000
[    0.008000] Initializing CPU#1
[    0.144064] NMI watchdog enabled, takes one hw-pmu counter.
[    0.144129] Brought up 2 CPUs
[    0.144135] Total of 2 processors activated (7979.80 BogoMIPS).
[    0.144603] devtmpfs: initialized
[    0.144603] PM: Registering ACPI NVS region at 7f6bc000 (12288 bytes)
[    0.144603] CompuLab SBC-FITPC2 series board detected. Selecting BIOS-method for reboots.
[    0.144603] print_constraints: dummy: 
[    0.144603] NET: Registered protocol family 16
[    0.144665] ACPI: bus type pci registered
[    0.144801] PCI: MMCONFIG for domain 0000 [bus 00-ff] at [mem 0xe0000000-0xefffffff] (base 0xe0000000)
[    0.144808] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.144811] PCI: Using MMCONFIG for extended config space
[    0.144815] PCI: Using configuration type 1 for base access
[    0.145655] bio: create slab <bio-0> at 0
[    0.145655] ACPI: Added _OSI(Module Device)
[    0.145655] ACPI: Added _OSI(Processor Device)
[    0.145655] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.145655] ACPI: Added _OSI(Processor Aggregator Device)
[    0.148348] ACPI: EC: Look up EC in DSDT
[    0.150627] [Firmware Bug]: ACPI: BIOS _OSI(Linux) query ignored
[    0.151245] ACPI: SSDT 7f6b7cdf 00287 (v02  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.151548] ACPI: Dynamic OEM Table Load:
[    0.151554] ACPI: SSDT   (null) 00287 (v02  PmRef  Cpu0Ist 00003000 INTL 20050624)
[    0.151846] ACPI: SSDT 7f6b761b 0063F (v02  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.152130] ACPI: Dynamic OEM Table Load:
[    0.152136] ACPI: SSDT   (null) 0063F (v02  PmRef  Cpu0Cst 00003001 INTL 20050624)
[    0.152577] ACPI: SSDT 7f6b7f66 000D4 (v02  PmRef  Cpu1Ist 00003000 INTL 20050624)
[    0.152862] ACPI: Dynamic OEM Table Load:
[    0.152868] ACPI: SSDT   (null) 000D4 (v02  PmRef  Cpu1Ist 00003000 INTL 20050624)
[    0.153037] ACPI: SSDT 7f6b7c5a 00085 (v02  PmRef  Cpu1Cst 00003000 INTL 20050624)
[    0.153306] ACPI: Dynamic OEM Table Load:
[    0.153311] ACPI: SSDT   (null) 00085 (v02  PmRef  Cpu1Cst 00003000 INTL 20050624)
[    0.352171] ACPI: Interpreter enabled
[    0.352196] ACPI: (supports S0 S3 S4 S5)
[    0.352277] ACPI: Using IOAPIC for interrupt routing
[    0.353561] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    0.360002] ACPI: EC: GPE = 0xd, I/O: command/status = 0x66, data = 0x62
[    0.360252] ACPI: No dock devices found.
[    0.360257] HEST: Table not found.
[    0.360266] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
[    0.360419] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.360715] pci_root PNP0A08:00: host bridge window [io  0x0000-0x0cf7]
[    0.360722] pci_root PNP0A08:00: host bridge window [io  0x0d00-0xffff]
[    0.360727] pci_root PNP0A08:00: host bridge window [mem 0x000a0000-0x000bffff]
[    0.360733] pci_root PNP0A08:00: host bridge window [mem 0x000c0000-0x000dffff]
[    0.360738] pci_root PNP0A08:00: host bridge window [mem 0x000e0000-0x000effff]
[    0.360743] pci_root PNP0A08:00: host bridge window [mem 0x000f0000-0x000fffff]
[    0.360749] pci_root PNP0A08:00: host bridge window [mem 0x7f800000-0xfebfffff]
[    0.360761] pci_root PNP0A08:00: ignoring host bridge window [mem 0x000c0000-0x000dffff] (conflicts with reserved [mem 0x000d2000-0x000fffff])
[    0.360783] pci 0000:00:00.0: [8086:8100] type 0 class 0x000600
[    0.360863] pci 0000:00:02.0: [8086:8108] type 0 class 0x000300
[    0.360885] pci 0000:00:02.0: reg 10: [mem 0xd8080000-0xd80fffff]
[    0.360898] pci 0000:00:02.0: reg 14: [io  0x1800-0x1807]
[    0.360910] pci 0000:00:02.0: reg 18: [mem 0xd0000000-0xd7ffffff]
[    0.360922] pci 0000:00:02.0: reg 1c: [mem 0xd8020000-0xd803ffff]
[    0.361020] pci 0000:00:1b.0: [8086:811b] type 0 class 0x000403
[    0.361039] pci 0000:00:1b.0: reg 10: [mem 0xd8010000-0xd8013fff 64bit]
[    0.361098] pci 0000:00:1b.0: PME# supported from D0 D3hot
[    0.361105] pci 0000:00:1b.0: PME# disabled
[    0.361132] pci 0000:00:1c.0: [8086:8110] type 1 class 0x000604
[    0.361189] pci 0000:00:1c.0: PME# supported from D0 D3hot D3cold
[    0.361195] pci 0000:00:1c.0: PME# disabled
[    0.361225] pci 0000:00:1c.1: [8086:8112] type 1 class 0x000604
[    0.361282] pci 0000:00:1c.1: PME# supported from D0 D3hot D3cold
[    0.361288] pci 0000:00:1c.1: PME# disabled
[    0.361319] pci 0000:00:1d.0: [8086:8114] type 0 class 0x000c03
[    0.361359] pci 0000:00:1d.0: reg 20: [io  0x1820-0x183f]
[    0.361394] pci 0000:00:1d.1: [8086:8115] type 0 class 0x000c03
[    0.361434] pci 0000:00:1d.1: reg 20: [io  0x1840-0x185f]
[    0.361471] pci 0000:00:1d.2: [8086:8116] type 0 class 0x000c03
[    0.361512] pci 0000:00:1d.2: reg 20: [io  0x1860-0x187f]
[    0.361562] pci 0000:00:1d.7: [8086:8117] type 0 class 0x000c03
[    0.361591] pci 0000:00:1d.7: reg 10: [mem 0xd8014000-0xd80143ff]
[    0.361692] pci 0000:00:1d.7: PME# supported from D0 D3hot D3cold
[    0.361700] pci 0000:00:1d.7: PME# disabled
[    0.361725] pci 0000:00:1e.0: [8086:811c] type 0 class 0x000805
[    0.361741] pci 0000:00:1e.0: reg 10: [mem 0xd8014400-0xd80144ff]
[    0.361805] pci 0000:00:1e.1: [8086:811d] type 0 class 0x000805
[    0.361821] pci 0000:00:1e.1: reg 10: [mem 0xd8014800-0xd80148ff]
[    0.361886] pci 0000:00:1e.2: [8086:811e] type 0 class 0x000805
[    0.361902] pci 0000:00:1e.2: reg 10: [mem 0xd8014c00-0xd8014cff]
[    0.361973] pci 0000:00:1f.0: [8086:8119] type 0 class 0x000601
[    0.362047] pci 0000:00:1f.1: [8086:811a] type 0 class 0x000101
[    0.362090] pci 0000:00:1f.1: reg 20: [io  0x1810-0x181f]
[    0.362186] pci 0000:02:00.0: [10ec:8168] type 0 class 0x000200
[    0.362208] pci 0000:02:00.0: reg 10: [io  0x2000-0x20ff]
[    0.362242] pci 0000:02:00.0: reg 18: [mem 0xd8100000-0xd8100fff 64bit]
[    0.362265] pci 0000:02:00.0: reg 20: [mem 0xd8500000-0xd850ffff 64bit pref]
[    0.362282] pci 0000:02:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.362327] pci 0000:02:00.0: supports D1 D2
[    0.362332] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.362340] pci 0000:02:00.0: PME# disabled
[    0.368069] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    0.368086] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    0.368113] pci 0000:00:1c.0:   bridge window [mem 0xd8100000-0xd81fffff]
[    0.368129] pci 0000:00:1c.0:   bridge window [mem 0xd8500000-0xd85fffff pref]
[    0.368249] pci 0000:03:00.0: [10ec:8168] type 0 class 0x000200
[    0.368286] pci 0000:03:00.0: reg 10: [io  0x3000-0x30ff]
[    0.368342] pci 0000:03:00.0: reg 18: [mem 0xd8200000-0xd8200fff 64bit]
[    0.368365] pci 0000:03:00.0: reg 20: [mem 0xd8600000-0xd860ffff 64bit pref]
[    0.368382] pci 0000:03:00.0: reg 30: [mem 0x00000000-0x0001ffff pref]
[    0.368429] pci 0000:03:00.0: supports D1 D2
[    0.368433] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.368441] pci 0000:03:00.0: PME# disabled
[    0.376065] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    0.376081] pci 0000:00:1c.1:   bridge window [io  0x3000-0x3fff]
[    0.376097] pci 0000:00:1c.1:   bridge window [mem 0xd8200000-0xd82fffff]
[    0.376113] pci 0000:00:1c.1:   bridge window [mem 0xd8600000-0xd86fffff pref]
[    0.376142] pci_bus 0000:00: on NUMA node 0
[    0.376162] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
[    0.376480] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP01._PRT]
[    0.376574] ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.RP02._PRT]
[    0.376727]  pci0000:00: Requesting ACPI _OSC control (0x1d)
[    0.376734]  pci0000:00: ACPI _OSC request failed (AE_NOT_FOUND), returned control mask: 0x1d
[    0.376738] ACPI _OSC control for PCIe not granted, disabling ASPM
[    0.382772] ACPI: PCI Interrupt Link [LNKA] (IRQs 1 3 4 5 6 *7 10 12 14 15)
[    0.382876] ACPI: PCI Interrupt Link [LNKB] (IRQs 1 3 *4 5 6 7 11 12 14 15)
[    0.382976] ACPI: PCI Interrupt Link [LNKC] (IRQs 1 *3 4 5 6 7 10 12 14 15)
[    0.383075] ACPI: PCI Interrupt Link [LNKD] (IRQs 1 3 4 *5 6 7 11 12 14 15)
[    0.383174] ACPI: PCI Interrupt Link [LNKE] (IRQs 1 3 4 5 6 7 10 12 14 15) *11
[    0.383276] ACPI: PCI Interrupt Link [LNKF] (IRQs 1 3 4 5 6 7 *11 12 14 15)
[    0.383375] ACPI: PCI Interrupt Link [LNKG] (IRQs 1 3 4 5 6 7 *10 12 14 15)
[    0.383475] ACPI: PCI Interrupt Link [LNKH] (IRQs 1 3 4 5 6 7 11 12 14 15) *10
[    0.383689] vgaarb: device added: PCI:0000:00:02.0,decodes=io+mem,owns=io+mem,locks=none
[    0.383689] vgaarb: loaded
[    0.383689] vgaarb: bridge control possible 0000:00:02.0
[    0.383689] PCI: Using ACPI for IRQ routing
[    0.391026] PCI: pci_cache_line_size set to 64 bytes
[    0.391112] Expanded resource reserved due to conflict with PCI Bus 0000:00
[    0.391118] reserve RAM buffer: 000000007f6b0000 - 000000007fffffff 
[    0.391349] HPET: 3 timers in total, 0 timers will be used for per-cpu timer
[    0.391358] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0
[    0.391367] hpet0: 3 comparators, 64-bit 14.318180 MHz counter
[    0.396192] Switching to clocksource hpet
[    0.399102] pnp: PnP ACPI init
[    0.399149] ACPI: bus type pnp registered
[    0.399445] pnp 00:00: [bus 00-ff]
[    0.399451] pnp 00:00: [io  0x0000-0x0cf7 window]
[    0.399457] pnp 00:00: [io  0x0cf8-0x0cff]
[    0.399461] pnp 00:00: [io  0x0d00-0xffff window]
[    0.399467] pnp 00:00: [mem 0x000a0000-0x000bffff window]
[    0.399472] pnp 00:00: [mem 0x000c0000-0x000dffff window]
[    0.399477] pnp 00:00: [mem 0x000e0000-0x000effff window]
[    0.399482] pnp 00:00: [mem 0x000f0000-0x000fffff window]
[    0.399487] pnp 00:00: [mem 0x7f800000-0xfebfffff window]
[    0.399492] pnp 00:00: [mem 0xfed40000-0xfed44fff window]
[    0.399608] pnp 00:00: Plug and Play ACPI device, IDs PNP0a08 PNP0a03 (active)
[    0.399684] pnp 00:01: [mem 0xfd000000-0xfd003fff]
[    0.399690] pnp 00:01: [mem 0xe0000000-0xefffffff]
[    0.399695] pnp 00:01: [mem 0xfed00000-0xfed3ffff]
[    0.399700] pnp 00:01: [mem 0xfed40000-0xfed44fff]
[    0.399704] pnp 00:01: [mem 0xfed45000-0xfed4bfff]
[    0.399804] system 00:01: [mem 0xfd000000-0xfd003fff] has been reserved
[    0.399811] system 00:01: [mem 0xe0000000-0xefffffff] has been reserved
[    0.399817] system 00:01: [mem 0xfed00000-0xfed3ffff] could not be reserved
[    0.399823] system 00:01: [mem 0xfed40000-0xfed44fff] has been reserved
[    0.399830] system 00:01: [mem 0xfed45000-0xfed4bfff] has been reserved
[    0.399838] system 00:01: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.400184] pnp 00:02: [io  0x0000-0x001f]
[    0.400189] pnp 00:02: [io  0x0081-0x0091]
[    0.400194] pnp 00:02: [io  0x0093-0x009f]
[    0.400198] pnp 00:02: [io  0x00c0-0x00df]
[    0.400203] pnp 00:02: [dma 4]
[    0.400276] pnp 00:02: Plug and Play ACPI device, IDs PNP0200 (active)
[    0.400297] pnp 00:03: [mem 0xff000000-0xffffffff]
[    0.400366] pnp 00:03: Plug and Play ACPI device, IDs INT0800 (active)
[    0.400431] pnp 00:04: [irq 0 disabled]
[    0.400453] pnp 00:04: [irq 8]
[    0.400458] pnp 00:04: [mem 0xfed00000-0xfed003ff]
[    0.400528] pnp 00:04: Plug and Play ACPI device, IDs PNP0103 (active)
[    0.400557] pnp 00:05: [io  0x00f0]
[    0.400567] pnp 00:05: [irq 13]
[    0.400636] pnp 00:05: Plug and Play ACPI device, IDs PNP0c04 (active)
[    0.400662] pnp 00:06: [io  0x002e-0x002f]
[    0.400667] pnp 00:06: [io  0x004e-0x004f]
[    0.400671] pnp 00:06: [io  0x0061]
[    0.400675] pnp 00:06: [io  0x0063]
[    0.400680] pnp 00:06: [io  0x0065]
[    0.400684] pnp 00:06: [io  0x0067]
[    0.400691] pnp 00:06: [io  0x0070]
[    0.400695] pnp 00:06: [io  0x0080]
[    0.400699] pnp 00:06: [io  0x0092]
[    0.400703] pnp 00:06: [io  0x00b2-0x00b3]
[    0.400708] pnp 00:06: [io  0x0295-0x0296]
[    0.400712] pnp 00:06: [io  0x0680-0x069f]
[    0.400717] pnp 00:06: [io  0x8080]
[    0.400721] pnp 00:06: [io  0x1000-0x107f]
[    0.400726] pnp 00:06: [io  0x1180-0x11bf]
[    0.400730] pnp 00:06: [io  0x1640-0x164f]
[    0.400843] system 00:06: [io  0x0295-0x0296] has been reserved
[    0.400849] system 00:06: [io  0x0680-0x069f] has been reserved
[    0.400855] system 00:06: [io  0x8080] has been reserved
[    0.400861] system 00:06: [io  0x1000-0x107f] has been reserved
[    0.400867] system 00:06: [io  0x1180-0x11bf] has been reserved
[    0.400872] system 00:06: [io  0x1640-0x164f] has been reserved
[    0.400879] system 00:06: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.400930] pnp 00:07: [io  0x0070-0x0073]
[    0.401000] pnp 00:07: Plug and Play ACPI device, IDs PNP0b00 (active)
[    0.401167] pnp 00:08: [io  0x002e-0x002f]
[    0.401173] pnp 00:08: [io  0x0000-0xffffffffffffffff disabled]
[    0.401273] system 00:08: Plug and Play ACPI device, IDs PNP0c02 (active)
[    0.401742] pnp 00:09: [io  0x03f8-0x03ff]
[    0.401754] pnp 00:09: [irq 4]
[    0.402071] pnp 00:09: Plug and Play ACPI device, IDs PNP0501 (active)
[    0.402097] pnp: PnP ACPI: found 10 devices
[    0.402101] ACPI: ACPI bus type pnp unregistered
[    0.402108] PnPBIOS: Disabled by ACPI PNP
[    0.441970] PCI: max bus depth: 1 pci_try_num: 2
[    0.442004] pci 0000:02:00.0: BAR 6: assigned [mem 0xd8520000-0xd853ffff pref]
[    0.442010] pci 0000:00:1c.0: PCI bridge to [bus 02-02]
[    0.442016] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    0.442025] pci 0000:00:1c.0:   bridge window [mem 0xd8100000-0xd81fffff]
[    0.442032] pci 0000:00:1c.0:   bridge window [mem 0xd8500000-0xd85fffff pref]
[    0.442044] pci 0000:03:00.0: BAR 6: assigned [mem 0xd8620000-0xd863ffff pref]
[    0.442049] pci 0000:00:1c.1: PCI bridge to [bus 03-03]
[    0.442055] pci 0000:00:1c.1:   bridge window [io  0x3000-0x3fff]
[    0.442063] pci 0000:00:1c.1:   bridge window [mem 0xd8200000-0xd82fffff]
[    0.442070] pci 0000:00:1c.1:   bridge window [mem 0xd8600000-0xd86fffff pref]
[    0.442110] pci 0000:00:1c.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    0.442118] pci 0000:00:1c.0: setting latency timer to 64
[    0.442135] pci 0000:00:1c.1: PCI INT B -> GSI 16 (level, low) -> IRQ 16
[    0.442142] pci 0000:00:1c.1: setting latency timer to 64
[    0.442150] pci_bus 0000:00: resource 4 [io  0x0000-0x0cf7]
[    0.442155] pci_bus 0000:00: resource 5 [io  0x0d00-0xffff]
[    0.442160] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff]
[    0.442166] pci_bus 0000:00: resource 7 [mem 0x000e0000-0x000effff]
[    0.442171] pci_bus 0000:00: resource 8 [mem 0x000f0000-0x000fffff]
[    0.442176] pci_bus 0000:00: resource 9 [mem 0x7f800000-0xfebfffff]
[    0.442182] pci_bus 0000:02: resource 0 [io  0x2000-0x2fff]
[    0.442187] pci_bus 0000:02: resource 1 [mem 0xd8100000-0xd81fffff]
[    0.442192] pci_bus 0000:02: resource 2 [mem 0xd8500000-0xd85fffff pref]
[    0.442197] pci_bus 0000:03: resource 0 [io  0x3000-0x3fff]
[    0.442203] pci_bus 0000:03: resource 1 [mem 0xd8200000-0xd82fffff]
[    0.442208] pci_bus 0000:03: resource 2 [mem 0xd8600000-0xd86fffff pref]
[    0.442331] NET: Registered protocol family 2
[    0.442456] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.443002] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.444129] TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
[    0.444719] TCP: Hash tables configured (established 131072 bind 65536)
[    0.444726] TCP reno registered
[    0.444734] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.444760] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.445057] NET: Registered protocol family 1
[    0.445101] pci 0000:00:02.0: Boot video device
[    0.445233] PCI: CLS 64 bytes, default 64
[    0.445359] Unpacking initramfs...
[    1.710733] Freeing initrd memory: 29292k freed
[    1.749307] Simple Boot Flag at 0x36 set to 0x1
[    1.750224] audit: initializing netlink socket (disabled)
[    1.750251] type=2000 audit(1322593573.744:1): initialized
[    1.776285] highmem bounce pool size: 64 pages
[    1.776295] HugeTLB registered 2 MB page size, pre-allocated 0 pages
[    1.786376] VFS: Disk quotas dquot_6.5.2
[    1.786438] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    1.786564] msgmni has been set to 1719
[    1.786864] alg: No test for stdrng (krng)
[    1.786929] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
[    1.786935] io scheduler noop registered
[    1.786939] io scheduler deadline registered
[    1.786966] io scheduler cfq registered (default)
[    1.787418] intel_idle: MWAIT substates: 0x3020220
[    1.787431] intel_idle: v0.4 model 0x1C
[    1.787434] intel_idle: lapic_timer_reliable_states 0x2
[    1.787439] Marking TSC unstable due to TSC halts in idle states deeper than C2
[    1.787526] ERST: Table is not found!
[    1.787529] GHES: HEST is not enabled!
[    1.787557] isapnp: Scanning for PnP cards...
[    2.141677] isapnp: No Plug & Play device found
[    2.141827] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    2.162261] serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.185012] 00:09: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
[    2.200569] Linux agpgart interface v0.103
[    2.200981] i8042: PNP: No PS/2 controller found. Probing ports directly.
[    2.202877] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.202891] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.203180] mousedev: PS/2 mouse device common for all mice
[    2.203267] rtc_cmos 00:07: RTC can wake from S4
[    2.203419] rtc_cmos 00:07: rtc core: registered rtc_cmos as rtc0
[    2.203448] rtc0: alarms up to one month, y3k, 242 bytes nvram, hpet irqs
[    2.203652] cpuidle: using governor ladder
[    2.203955] cpuidle: using governor menu
[    2.204473] TCP cubic registered
[    2.204569] NET: Registered protocol family 10
[    2.205715] Mobile IPv6
[    2.205721] NET: Registered protocol family 17
[    2.205730] Registering the dns_resolver key type
[    2.205771] Using IPI No-Shortcut mode
[    2.206046] PM: Hibernation image not present or could not be loaded.
[    2.206066] registered taskstats version 1
[    2.211447] rtc_cmos 00:07: setting system clock to 2011-11-29 19:06:14 UTC (1322593574)
[    2.211553] Initializing network drop monitor service
[    2.211773] Freeing unused kernel memory: 432k freed
[    2.212234] Write protecting the kernel text: 2856k
[    2.212283] Write protecting the kernel read-only data: 1004k
[    2.212288] NX-protecting the kernel data: 3288k
[    2.241196] udev[49]: starting version 164
[    2.373132] r8169 Gigabit Ethernet driver 2.3LK-NAPI-patched loaded
[    2.373184] r8169 0000:02:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.373233] r8169 0000:02:00.0: setting latency timer to 64
[    2.373313] r8169 0000:02:00.0: irq 40 for MSI/MSI-X
[    2.374681] r8169 0000:02:00.0: eth0: RTL8168c/8111c[21] at 0xf93d0000, 00:01:c0:08:aa:31, XID 1c4000c0 IRQ 40
[    2.374692] r8169 0000:02:00.0: eth0: jumbo features [frames: 6128 bytes, tx checksumming: ko]
[    2.399586] sdhci: Secure Digital Host Controller Interface driver
[    2.399593] sdhci: Copyright(c) Pierre Ossman
[    2.413764] sdhci-pci 0000:00:1e.0: SDHCI controller found [8086:811c] (rev 7)
[    2.413818] sdhci-pci 0000:00:1e.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    2.413878] sdhci-pci 0000:00:1e.0: setting latency timer to 64
[    2.413926] mmc0: no vmmc regulator found
[    2.414010] Registered led device: mmc0::
[    2.415106] mmc0: SDHCI controller on PCI [0000:00:1e.0] using DMA
[    2.415282] thermal LNXTHERM:00: registered as thermal_zone0
[    2.415288] ACPI: Thermal Zone [TZ00] (0 C)
[    2.415843] ACPI: Invalid active0 threshold
[    2.422303] thermal LNXTHERM:01: registered as thermal_zone1
[    2.422311] ACPI: Thermal Zone [TZ01] (0 C)
[    2.427431] SCSI subsystem initialized
[    2.431622] r8169 Gigabit Ethernet driver 2.3LK-NAPI-patched loaded
[    2.431676] r8169 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[    2.431733] r8169 0000:03:00.0: setting latency timer to 64
[    2.431811] r8169 0000:03:00.0: irq 41 for MSI/MSI-X
[    2.433956] sdhci-pci 0000:00:1e.1: SDHCI controller found [8086:811d] (rev 7)
[    2.434010] sdhci-pci 0000:00:1e.1: PCI INT B -> GSI 20 (level, low) -> IRQ 20
[    2.434073] sdhci-pci 0000:00:1e.1: setting latency timer to 64
[    2.434115] mmc1: no vmmc regulator found
[    2.434191] Registered led device: mmc1::
[    2.435277] mmc1: SDHCI controller on PCI [0000:00:1e.1] using DMA
[    2.435292] r8169 0000:03:00.0: eth1: RTL8168c/8111c[21] at 0xf838c000, 00:01:c0:08:aa:32, XID 1c4000c0 IRQ 41
[    2.435301] r8169 0000:03:00.0: eth1: jumbo features [frames: 6128 bytes, tx checksumming: ko]
[    2.435308] sdhci-pci 0000:00:1e.2: SDHCI controller found [8086:811e] (rev 7)
[    2.435341] sdhci-pci 0000:00:1e.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.435387] sdhci-pci 0000:00:1e.2: setting latency timer to 64
[    2.435424] mmc2: no vmmc regulator found
[    2.435504] Registered led device: mmc2::
[    2.437722] usbcore: registered new interface driver usbfs
[    2.437787] usbcore: registered new interface driver hub
[    2.448176] usbcore: registered new device driver usb
[    2.450507] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.454753] mmc2: SDHCI controller on PCI [0000:00:1e.2] using DMA
[    2.461198] ehci_hcd 0000:00:1d.7: PCI INT D -> GSI 21 (level, low) -> IRQ 21
[    2.461245] ehci_hcd 0000:00:1d.7: setting latency timer to 64
[    2.461255] ehci_hcd 0000:00:1d.7: EHCI Host Controller
[    2.461314] ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
[    2.461378] ehci_hcd 0000:00:1d.7: debug port 1
[    2.465282] ehci_hcd 0000:00:1d.7: cache line size of 64 is not supported
[    2.477570] ehci_hcd 0000:00:1d.7: irq 21, io mem 0xd8014000
[    2.484064] libata version 3.00 loaded.
[    2.492061] ehci_hcd 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    2.492158] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    2.492167] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.492173] usb usb1: Product: EHCI Host Controller
[    2.492179] usb usb1: Manufacturer: Linux 3.2.0-rc3+ ehci_hcd
[    2.492184] usb usb1: SerialNumber: 0000:00:1d.7
[    2.492525] hub 1-0:1.0: USB hub found
[    2.492541] hub 1-0:1.0: 8 ports detected
[    2.494637] uhci_hcd: USB Universal Host Controller Interface driver
[    2.494760] uhci_hcd 0000:00:1d.0: PCI INT A -> GSI 23 (level, low) -> IRQ 23
[    2.494784] uhci_hcd 0000:00:1d.0: setting latency timer to 64
[    2.494794] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.494827] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
[    2.494897] uhci_hcd 0000:00:1d.0: irq 23, io base 0x00001820
[    2.494993] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    2.495001] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.495008] usb usb2: Product: UHCI Host Controller
[    2.495014] usb usb2: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.495020] usb usb2: SerialNumber: 0000:00:1d.0
[    2.495346] hub 2-0:1.0: USB hub found
[    2.495357] hub 2-0:1.0: 2 ports detected
[    2.495531] uhci_hcd 0000:00:1d.1: PCI INT B -> GSI 19 (level, low) -> IRQ 19
[    2.495546] uhci_hcd 0000:00:1d.1: setting latency timer to 64
[    2.495552] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.495569] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
[    2.495620] uhci_hcd 0000:00:1d.1: irq 19, io base 0x00001840
[    2.495689] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    2.495694] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.495699] usb usb3: Product: UHCI Host Controller
[    2.495703] usb usb3: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.495707] usb usb3: SerialNumber: 0000:00:1d.1
[    2.495967] hub 3-0:1.0: USB hub found
[    2.495977] hub 3-0:1.0: 2 ports detected
[    2.496234] uhci_hcd 0000:00:1d.2: PCI INT C -> GSI 18 (level, low) -> IRQ 18
[    2.496254] uhci_hcd 0000:00:1d.2: setting latency timer to 64
[    2.496262] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.496282] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
[    2.496323] uhci_hcd 0000:00:1d.2: irq 18, io base 0x00001860
[    2.496411] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    2.496419] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.496426] usb usb4: Product: UHCI Host Controller
[    2.496431] usb usb4: Manufacturer: Linux 3.2.0-rc3+ uhci_hcd
[    2.496437] usb usb4: SerialNumber: 0000:00:1d.2
[    2.497386] hub 4-0:1.0: USB hub found
[    2.497403] hub 4-0:1.0: 2 ports detected
[    2.498183] pata_sch 0000:00:1f.1: version 0.2
[    2.498303] pata_sch 0000:00:1f.1: setting latency timer to 64
[    2.499599] scsi0 : pata_sch
[    2.499905] scsi1 : pata_sch
[    2.500690] ata1: PATA max UDMA/100 cmd 0x1f0 ctl 0x3f6 bmdma 0x1810 irq 14
[    2.500699] ata2: PATA max UDMA/100 cmd 0x170 ctl 0x376 bmdma 0x1818 irq 15
[    2.664865] ata1.00: ATA-8: Hitachi HTE545050B9A300, PB4OC64G, max UDMA/133
[    2.664875] ata1.00: 976773168 sectors, multi 16: LBA48 NCQ (depth 0/32)
[    2.680854] ata1.00: configured for UDMA/100
[    2.681116] scsi 0:0:0:0: Direct-Access     ATA      Hitachi HTE54505 PB4O PQ: 0 ANSI: 5
[    2.804316] usb 1-1: new high-speed USB device number 2 using ehci_hcd
[    2.858028] sd 0:0:0:0: [sda] 976773168 512-byte logical blocks: (500 GB/465 GiB)
[    2.858215] sd 0:0:0:0: [sda] Write Protect is off
[    2.858224] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    2.858304] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    2.888120]  sda: sda1 sda2 sda3
[    2.889272] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.937824] usb 1-1: New USB device found, idVendor=05e3, idProduct=0608
[    2.937846] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    2.937862] usb 1-1: Product: USB2.0 Hub
[    2.938918] hub 1-1:1.0: USB hub found
[    2.939294] hub 1-1:1.0: 4 ports detected
[    3.052100] usb 1-2: new high-speed USB device number 3 using ehci_hcd
[    3.185105] usb 1-2: New USB device found, idVendor=0409, idProduct=005a
[    3.185114] usb 1-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.185683] hub 1-2:1.0: USB hub found
[    3.185775] hub 1-2:1.0: 4 ports detected
[    3.296051] usb 1-7: new high-speed USB device number 4 using ehci_hcd
[    3.323755] PM: Starting manual resume from disk
[    3.323762] PM: Hibernation image partition 8:2 present
[    3.323766] PM: Looking for hibernation image.
[    3.324238] PM: Image not found (code -22)
[    3.324248] PM: Hibernation image not present or could not be loaded.
[    3.444138] EXT4-fs (sda3): mounted filesystem with ordered data mode. Opts: (null)
[    3.445439] usb 1-7: New USB device found, idVendor=148f, idProduct=3070
[    3.445450] usb 1-7: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.445457] usb 1-7: Product: 802.11 n WLAN
[    3.445462] usb 1-7: Manufacturer: Ralink
[    3.445468] usb 1-7: SerialNumber: 1.0
[    3.520747] usb 1-1.1: new high-speed USB device number 5 using ehci_hcd
[    3.614733] usb 1-1.1: New USB device found, idVendor=05e3, idProduct=0608
[    3.614752] usb 1-1.1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    3.614766] usb 1-1.1: Product: USB2.0 Hub
[    3.615643] hub 1-1.1:1.0: USB hub found
[    3.616104] hub 1-1.1:1.0: 4 ports detected
[    3.704708] usb 1-2.4: new low-speed USB device number 6 using ehci_hcd
[    3.875127] usb 1-2.4: New USB device found, idVendor=0557, idProduct=2213
[    3.875147] usb 1-2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.875160] usb 1-2.4: Product: CS1784
[    3.875170] usb 1-2.4: Manufacturer: ATEN
[    3.952749] usb 1-1.1.1: new full-speed USB device number 7 using ehci_hcd
[    4.046154] usb 1-1.1.1: New USB device found, idVendor=03eb, idProduct=204b
[    4.046164] usb 1-1.1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.046170] usb 1-1.1.1: Product: CUL868
[    4.046175] usb 1-1.1.1: Manufacturer: busware.de
[    5.494821] udev[269]: starting version 164
[    6.391381] ACPI: AC Adapter [ADP1] (on-line)
[    6.394203] input: Power Button as /devices/LNXSYSTM:00/device:00/PNP0C0C:00/input/input0
[    6.394219] ACPI: Power Button [PWRB]
[    6.394434] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    6.394448] ACPI: Power Button [PWRF]
[    6.394463] ACPI Error: Could not enable PowerButton event (20110623/evxfevnt-199)
[    6.394474] ACPI Warning: Could not enable fixed event 0x2 (20110623/evxface-198)
[    6.409361] input: PC Speaker as /devices/platform/pcspkr/input/input2
[    6.416384] button: probe of LNXPWRBN:00 failed with error -22
[    6.531189] ACPI: Battery Slot [BAT0] (battery absent)
[    6.531254] ACPI: Battery Slot [BAT1] (battery absent)
[    6.531317] ACPI: Battery Slot [BAT2] (battery absent)
[    6.709244] cdc_acm 1-1.1.1:1.0: ttyACM0: USB ACM device
[    6.710196] usbcore: registered new interface driver cdc_acm
[    6.710216] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[    7.062048] cfg80211: Calling CRDA to update world regulatory domain
[    7.694749] [drm] Initialized drm 1.1.0 20060810
[    8.155838] input: ATEN CS1784 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.4/1-2.4:1.0/input/input3
[    8.156228] generic-usb 0003:0557:2213.0001: input,hidraw0: USB HID v1.00 Keyboard [ATEN CS1784] on usb-0000:00:1d.7-2.4/input0
[    8.180903] input: ATEN CS1784 as /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2.4/1-2.4:1.1/input/input4
[    8.182032] generic-usb 0003:0557:2213.0002: input,hidraw1: USB HID v1.00 Mouse [ATEN CS1784] on usb-0000:00:1d.7-2.4/input1
[    8.182415] usbcore: registered new interface driver usbhid
[    8.182422] usbhid: USB HID core driver
[    8.185621] snd_hda_intel 0000:00:1b.0: PCI INT A -> GSI 22 (level, low) -> IRQ 22
[    8.185692] snd_hda_intel 0000:00:1b.0: setting latency timer to 64
[    8.476755] hda_codec: ALC662 rev1: SKU not ready 0x411111f0
[    8.478960] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input5
[    8.483610] input: HDA Intel MID Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input6
[    8.516422] psb_gfx: module is from the staging directory, the quality is unknown, you have been warned.
[    8.520574] gma500 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    8.520586] gma500 0000:00:02.0: setting latency timer to 64
[    8.521453] ioremap error for 0x7f6bc000-0x7f6bf000, requested 0x10, got 0x0
[    8.521677] Stolen memory information
[    8.521683]        base in RAM: 0x7f800000
[    8.521688]        size: 8060K, calculated by (GTT RAM base) - (Stolen base), seems wrong
[    8.521694]       the correct size should be: 8M(dvmt mode=3)
[    8.524340] Set up 2015 stolen pages starting at 0x7f800000, GTT offset 0K
[    8.524518] [drm] SGX core id = 0x01130000
[    8.524524] [drm] SGX core rev major = 0x01, minor = 0x02
[    8.524529] [drm] SGX core rev maintenance = 0x01, designer = 0x00
[    8.540571] [Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
[    8.620705] acpi device:05: registered as cooling_device2
[    8.672686] acpi device:06: registered as cooling_device3
[    8.673081] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input7
[    8.673371] ACPI: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    8.673451] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    8.673456] [drm] No driver support for vblank timestamp query.
[    8.788053] usb 1-7: reset high-speed USB device number 4 using ehci_hcd
[    9.016823] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[    9.018715] Registered led device: rt2800usb-phy0::radio
[    9.018785] Registered led device: rt2800usb-phy0::assoc
[    9.018856] Registered led device: rt2800usb-phy0::quality
[    9.018941] usbcore: registered new interface driver rt2800usb
[    9.506796] Raw EDID:
[    9.506855]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.506914]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.506972]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507030]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507088]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507145]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507203]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507261]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[    9.507323] gma500 0000:00:02.0: LVDS-1: EDID block 0 invalid.
[   10.689641] Raw EDID:
[   10.689699]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.689758]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.689816]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.689874]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.689932]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.689990]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.690047]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.690105]  	00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[   10.690186] gma500 0000:00:02.0: LVDS-1: EDID block 0 invalid.
[   10.736995] gma500 0000:00:02.0: allocated 1024x768 fb
[   10.737183] fbcon: psbfb (fb0) is primary device
[   11.150278] Console: switching to colour frame buffer device 128x48
[   11.157488] fb0: psbfb frame buffer device
[   11.157491] drm: registered panic notifier
[   11.157609] gma500 0000:00:02.0: Backlight lvds set brightness 7a120000
[   11.157619] [drm] Initialized gma500 1.0.0 2011-06-06 for 0000:00:02.0 on minor 0
[   11.639469] Adding 3906556k swap on /dev/sda2.  Priority:-1 extents:1 across:3906556k 
[   11.646926] EXT4-fs (sda3): re-mounted. Opts: (null)
[   11.934184] EXT4-fs (sda3): re-mounted. Opts: errors=remount-ro
[   12.150401] loop: module loaded
[   14.522369] r8169 0000:02:00.0: eth0: link down
[   14.522773] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   14.671742] r8169 0000:03:00.0: eth1: link down
[   14.672169] ADDRCONF(NETDEV_UP): eth1: link is not ready
[   15.905781] fuse init (API version 7.17)
[   20.739159] RPC: Registered named UNIX socket transport module.
[   20.739165] RPC: Registered udp transport module.
[   20.739169] RPC: Registered tcp transport module.
[   20.739172] RPC: Registered tcp NFSv4.1 backchannel transport module.
[   22.696401] Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
[   23.736879] svc: failed to register lockdv1 RPC service (errno 97).
[   23.736974] NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory
[   23.883115] NFSD: starting 90-second grace period
[   27.350333] sshd (1622): /proc/1622/oom_adj is deprecated, please use /proc/1622/oom_score_adj instead.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-11-29 19:56                                 ` booster
@ 2011-12-01 10:20                                   ` Francois Romieu
  2011-12-01 20:42                                     ` booster
  0 siblings, 1 reply; 26+ messages in thread
From: Francois Romieu @ 2011-12-01 10:20 UTC (permalink / raw)
  To: booster
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

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:

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-12-01 10:20                                   ` Francois Romieu
@ 2011-12-01 20:42                                     ` booster
  2011-12-01 22:26                                       ` Francois Romieu
  0 siblings, 1 reply; 26+ messages in thread
From: booster @ 2011-12-01 20:42 UTC (permalink / raw)
  To: Francois Romieu
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

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


^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
  2011-12-01 20:42                                     ` booster
@ 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  6:30                                         ` [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler Francois Romieu
  0 siblings, 2 replies; 26+ messages in thread
From: Francois Romieu @ 2011-12-01 22:26 UTC (permalink / raw)
  To: booster
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

booster@wolke7.net <booster@wolke7.net> :
[...]
> 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.

Wonderful. Thanks for testing.

> 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.

I have never looked too closely at it. You may experiment with the LEDS0 and
LEDS1 bits of Config1 (no warranty). Your chipset would require it in
__rtl_hw_start_8168cp - if at all.

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..d6243a9 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -4602,7 +4620,7 @@ static void rtl_hw_start_8168bef(void __iomem *ioaddr, struct pci_dev *pdev)
 
 static void __rtl_hw_start_8168cp(void __iomem *ioaddr, struct pci_dev *pdev)
 {
-	RTL_W8(Config1, RTL_R8(Config1) | Speed_down);
+	RTL_W8(Config1, RTL_R8(Config1) | Speed_down | LEDS1);
 
 	RTL_W8(Config3, RTL_R8(Config3) & ~Beacon_en);
 

-- 
Ueimor

^ permalink raw reply related	[flat|nested] 26+ messages in thread

* RE: [bug?] r8169: hangs under heavy load
  2011-11-29 10:54                               ` Francois Romieu
  2011-11-29 19:56                                 ` booster
@ 2011-12-02  2:21                                 ` hayeswang
  1 sibling, 0 replies; 26+ messages in thread
From: hayeswang @ 2011-12-02  2:21 UTC (permalink / raw)
  To: 'Francois Romieu'
  Cc: booster, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

Francois Romieu [mailto:romieu@fr.zoreil.com] 
[...]
> > For the 8168c and the later chips, our hardware engineer 
> says that don't enable
> > the RxFIFOOver of IntrMask and don't clear the RxFIFOOver 
> of IntrStatus. The
> > hardware will automatically escape Rx fifo full situation. 
> Although you try to
> > clear the RxFIFOOver of IntrStatus, maybe the bit wouldn't 
> be cleared. Just
> > disregard it.
> 
> Should "later" be understood as gigabit PCI-E only or is 
> there a similar
> difference of behavior between older fast-ethernet PCI-E and 
> more recent
> ones ?
> 

For the fast controller, it should start from rtl8105e. 

Best Regards,
Hayes


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [PATCH 1/2] r8169: Rx FIFO overflow fixes.
  2011-12-01 22:26                                       ` Francois Romieu
@ 2011-12-05  6:30                                         ` Francois Romieu
  2011-12-05 23:45                                           ` David Miller
  2012-02-20  2:37                                           ` Jonathan Nieder
  2011-12-05  6:30                                         ` [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler Francois Romieu
  1 sibling, 2 replies; 26+ messages in thread
From: Francois Romieu @ 2011-12-05  6:30 UTC (permalink / raw)
  To: booster
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

Realtek has specified that the post 8168c gigabit chips and the post
8105e fast ethernet chips recover automatically from a Rx FIFO overflow.
The driver does not need to clear the RxFIFOOver bit of IntrStatus and
it should rather avoid messing it.

The implementation deserves some explanation:
1. events outside of the intr_event bit mask are now ignored. It enforces
   a no-processing policy for the events that either should not be there
   or should be ignored.

2. RxFIFOOver was already ignored in rtl_cfg_infos[RTL_CFG_1] for the
   whole 8168 line of chips with two exceptions:
   - RTL_GIGA_MAC_VER_22 since b5ba6d12bdac21bc0620a5089e0f24e362645efd
     ("use RxFIFO overflow workaround for 8168c chipset.").
     This one should now be correctly handled.
   - RTL_GIGA_MAC_VER_11 (8168b) which requires a different Rx FIFO
     overflow processing.

   Though it does not conform to Realtek suggestion above, the updated
   driver includes no change for RTL_GIGA_MAC_VER_12 and RTL_GIGA_MAC_VER_17.
   Both are 8168b. RTL_GIGA_MAC_VER_12 is common and a bit old so I'd rather
   wait for experimental evidence that the change suggested by Realtek really
   helps or does not hurt in unexpected ways.

   Removed case statements in rtl8169_interrupt are only 8168 relevant.

3. RxFIFOOver is masked for post 8105e 810x chips, namely the sole 8105e
   (RTL_GIGA_MAC_VER_30) itself.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: hayeswang <hayeswang@realtek.com>
---

 Gerd, can you add your Tested-by: to this patch ? Thanks.

 drivers/net/ethernet/realtek/r8169.c |   42 +++++++++++++--------------------
 1 files changed, 17 insertions(+), 25 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 6f06aa1..7a1e3a6 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -1183,11 +1183,13 @@ static u8 rtl8168d_efuse_read(void __iomem *ioaddr, int reg_addr)
 	return value;
 }
 
-static void rtl8169_irq_mask_and_ack(void __iomem *ioaddr)
+static void rtl8169_irq_mask_and_ack(struct rtl8169_private *tp)
 {
-	RTL_W16(IntrMask, 0x0000);
+	void __iomem *ioaddr = tp->mmio_addr;
 
-	RTL_W16(IntrStatus, 0xffff);
+	RTL_W16(IntrMask, 0x0000);
+	RTL_W16(IntrStatus, tp->intr_event);
+	RTL_R8(ChipCmd);
 }
 
 static unsigned int rtl8169_tbi_reset_pending(struct rtl8169_private *tp)
@@ -4339,7 +4341,7 @@ static void rtl8169_hw_reset(struct rtl8169_private *tp)
 	void __iomem *ioaddr = tp->mmio_addr;
 
 	/* Disable interrupts */
-	rtl8169_irq_mask_and_ack(ioaddr);
+	rtl8169_irq_mask_and_ack(tp);
 
 	rtl_rx_close(tp);
 
@@ -4885,8 +4887,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;
 	}
@@ -5076,6 +5077,11 @@ static void rtl_hw_start_8101(struct net_device *dev)
 	void __iomem *ioaddr = tp->mmio_addr;
 	struct pci_dev *pdev = tp->pci_dev;
 
+	if (tp->mac_version >= RTL_GIGA_MAC_VER_30) {
+		tp->intr_event &= ~RxFIFOOver;
+		tp->napi_event &= ~RxFIFOOver;
+	}
+
 	if (tp->mac_version == RTL_GIGA_MAC_VER_13 ||
 	    tp->mac_version == RTL_GIGA_MAC_VER_16) {
 		int cap = pci_pcie_cap(pdev);
@@ -5342,7 +5348,7 @@ static void rtl8169_wait_for_quiescence(struct net_device *dev)
 	/* Wait for any pending NAPI task to complete */
 	napi_disable(&tp->napi);
 
-	rtl8169_irq_mask_and_ack(ioaddr);
+	rtl8169_irq_mask_and_ack(tp);
 
 	tp->intr_mask = 0xffff;
 	RTL_W16(IntrMask, tp->intr_event);
@@ -5804,6 +5810,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,27 +5828,9 @@ 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);
 				goto done;
-			/* Testers needed. */
-			case RTL_GIGA_MAC_VER_17:
-			case RTL_GIGA_MAC_VER_19:
-			case RTL_GIGA_MAC_VER_20:
-			case RTL_GIGA_MAC_VER_21:
-			case RTL_GIGA_MAC_VER_23:
-			case RTL_GIGA_MAC_VER_24:
-			case RTL_GIGA_MAC_VER_27:
-			case RTL_GIGA_MAC_VER_28:
-			case RTL_GIGA_MAC_VER_31:
-			/* Experimental science. Pktgen proof. */
-			case RTL_GIGA_MAC_VER_12:
-			case RTL_GIGA_MAC_VER_25:
-				if (status == RxFIFOOver)
-					goto done;
-				break;
 			default:
 				break;
 			}
-- 
1.7.6.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler.
  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  6:30                                         ` Francois Romieu
  2011-12-05 23:45                                           ` David Miller
  1 sibling, 1 reply; 26+ messages in thread
From: Francois Romieu @ 2011-12-05  6:30 UTC (permalink / raw)
  To: booster
  Cc: hayeswang, 'Jonathan Nieder', 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi'

Since 92fc43b4159b518f5baae57301f26d770b0834c9, rtl8169_tx_timeout ends up
resetting Rx and Tx indexes and thus racing with the NAPI handler via
-> rtl8169_hw_reset
   -> rtl_hw_reset
      -> rtl8169_init_ring_indexes

What about returning to the original state ?

rtl_hw_reset is only used by rtl8169_hw_reset and rtl8169_init_one.

The latter does not need rtl8169_init_ring_indexes because the indexes
still contain their original values from the newly allocated network
device private data area (i.e. 0).

rtl8169_hw_reset is used by:
1. rtl8169_down
   Helper for rtl8169_close. rtl8169_open explicitely inits the indexes
   anyway.
2. rtl8169_pcierr_interrupt
   Indexes are set by rtl8169_reinit_task.
3. rtl8169_interrupt
   rtl8169_hw_reset is needed when the device goes down. See 1.
4. rtl_shutdown
   System shutdown handler. Indexes are irrelevant.
5. rtl8169_reset_task
   Indexes must be set before rtl_hw_start is called.
6. rtl8169_tx_timeout
   Indexes should not be set. This is the job of rtl8169_reset_task anyway.

The removal of rtl8169_hw_reset in rtl8169_tx_timeout and its move in
rtl8169_reset_task do not change the analysis.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: hayeswang <hayeswang@realtek.com>
---
 drivers/net/ethernet/realtek/r8169.c |   11 +++--------
 1 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
index 7a1e3a6..67bf078 100644
--- a/drivers/net/ethernet/realtek/r8169.c
+++ b/drivers/net/ethernet/realtek/r8169.c
@@ -3935,8 +3935,6 @@ static void rtl_hw_reset(struct rtl8169_private *tp)
 			break;
 		udelay(100);
 	}
-
-	rtl8169_init_ring_indexes(tp);
 }
 
 static int __devinit
@@ -5395,14 +5393,16 @@ static void rtl8169_reset_task(struct work_struct *work)
 	if (!netif_running(dev))
 		goto out_unlock;
 
+	rtl8169_hw_reset(tp);
+
 	rtl8169_wait_for_quiescence(dev);
 
 	for (i = 0; i < NUM_RX_DESC; i++)
 		rtl8169_mark_to_asic(tp->RxDescArray + i, rx_buf_sz);
 
 	rtl8169_tx_clear(tp);
+	rtl8169_init_ring_indexes(tp);
 
-	rtl8169_hw_reset(tp);
 	rtl_hw_start(dev);
 	netif_wake_queue(dev);
 	rtl8169_check_link_status(dev, tp, tp->mmio_addr);
@@ -5413,11 +5413,6 @@ out_unlock:
 
 static void rtl8169_tx_timeout(struct net_device *dev)
 {
-	struct rtl8169_private *tp = netdev_priv(dev);
-
-	rtl8169_hw_reset(tp);
-
-	/* Let's wait a bit while any (async) irq lands on */
 	rtl8169_schedule_work(dev, rtl8169_reset_task);
 }
 
-- 
1.7.6.4


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* Re: [PATCH 2/2] r8169: fix Rx index race between FIFO overflow recovery and NAPI handler.
  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
  0 siblings, 0 replies; 26+ messages in thread
From: David Miller @ 2011-12-05 23:45 UTC (permalink / raw)
  To: romieu
  Cc: booster, hayeswang, jrnieder, eric.dumazet, netdev, nic_swsd,
	linux-kernel, armin.kazmi

From: Francois Romieu <romieu@fr.zoreil.com>
Date: Mon, 5 Dec 2011 07:30:52 +0100

> Since 92fc43b4159b518f5baae57301f26d770b0834c9, rtl8169_tx_timeout ends up
> resetting Rx and Tx indexes and thus racing with the NAPI handler via
> -> rtl8169_hw_reset
>    -> rtl_hw_reset
>       -> rtl8169_init_ring_indexes
> 
> What about returning to the original state ?
> 
> rtl_hw_reset is only used by rtl8169_hw_reset and rtl8169_init_one.
> 
> The latter does not need rtl8169_init_ring_indexes because the indexes
> still contain their original values from the newly allocated network
> device private data area (i.e. 0).
> 
> rtl8169_hw_reset is used by:
> 1. rtl8169_down
>    Helper for rtl8169_close. rtl8169_open explicitely inits the indexes
>    anyway.
> 2. rtl8169_pcierr_interrupt
>    Indexes are set by rtl8169_reinit_task.
> 3. rtl8169_interrupt
>    rtl8169_hw_reset is needed when the device goes down. See 1.
> 4. rtl_shutdown
>    System shutdown handler. Indexes are irrelevant.
> 5. rtl8169_reset_task
>    Indexes must be set before rtl_hw_start is called.
> 6. rtl8169_tx_timeout
>    Indexes should not be set. This is the job of rtl8169_reset_task anyway.
> 
> The removal of rtl8169_hw_reset in rtl8169_tx_timeout and its move in
> rtl8169_reset_task do not change the analysis.
> 
> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
> Cc: hayeswang <hayeswang@realtek.com>

Applied.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] r8169: Rx FIFO overflow fixes.
  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
  1 sibling, 0 replies; 26+ messages in thread
From: David Miller @ 2011-12-05 23:45 UTC (permalink / raw)
  To: romieu
  Cc: booster, hayeswang, jrnieder, eric.dumazet, netdev, nic_swsd,
	linux-kernel, armin.kazmi

From: Francois Romieu <romieu@fr.zoreil.com>
Date: Mon, 5 Dec 2011 07:30:45 +0100

> Realtek has specified that the post 8168c gigabit chips and the post
> 8105e fast ethernet chips recover automatically from a Rx FIFO overflow.
> The driver does not need to clear the RxFIFOOver bit of IntrStatus and
> it should rather avoid messing it.
> 
> The implementation deserves some explanation:
> 1. events outside of the intr_event bit mask are now ignored. It enforces
>    a no-processing policy for the events that either should not be there
>    or should be ignored.
> 
> 2. RxFIFOOver was already ignored in rtl_cfg_infos[RTL_CFG_1] for the
>    whole 8168 line of chips with two exceptions:
>    - RTL_GIGA_MAC_VER_22 since b5ba6d12bdac21bc0620a5089e0f24e362645efd
>      ("use RxFIFO overflow workaround for 8168c chipset.").
>      This one should now be correctly handled.
>    - RTL_GIGA_MAC_VER_11 (8168b) which requires a different Rx FIFO
>      overflow processing.
> 
>    Though it does not conform to Realtek suggestion above, the updated
>    driver includes no change for RTL_GIGA_MAC_VER_12 and RTL_GIGA_MAC_VER_17.
>    Both are 8168b. RTL_GIGA_MAC_VER_12 is common and a bit old so I'd rather
>    wait for experimental evidence that the change suggested by Realtek really
>    helps or does not hurt in unexpected ways.
> 
>    Removed case statements in rtl8169_interrupt are only 8168 relevant.
> 
> 3. RxFIFOOver is masked for post 8105e 810x chips, namely the sole 8105e
>    (RTL_GIGA_MAC_VER_30) itself.
> 
> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
> Cc: hayeswang <hayeswang@realtek.com>

Applied.

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] r8169: Rx FIFO overflow fixes.
  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
  1 sibling, 1 reply; 26+ messages in thread
From: Jonathan Nieder @ 2012-02-20  2:37 UTC (permalink / raw)
  To: Francois Romieu
  Cc: booster, hayeswang, 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi',
	Lucas Stach

Hi François, Gerd, et al,

Francois Romieu wrote:

> Realtek has specified that the post 8168c gigabit chips and the post
> 8105e fast ethernet chips recover automatically from a Rx FIFO overflow.
> The driver does not need to clear the RxFIFOOver bit of IntrStatus and
> it should rather avoid messing it.
>
> The implementation deserves some explanation:

I would be interested in some subset of these fixes for 3.0.y and
2.6.32.y.  In particular:

> 1. events outside of the intr_event bit mask are now ignored.
>    a no-processing policy for the events that either should not be there
>    or should be ignored.

This seems like a valuable and unrisky change.

> 2. RxFIFOOver was already ignored in rtl_cfg_infos[RTL_CFG_1] for the
>    whole 8168 line of chips with two exceptions:
>    - RTL_GIGA_MAC_VER_22 since b5ba6d12bdac21bc0620a5089e0f24e362645efd
>      ("use RxFIFO overflow workaround for 8168c chipset.").
>      This one should now be correctly handled.

This seems useful if we can test it.

[...]
> 3. RxFIFOOver is masked for post 8105e 810x chips, namely the sole 8105e
>    (RTL_GIGA_MAC_VER_30) itself.

This also seems useful if we can test it.

What do you think?  Is there any way I can help?  (E.g., given rough
guidelines about what approach is acceptable I'd be happy to work with
Gerd to produce a tested patch that does (1) and (2) but not (3) for
3.0.y.)

Thanks for your hard work,
Jonathan

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [PATCH 1/2] r8169: Rx FIFO overflow fixes.
  2012-02-20  2:37                                           ` Jonathan Nieder
@ 2012-02-20 23:22                                             ` Francois Romieu
  0 siblings, 0 replies; 26+ messages in thread
From: Francois Romieu @ 2012-02-20 23:22 UTC (permalink / raw)
  To: Jonathan Nieder
  Cc: booster, hayeswang, 'Eric Dumazet',
	netdev, 'nic_swsd', linux-kernel, 'Armin Kazmi',
	Lucas Stach

Jonathan Nieder <jrnieder@gmail.com> :
[...]
> What do you think?  Is there any way I can help?  (E.g., given rough
> guidelines about what approach is acceptable I'd be happy to work with
> Gerd to produce a tested patch that does (1) and (2) but not (3) for
> 3.0.y.)

Few guidelines are needed: go for it.

I would trust the manufacturer for (3) though.

If you still have time to help, you should really try to break davem-next
branch. I won't claim it's bug-free but the IRQ / napi / Tx processing in
the r8169 driver should now be easier to read and maintain.

-- 
Ueimor

^ permalink raw reply	[flat|nested] 26+ messages in thread

* Re: [bug?] r8169: hangs under heavy load
@ 2011-11-29 19:09 Lucas Stach
  0 siblings, 0 replies; 26+ messages in thread
From: Lucas Stach @ 2011-11-29 19:09 UTC (permalink / raw)
  To: Netdev, Francois Romieu

[please cc me on every answer, I'm not subscribed to the list]

Hello Francois and others,

>Gerd, can you try the patch below ? It should match Haye's description.
>
>diff --git a/drivers/net/ethernet/realtek/r8169.c b/drivers/net/ethernet/realtek/r8169.c
>index 6f06aa1..97b5593 100644
>--- a/drivers/net/ethernet/realtek/r8169.c
>+++ b/drivers/net/ethernet/realtek/r8169.c
>@@ -4885,8 +4885,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 +5803,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 +5821,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 +5830,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:

I have tried the above patch in an attempt to solve my problem described
in message "Lockups with r8169 driver (Was: Hangs with Linux
3.2.0-rc3)", which are really similar to the problem described in this
thread.

The patch doesn't help, in fact it renders the ethernet adapter
unusable, as it is failing even the media detect (according to network
manager). I will gladly test any other patches you come up with.

Thanks,
Lucas

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2012-02-20 23:35 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [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
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

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.