Netdev List
 help / color / mirror / Atom feed
* [PATCH net-2.6.24] [NET] Cleanup: DIV_ROUND_UP
From: Ilpo Järvinen @ 2007-08-22 10:48 UTC (permalink / raw)
  To: David Miller; +Cc: Netdev

[-- Attachment #1: Type: TEXT/PLAIN, Size: 2118 bytes --]


Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
---
 net/ipv4/tcp_output.c |    6 +-----
 net/key/af_key.c      |   17 +++++------------
 2 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index 10b2e39..bca4ee2 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -646,11 +646,7 @@ static void tcp_set_skb_tso_segs(struct sock *sk, struct sk_buff *skb, unsigned
 		skb_shinfo(skb)->gso_size = 0;
 		skb_shinfo(skb)->gso_type = 0;
 	} else {
-		unsigned int factor;
-
-		factor = skb->len + (mss_now - 1);
-		factor /= mss_now;
-		skb_shinfo(skb)->gso_segs = factor;
+		skb_shinfo(skb)->gso_segs = DIV_ROUND_UP(skb->len, mss_now);
 		skb_shinfo(skb)->gso_size = mss_now;
 		skb_shinfo(skb)->gso_type = sk->sk_gso_type;
 	}
diff --git a/net/key/af_key.c b/net/key/af_key.c
index 5502df1..17b2a69 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -352,16 +352,14 @@ static int verify_address_len(void *p)
 
 	switch (addr->sa_family) {
 	case AF_INET:
-		len  = sizeof(*sp) + sizeof(*sin) + (sizeof(uint64_t) - 1);
-		len /= sizeof(uint64_t);
+		len = DIV_ROUND_UP(sizeof(*sp) + sizeof(*sin), sizeof(uint64_t));
 		if (sp->sadb_address_len != len ||
 		    sp->sadb_address_prefixlen > 32)
 			return -EINVAL;
 		break;
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
 	case AF_INET6:
-		len  = sizeof(*sp) + sizeof(*sin6) + (sizeof(uint64_t) - 1);
-		len /= sizeof(uint64_t);
+		len = DIV_ROUND_UP(sizeof(*sp) + sizeof(*sin6), sizeof(uint64_t));
 		if (sp->sadb_address_len != len ||
 		    sp->sadb_address_prefixlen > 128)
 			return -EINVAL;
@@ -386,14 +384,9 @@ static int verify_address_len(void *p)
 
 static inline int pfkey_sec_ctx_len(struct sadb_x_sec_ctx *sec_ctx)
 {
-	int len = 0;
-
-	len += sizeof(struct sadb_x_sec_ctx);
-	len += sec_ctx->sadb_x_ctx_len;
-	len += sizeof(uint64_t) - 1;
-	len /= sizeof(uint64_t);
-
-	return len;
+	return DIV_ROUND_UP(sizeof(struct sadb_x_sec_ctx) +
+			    sec_ctx->sadb_x_ctx_len,
+			    sizeof(uint64_t));
 }
 
 static inline int verify_sec_ctx_len(void *p)
-- 
1.5.0.6

^ permalink raw reply related

* Re: net-2.6.24 failure with netconsole
From: Thomas Graf @ 2007-08-22 10:39 UTC (permalink / raw)
  To: Andrew Morton; +Cc: David S. Miller, Stephen Hemminger, netdev
In-Reply-To: <20070821225438.9493f44c.akpm@linux-foundation.org>

* Andrew Morton <akpm@linux-foundation.org> 2007-08-21 22:54
> Which used to be a BUG.  It later oopsed via a null-pointer deref in
> net_rx_action(), which is a much preferable result.

I fixed this already

Index: net-2.6.24/include/linux/netpoll.h
===================================================================
--- net-2.6.24.orig/include/linux/netpoll.h	2007-08-22 01:02:14.000000000 +0200
+++ net-2.6.24/include/linux/netpoll.h	2007-08-22 01:02:30.000000000 +0200
@@ -75,7 +75,7 @@ static inline void *netpoll_poll_lock(st
 	struct net_device *dev = napi->dev;
 
 	rcu_read_lock(); /* deal with race on ->npinfo */
-	if (dev->npinfo) {
+	if (dev && dev->npinfo) {
 		spin_lock(&napi->poll_lock);
 		napi->poll_owner = smp_processor_id();
 		return napi;

^ permalink raw reply

* ps3 gelic network driver doesn't restart properly
From: Stefan Assmann @ 2007-08-22  9:17 UTC (permalink / raw)
  To: cbe-oss-dev, netdev; +Cc: Geert Uytterhoeven, Geoff Levand, ppc

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

Hi,

there seems to be a problem with the ps3 gelic network driver. The first
time the interface is configured (in my test case over dhcp) the
interface is set up just fine. However after a

ifconfig down eth0
ifconfig up eth0

the interface  isn't set up right and a following

ifconfig down eth0

is hanging in D status. For further investigation I'll attach some logs
where a network restart has been triggered. I reproduced this with a
2.6.22 kernel and the 2.6.23-rc3 kernel from Geoff's git tree.

    Stefan

[-- Attachment #2: dmesg-ps3-jp.suse.de-2.6.22.3-3-ppc64.txt --]
[-- Type: text/plain, Size: 105512 bytes --]

  PID TTY      STAT   TIME COMMAND
    2 ?        S<     0:00 [kthreadd]
    3 ?        S<     0:00  \_ [migration/0]
    4 ?        SN     0:00  \_ [ksoftirqd/0]
    5 ?        S<     0:00  \_ [migration/1]
    6 ?        SN     0:00  \_ [ksoftirqd/1]
    7 ?        S<     0:00  \_ [events/0]
    8 ?        S<     0:00  \_ [events/1]
    9 ?        S<     0:00  \_ [khelper]
   56 ?        S<     0:00  \_ [kblockd/0]
   57 ?        S<     0:00  \_ [kblockd/1]
   58 ?        S<     0:00  \_ [cqueue/0]
   59 ?        S<     0:00  \_ [cqueue/1]
   63 ?        S<     0:00  \_ [khubd]
   65 ?        S<     0:00  \_ [kseriod]
   86 ?        S<     0:00  \_ [ps3avd]
   99 ?        S      0:00  \_ [pdflush]
  100 ?        S      0:00  \_ [pdflush]
  101 ?        S<     0:00  \_ [kswapd0]
  102 ?        S<     0:00  \_ [aio/0]
  103 ?        S<     0:00  \_ [aio/1]
  113 ?        S<     0:03  \_ [ps3fb]
  312 ?        S<     0:00  \_ [khvcd]
  375 ?        S<     0:00  \_ [kpsmoused]
  457 ?        S<     0:00  \_ [scsi_eh_0]
  915 ?        S<     0:00  \_ [kjournald]
 1313 ?        S<     0:00  \_ [scsi_eh_1]
 1314 ?        S<     0:00  \_ [usb-storage]
 1533 ?        S<     0:00  \_ [krfcommd]
 2891 ?        S<     0:00  \_ [kauditd]
    1 ?        Ss     0:00 init [3]  
  977 ?        S<s    0:00 /sbin/udevd --daemon
 1483 ?        S<s    0:00 /usr/sbin/hcid -s -f /etc/bluetooth/hcid.conf
 1978 ?        S<     0:00  \_ /usr/lib/bluetooth/bluetoothd-service-input
 1854 ?        Ss     0:00 /sbin/resmgrd
 1871 ?        Ss     0:00 /bin/dbus-daemon --system
 1891 ?        Ssl    0:00 /usr/sbin/console-kit-daemon
 1892 ?        Ss     0:00 /usr/sbin/hald --daemon=yes
 1958 ?        S      0:00  \_ hald-runner
 2087 ?        S      0:00      \_ hald-addon-input: Listening on /dev/input/event1 /dev/input/event0 /dev/input/event2
 2121 ?        S      0:00      \_ hald-addon-storage: polling /dev/sda (every 16 sec)
 2127 ?        S      0:00      \_ hald-addon-storage: polling /dev/sdb (every 16 sec)
 2134 ?        S      0:00      \_ hald-addon-storage: polling /dev/sdc (every 16 sec)
 2660 ?        Ss     0:00 /sbin/klogd -c 1 -x -x
 2663 ?        Ss     0:00 /sbin/syslog-ng
 2670 ?        Ss     0:00 /sbin/portmap
 2685 ?        Sl     0:00 /usr/sbin/ypbind
 2727 ?        Ssl    0:00 /usr/sbin/nscd
 2742 ?        Ssl    0:00 /usr/sbin/automount
 2757 ?        Ss     0:00 /usr/sbin/sshd -o PidFile=/var/run/sshd.init.pid
 2889 ?        Ss     0:00  \_ sshd: root@pts/0                                   
 2892 pts/0    Ss+    0:00      \_ -bash
 2800 ?        Ss     0:00 /usr/lib/postfix/master
 2826 ?        S      0:00  \_ pickup -l -t fifo -u
 2827 ?        S      0:00  \_ qmgr -l -t fifo -u
 2835 ?        Ss     0:00 /usr/sbin/cron
 2846 ?        Ss     0:00 login -- root     
 3536 tty1     Ss     0:00  \_ -bash
 3566 tty1     S+     0:00      \_ /bin/bash /sbin/rcnetwork restart
 3574 tty1     S+     0:00          \_ /bin/bash /sbin/rcnetwork stop
 3677 tty1     S+     0:00              \_ /bin/bash /sbin/ifdown eth0 -o rc
 3755 tty1     S+     0:00                  \_ /bin/bash /sbin/ifdown-dhcp eth0 eth0 -o rc
 3756 tty1     D+     0:00                      \_ ip link list eth0
 2847 ?        Ss     0:00 login -- root     
 3757 tty2     Ss     0:00  \_ -bash
 3793 tty2     S+     0:00      \_ -bash
 3796 tty2     R+     0:00          \_ ps fax
 2848 tty3     Ss+    0:00 /sbin/mingetty tty3
 2849 tty4     Ss+    0:00 /sbin/mingetty tty4
 2850 tty5     Ss+    0:00 /sbin/mingetty tty5
 2853 tty6     Ss+    0:00 /sbin/mingetty tty6
 3473 pts/0    D      0:00 /sbin/dhcpcd -C -H -D -K -t 999999 -h ps3-jp -c /etc/sysconfig/network/scripts/dhcpcd-hook eth0
Using PS3 machine description
Page orders: linear mapping = 24, virtual = 12, io = 12
Found initrd at 0xc000000000c47000:0xc000000000e94000
Starting Linux PPC64 #1 SMP 2007/08/16 14:09:17 UTC
-----------------------------------------------------
ppc64_pft_size                = 0x14
physicalMemorySize            = 0x8000000
ppc64_caches.dcache_line_size = 0x80
ppc64_caches.icache_line_size = 0x80
htab_address                  = 0x0000000000000000
htab_hash_mask                = 0x1fff
-----------------------------------------------------
Linux version 2.6.22.3-3-ppc64 (geeko@buildhost) (gcc version 4.2.1 (SUSE Linux)) #1 SMP 2007/08/16 14:09:17 UTC
*** 0000 : CF000012

*** 0000 : Setup Arch
[boot]0012 Setup Arch
Top of RAM: 0x8000000, Total RAM: 0x8000000
Memory hole size: 0MB
Entering add_active_range(0, 0, 32768) 0 entries of 256 used
PS3 firmware version 1.9.0
ps3fb videomemory: 18874368 bytes at c000000000f00000
ps3flash bounce buffer: 262144 bytes at c000000000a40000
Zone PFN ranges:
  DMA             0 ->    32768
  Normal      32768 ->    32768
early_node_map[1] active PFN ranges
    0:        0 ->    32768
On node 0 totalpages: 32768
  DMA zone: 448 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 32320 pages, LIFO batch:7
  Normal zone: 0 pages used for memmap
*** 0000 : CF000015

*** 0000 : Setup Done
[boot]0015 Setup Done
Built 1 zonelists.  Total pages: 32320
Kernel command line:  quiet panic=42 sysrq=1 
PID hash table entries: 512 (order: 9, 4096 bytes)
time_init: decrementer frequency = 79.800000 MHz
time_init: processor frequency   = 3192.000000 MHz
Console: colour dummy device 80x25
console handover: boot [udbg0] -> real [tty0]
Dentry cache hash table entries: 16384 (order: 5, 131072 bytes)
Inode-cache hash table entries: 8192 (order: 4, 65536 bytes)
freeing bootmem node 0
Memory: 99132k/131072k available (6132k kernel code, 31940k reserved, 1212k data, 1107k bss, 296k init)
Calibrating delay loop... 158.92 BogoMIPS (lpj=794624)
Security Framework v1.0.0 initialized
Mount-cache hash table entries: 256
Processor 1 found.
Brought up 2 CPUs
migration_cost=2
NET: Registered protocol family 16
*** 0000 : SuSE Linux

*** 0000 : #1 SMP 2007/08/16 14:09:17 UTC
CPU Hotplug not supported by firmware - disabling.
PCI: Probing PCI hardware
PCI: Probing PCI hardware done
Registering pmac pic with sysfs...
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 1, 8192 bytes)
TCP established hash table entries: 4096 (order: 4, 98304 bytes)
TCP bind hash table entries: 4096 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
Unpacking initramfs... done
Freeing initrd memory: 2356k freed
rtas_flash: no firmware flash support
IBM eBus Device Driver
ps3_system_bus_match:354: dev=4(vuart_01), drv=4(ps3_av): match
 -> ps3_system_bus_probe:365: vuart_01
ps3_system_bus_match:354: dev=8(sb_01), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=6(sb_02), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=7(sb_03), drv=4(ps3_av): miss
Monitor Info: size 96
avport: 00
monitor_id:  00 00 00 00 00 00 00 00 00 00
monitor_type: 00
monitor_name: 
resolution_60: bits: 00000000 native: 00000000
resolution_50: bits: 00000000 native: 00000000
resolution_other: bits: 00000000 native: 00000000
resolution_vesa: bits: 00000000 native: 00000000
color space    rgb: 00
color space yuv444: 00
color space yuv422: 00
color info   red: X 0000 Y 0000
color info green: X 0000 Y 0000
color info  blue: X 0000 Y 0000
color info white: X 0000 Y 0000
color info gamma:  00000000
supported_AI: 00
speaker_info: 00
num of audio: 00
ps3av_auto_videomode: Using avmulti mode 1
 <- ps3_system_bus_probe:376: vuart_01
ps3_system_bus_match:354: dev=5(vuart_02), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=10(ioc0_01), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=1(sb_05), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=2(sb_06), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=1(sb_07), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=2(sb_08), drv=4(ps3_av): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=4(ps3_av): miss
audit: initializing netlink socket (disabled)
audit(1187772426.890:1): initialized
Total HugeTLB memory allocated, 0
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
rpaphp: RPA HOT Plug PCI Controller Driver version: 0.1
rpadlpar_io_init: partition not DLPAR capable
ps3_system_bus_match:354: dev=8(sb_01), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=6(sb_02), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=7(sb_03), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=10(ioc0_01), drv=10(ps3fb): match
 -> ps3_system_bus_probe:365: ioc0_01
Console: switching to colour frame buffer device 72x48
ps3fb ioc0_01: graphics fb0, using 18432 KiB of video memory
 <- ps3_system_bus_probe:376: ioc0_01
ps3_system_bus_match:354: dev=3(sb_04), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=1(sb_05), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=2(sb_06), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=1(sb_07), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=2(sb_08), drv=10(ps3fb): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=10(ps3fb): miss
vio_register_driver: driver hvc_console registering
HVSI: registered 0 devices
Generic RTC Driver v1.07
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
pmac_zilog: 0.6 (Benjamin Herrenschmidt <benh@kernel.crashing.org>)
input: Macintosh mouse button emulation as /class/input/input0
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
ps3_system_bus_match:354: dev=8(sb_01), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=6(sb_02), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=7(sb_03), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=1(sb_05), drv=1(ps3-ehci-driver): match
 -> ps3_system_bus_probe:365: sb_05
dma_sb_region_create_linear:988: forcing 16M pages for linear map
 -> dma_sb_region_create:656:
ps3-ehci-driver sb_05: PS3 EHCI Host Controller
ps3-ehci-driver sb_05: new USB bus registered, assigned bus number 1
ps3-ehci-driver sb_05: irq 44, io mem 0x4000001d0000
ps3-ehci-driver sb_05: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb1: new device found, idVendor=0000, idProduct=0000
usb usb1: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: PS3 EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.22.3-3-ppc64 ehci_hcd
usb usb1: SerialNumber: sb_05
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
 <- ps3_system_bus_probe:376: sb_05
ps3_system_bus_match:354: dev=2(sb_06), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=1(sb_07), drv=1(ps3-ehci-driver): match
 -> ps3_system_bus_probe:365: sb_07
dma_sb_region_create_linear:988: forcing 16M pages for linear map
 -> dma_sb_region_create:656:
ps3-ehci-driver sb_07: PS3 EHCI Host Controller
ps3-ehci-driver sb_07: new USB bus registered, assigned bus number 2
ps3-ehci-driver sb_07: irq 45, io mem 0x4000001e0000
ps3-ehci-driver sb_07: USB 0.0 started, EHCI 1.00, driver 10 Dec 2004
usb usb2: new device found, idVendor=0000, idProduct=0000
usb usb2: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: PS3 EHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.22.3-3-ppc64 ehci_hcd
usb usb2: SerialNumber: sb_07
usb usb2: configuration #1 chosen from 1 choice
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 2 ports detected
 <- ps3_system_bus_probe:376: sb_07
ps3_system_bus_match:354: dev=2(sb_08), drv=1(ps3-ehci-driver): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=1(ps3-ehci-driver): miss
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
ps3_system_bus_match:354: dev=8(sb_01), drv=2(ps3-ohci-driver): miss
ps3_system_bus_match:354: dev=6(sb_02), drv=2(ps3-ohci-driver): miss
ps3_system_bus_match:354: dev=7(sb_03), drv=2(ps3-ohci-driver): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=2(ps3-ohci-driver): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=2(ps3-ohci-driver): miss
ps3_system_bus_match:354: dev=2(sb_06), drv=2(ps3-ohci-driver): match
 -> ps3_system_bus_probe:365: sb_06
dma_sb_region_create_linear:988: forcing 16M pages for linear map
 -> dma_sb_region_create:656:
ps3-ohci-driver sb_06: PS3 OHCI Host Controller
ps3-ohci-driver sb_06: new USB bus registered, assigned bus number 3
ps3-ohci-driver sb_06: irq 46, io mem 0x4000001f0000
usb 1-2: new high speed USB device using ps3-ehci-driver and address 2
usb 1-2: new device found, idVendor=054c, idProduct=0293
usb 1-2: new device strings: Mfr=10, Product=11, SerialNumber=0
usb 1-2: Product: GL852-4port
usb 1-2: Manufacturer: Sony
usb usb3: new device found, idVendor=0000, idProduct=0000
usb usb3: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: PS3 OHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.22.3-3-ppc64 ohci_hcd
usb usb3: SerialNumber: sb_06
usb 1-2: configuration #1 chosen from 1 choice
usb usb3: configuration #1 chosen from 1 choice
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 2 ports detected
hub 1-2:1.0: USB hub found
hub 1-2:1.0: 4 ports detected
 <- ps3_system_bus_probe:376: sb_06
ps3_system_bus_match:354: dev=2(sb_08), drv=2(ps3-ohci-driver): match
 -> ps3_system_bus_probe:365: sb_08
dma_sb_region_create_linear:988: forcing 16M pages for linear map
 -> dma_sb_region_create:656:
ps3-ohci-driver sb_08: PS3 OHCI Host Controller
ps3-ohci-driver sb_08: new USB bus registered, assigned bus number 4
ps3-ohci-driver sb_08: irq 47, io mem 0x400000200000
usb 2-1: new high speed USB device using ps3-ehci-driver and address 2
usb 2-1: new device found, idVendor=054c, idProduct=0250
usb 2-1: new device strings: Mfr=3, Product=4, SerialNumber=5
usb 2-1: Product: GL819
usb 2-1: Manufacturer: Sony
usb 2-1: SerialNumber: 000000000016
usb 2-1: configuration #1 chosen from 1 choice
usb usb4: new device found, idVendor=0000, idProduct=0000
usb usb4: new device strings: Mfr=3, Product=2, SerialNumber=1
usb usb4: Product: PS3 OHCI Host Controller
usb usb4: Manufacturer: Linux 2.6.22.3-3-ppc64 ohci_hcd
usb usb4: SerialNumber: sb_08
usb usb4: configuration #1 chosen from 1 choice
hub 4-0:1.0: USB hub found
hub 4-0:1.0: 2 ports detected
usb 2-2: new high speed USB device using ps3-ehci-driver and address 3
 <- ps3_system_bus_probe:376: sb_08
ps3_system_bus_match:354: dev=9(ioc0_02), drv=2(ps3-ohci-driver): miss
mice: PS/2 mouse device common for all mice
usb 2-2: new device found, idVendor=054c, idProduct=0267
usb 2-2: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 2-2: Product: Bluetooth Transceiver
usb 2-2: Manufacturer: Sony
usb 2-2: configuration #1 chosen from 1 choice
usb 1-2.1: new full speed USB device using ps3-ehci-driver and address 3
usb 1-2.1: new device found, idVendor=0409, idProduct=55ab
usb 1-2.1: new device strings: Mfr=0, Product=0, SerialNumber=0
usb 1-2.1: configuration #1 chosen from 1 choice
hub 1-2.1:1.0: USB hub found
hub 1-2.1:1.0: 4 ports detected
usb 1-2.1.1: new low speed USB device using ps3-ehci-driver and address 4
usb 1-2.1.1: new device found, idVendor=05ac, idProduct=0202
usb 1-2.1.1: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-2.1.1: Product: M2452
usb 1-2.1.1: Manufacturer: Alps Electric
usb 1-2.1.1: configuration #1 chosen from 1 choice
usb 1-2.1.2: new low speed USB device using ps3-ehci-driver and address 5
usb 1-2.1.2: new device found, idVendor=05ac, idProduct=0301
usb 1-2.1.2: new device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-2.1.2: Product: M4848
usb 1-2.1.2: Manufacturer: Logitech
usb 1-2.1.2: configuration #1 chosen from 1 choice
usbcore: registered new interface driver hiddev
input: Alps Electric M2452 as /class/input/input1
input: USB HID v1.00 Keyboard [Alps Electric M2452] on usb-sb_05-2.1.1
input: Logitech M4848 as /class/input/input2
input: USB HID v1.00 Mouse [Logitech M4848] on usb-sb_05-2.1.2
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
oprofile: using timer interrupt.
NET: Registered protocol family 1
NET: Registered protocol family 17
NET: Registered protocol family 15
Freeing unused kernel memory: 296k freed
ps3disk_init:609: registered block device major 253
ps3_system_bus_match:354: dev=8(sb_01), drv=6(ps3disk): miss
ps3_system_bus_match:354: dev=6(sb_02), drv=6(ps3disk): match
 -> ps3_system_bus_probe:365: sb_02
 -> dma_sb_region_create:656:
ps3disk sb_02: First accessible region has index 3 start 25165832 size 92044408
ps3disk sb_02: ps3da is a ST96812AS (57231 MiB total, 44943 MiB for OtherOS)
 ps3da: ps3da1 < ps3da5 ps3da6 ps3da7 ps3da8 >
 <- ps3_system_bus_probe:376: sb_02
ps3_system_bus_match:354: dev=7(sb_03), drv=6(ps3disk): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=6(ps3disk): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=6(ps3disk): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=6(ps3disk): miss
SCSI subsystem initialized
ps3_system_bus_match:354: dev=8(sb_01), drv=7(ps3rom): miss
ps3_system_bus_match:354: dev=7(sb_03), drv=7(ps3rom): match
 -> ps3_system_bus_probe:365: sb_03
 -> dma_sb_region_create:656:
scsi0 : ps3rom
scsi 0:0:0:0: CD-ROM            SONY     PS-SYSTEM   302R 4084 PQ: 0 ANSI: 0
 <- ps3_system_bus_probe:376: sb_03
ps3_system_bus_match:354: dev=5(vuart_02), drv=7(ps3rom): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=7(ps3rom): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=7(ps3rom): miss
kjournald starting.  Commit interval 5 seconds
EXT3 FS on ps3da7, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
scsi 0:0:0:0: Attached scsi generic sg0 type 5
Initializing USB Mass Storage driver...
scsi1 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
ps3_system_bus_match:354: dev=8(sb_01), drv=3(ps3_gelic_driver): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=3(ps3_gelic_driver): miss
ps3_system_bus_match:354: dev=3(sb_04), drv=3(ps3_gelic_driver): match
 -> ps3_system_bus_probe:365: sb_04
dma_sb_region_create_linear:988: forcing 16M pages for linear map
 -> dma_sb_region_create:656:
ps3_gelic_driver sb_04: MAC addr 00:19:c5:41:34:19
 <- ps3_system_bus_probe:376: sb_04
ps3_system_bus_match:354: dev=9(ioc0_02), drv=3(ps3_gelic_driver): miss
Bluetooth: Core ver 2.11
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
sr0: scsi3-mmc drive: 8x/8x cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 0:0:0:0: Attached scsi CD-ROM sr0
ps3_system_bus_match:354: dev=8(sb_01), drv=5(ps3_sys_manager): miss
ps3_system_bus_match:354: dev=5(vuart_02), drv=5(ps3_sys_manager): match
 -> ps3_system_bus_probe:365: vuart_02
 <- ps3_system_bus_probe:376: vuart_02
ps3_system_bus_match:354: dev=9(ioc0_02), drv=5(ps3_sys_manager): miss
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new interface driver hci_usb
ps3_system_bus_match:354: dev=8(sb_01), drv=8(ps3flash): match
 -> ps3_system_bus_probe:365: sb_01
 -> dma_sb_region_create:656:
ps3flash sb_01: First accessible region has index 5 start 473600 size 8192
ps3flash sb_01: ps3flash_probe:388: registered misc device 63
 <- ps3_system_bus_probe:376: sb_01
ps3_system_bus_match:354: dev=9(ioc0_02), drv=8(ps3flash): miss
ps3_system_bus_match:354: dev=9(ioc0_02), drv=9(snd_ps3): match
 -> ps3_system_bus_probe:365: ioc0_02
snd_ps3_driver_probe: null vaddr=c0006c005ea70000 dma=0x10000
snd_ps3_init_avsetting: start
snd_ps3_change_avsetting: start
snd_ps3_change_avsetting: end
snd_ps3_init_avsetting: end
PS3 sound started. start_delay=2000ms
 <- ps3_system_bus_probe:376: ioc0_02
scsi 1:0:0:0: Direct-Access     Sony     GL819 MS         1.08 PQ: 0 ANSI: 0 CCS
scsi 1:0:0:0: Attached scsi generic sg1 type 0
scsi 1:0:0:1: Direct-Access     Sony     GL819 SD         1.08 PQ: 0 ANSI: 0
scsi 1:0:0:1: Attached scsi generic sg2 type 0
scsi 1:0:0:2: Direct-Access     Sony     GL819 CF         1.08 PQ: 0 ANSI: 0
scsi 1:0:0:2: Attached scsi generic sg3 type 0
usb-storage: device scan complete
sd 1:0:0:0: [sda] Attached SCSI removable disk
sd 1:0:0:1: [sdb] Attached SCSI removable disk
sd 1:0:0:2: [sdc] Attached SCSI removable disk
Bluetooth: L2CAP ver 2.8
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM ver 1.8
Adding 441748k swap on /dev/ps3da6.  Priority:-1 extents:1 across:441748k
loop: module loaded
fuse init (API version 7.8)
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
Mobile IPv6
ip6_tables: (C) 2000-2006 Netfilter Core Team
ip_tables: (C) 2000-2006 Netfilter Core Team
eth0: no IPv6 routers present
SysRq : Show State

                                 free                        sibling
  task                 PC        stack   pid father child younger older
init          S 000000001001aa3c  8304     1      0 (NOTLB)
Call Trace:
[c000000000ebb310] [c0006c005ef30c48] 0xc0006c005ef30c48 (unreliable)
[c000000000ebb4e0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000ebb570] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000ebb6a0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000000ebb790] [c00000000010a95c] .do_select+0x40c/0x4a8
[c000000000ebbb10] [c000000000137844] .compat_core_sys_select+0x18c/0x25c
[c000000000ebbd00] [c0000000001397a8] .compat_sys_select+0xb0/0x184
[c000000000ebbdc0] [c000000000015de4] .ppc32_select+0x14/0x28
[c000000000ebbe30] [c0000000000086c8] syscall_exit+0x0/0x40
kthreadd      S 0000000000000000 12816     2      0 (L-TLB)
Call Trace:
[c000000000ebfb50] [c000000000ebfbe0] 0xc000000000ebfbe0 (unreliable)
[c000000000ebfd20] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000ebfdb0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000ebfee0] [c000000000095f70] .kthreadd+0xb0/0x1e8
[c000000000ebff90] [c000000000028ba8] .kernel_thread+0x4c/0x68
migration/0   S 0000000000000000 13792     3      2 (L-TLB)
Call Trace:
[c000000000ae7ab0] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c000000000ae7c80] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000ae7d10] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000ae7e40] [c0000000000756ac] .migration_thread+0x240/0x348
[c000000000ae7f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000ae7f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
ksoftirqd/0   S 0000000000000000 14112     4      2 (L-TLB)
Call Trace:
[c000000000af3ad0] [000000000000000a] 0xa (unreliable)
[c000000000af3ca0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000af3d30] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000af3e60] [c0000000000811f4] .ksoftirqd+0x98/0x17c
[c000000000af3f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000af3f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
migration/1   S 0000000000000000 14592     5      2 (L-TLB)
Call Trace:
[c000000000af7c80] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000af7d10] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000af7e40] [c0000000000756ac] .migration_thread+0x240/0x348
[c000000000af7f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000af7f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
ksoftirqd/1   S 0000000000000000 14544     6      2 (L-TLB)
Call Trace:
[c000000007f87ad0] [000000000000000a] 0xa (unreliable)
[c000000007f87ca0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007f87d30] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007f87e60] [c0000000000811f4] .ksoftirqd+0x98/0x17c
[c000000007f87f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007f87f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
events/0      S 0000000000000000 12736     7      2 (L-TLB)
Call Trace:
[c000000007f97aa0] [c000000007f97b30] 0xc000000007f97b30 (unreliable)
[c000000007f97c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007f97d00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007f97e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000007f97f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007f97f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
events/1      S 0000000000000000 14080     8      2 (L-TLB)
Call Trace:
[c000000007f8baa0] [c000000007f8bb70] 0xc000000007f8bb70 (unreliable)
[c000000007f8bc70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007f8bd00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007f8be30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000007f8bf00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007f8bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
khelper       S 0000000000000000 11952     9      2 (L-TLB)
Call Trace:
[c000000007f9baa0] [0000000010040000] 0x10040000 (unreliable)
[c000000007f9bc70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007f9bd00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007f9be30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000007f9bf00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007f9bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kblockd/0     S 0000000000000000 13696    56      2 (L-TLB)
Call Trace:
[c0006c005efa3aa0] [c000000000664a68] kthread_create_list+0x0/0x10 (unreliable)
[c0006c005efa3c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005efa3d00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005efa3e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c0006c005efa3f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005efa3f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kblockd/1     S 0000000000000000 13856    57      2 (L-TLB)
Call Trace:
[c0006c005efa7aa0] [c000000000664a68] kthread_create_list+0x0/0x10 (unreliable)
[c0006c005efa7c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005efa7d00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005efa7e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c0006c005efa7f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005efa7f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
cqueue/0      S 0000000000000000 14752    58      2 (L-TLB)
Call Trace:
[c0006c005efabc70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005efabd00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005efabe30] [c00000000009159c] .worker_thread+0xd8/0x130
[c0006c005efabf00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005efabf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
cqueue/1      S 0000000000000000 14752    59      2 (L-TLB)
Call Trace:
[c0006c005efb7c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005efb7d00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005efb7e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c0006c005efb7f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005efb7f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
khubd         S 0000000000000000  8928    63      2 (L-TLB)
Call Trace:
[c0000000078539f0] [c000000000a3b000] 0xc000000000a3b000 (unreliable)
[c000000007853bc0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007853c50] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007853d80] [c00000000031481c] .hub_thread+0xc54/0xd08
[c000000007853f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007853f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kseriod       S 0000000000000000 14720    65      2 (L-TLB)
Call Trace:
[c000000007867c50] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007867ce0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007867e10] [c000000000338670] .serio_thread+0x358/0x3c8
[c000000007867f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007867f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
ps3avd        S 0000000000000000 13104    86      2 (L-TLB)
Call Trace:
[c000000000c5baa0] [c000000000c5bb30] 0xc000000000c5bb30 (unreliable)
[c000000000c5bc70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000c5bd00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000c5be30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000000c5bf00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000c5bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
pdflush       S 0000000000000000 14736    99      2 (L-TLB)
Call Trace:
[c0006c005ed93c60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005ed93cf0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005ed93e20] [c0000000000c8e10] .pdflush+0x128/0x2b0
[c0006c005ed93f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005ed93f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
pdflush       S 0000000000000000 10720   100      2 (L-TLB)
Call Trace:
[c0006c005ed97c60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005ed97cf0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005ed97e20] [c0000000000c8e10] .pdflush+0x128/0x2b0
[c0006c005ed97f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005ed97f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kswapd0       S 0000000000000000 14544   101      2 (L-TLB)
Call Trace:
[c0006c005ed9bba0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005ed9bc30] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005ed9bd60] [c0000000000cd6a0] .kswapd+0x16c/0x530
[c0006c005ed9bf00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005ed9bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
aio/0         S 0000000000000000 14752   102      2 (L-TLB)
Call Trace:
[c000000000e47c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000e47d00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000e47e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000000e47f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000e47f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
aio/1         S 0000000000000000 14752   103      2 (L-TLB)
Call Trace:
[c000000000e4bc70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000e4bd00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000e4be30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000000e4bf00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000e4bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
ps3fb         S 0000000000000000 13776   113      2 (L-TLB)
Call Trace:
[c000000000e0baf0] [c0000000000051a4] hardware_interrupt_entry+0x24/0x28 (unreliable)
[c000000000e0bcc0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000e0bd50] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000e0be80] [c0000000002a2fb4] .ps3fbd+0x54/0x84
[c000000000e0bf00] [c00000000009623c] .kthread+0x78/0xc4
[c000000000e0bf90] [c000000000028ba8] .kernel_thread+0x4c/0x68
khvcd         S 0000000000000000 14784   312      2 (L-TLB)
Call Trace:
[c0000000023dfc90] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0000000023dfd20] [c00000000041a674] .schedule+0x834/0x9d8
[c0000000023dfe50] [c0000000002c5428] .khvcd+0x134/0x1b4
[c0000000023dff00] [c00000000009623c] .kthread+0x78/0xc4
[c0000000023dff90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kpsmoused     S 0000000000000000 14752   375      2 (L-TLB)
Call Trace:
[c000000007c67c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007c67d00] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007c67e30] [c00000000009159c] .worker_thread+0xd8/0x130
[c000000007c67f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007c67f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
scsi_eh_0     S 0000000000000000 13920   457      2 (L-TLB)
Call Trace:
[c000000002337c30] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002337cc0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002337df0] [d00000000008dd50] .scsi_error_handler+0xc0/0x5d4 [scsi_mod]
[c000000002337f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000002337f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
kjournald     S 0000000000000000 10976   915      2 (L-TLB)
Call Trace:
[c000000007ba3a80] [c000000000d72000] 0xc000000000d72000 (unreliable)
[c000000007ba3c50] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007ba3ce0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007ba3e10] [c0000000001c32a0] .kjournald+0x1d0/0x2a4
[c000000007ba3f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000007ba3f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
udevd         S 000000000ff61f08 11184   977      1 (NOTLB)
Call Trace:
[c0006c005ee27310] [c0000000000bf008] .unlock_page+0x58/0x70 (unreliable)
[c0006c005ee274e0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005ee27570] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005ee276a0] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005ee27790] [c00000000010a95c] .do_select+0x40c/0x4a8
[c0006c005ee27b10] [c000000000137844] .compat_core_sys_select+0x18c/0x25c
[c0006c005ee27d00] [c0000000001397a8] .compat_sys_select+0xb0/0x184
[c0006c005ee27dc0] [c000000000015de4] .ppc32_select+0x14/0x28
[c0006c005ee27e30] [c0000000000086c8] syscall_exit+0x0/0x40
scsi_eh_1     S 0000000000000000 14688  1313      2 (L-TLB)
Call Trace:
[c000000002593c30] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002593cc0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002593df0] [d00000000008dd50] .scsi_error_handler+0xc0/0x5d4 [scsi_mod]
[c000000002593f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000002593f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
usb-storage   S 0000000000000000 12256  1314      2 (L-TLB)
Call Trace:
[c0000000025979d0] [c00000000041b08c] .wait_for_completion_interruptible_timeout+0x1c8/0x1f8 (unreliable)
[c000000002597ba0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002597c30] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002597d60] [c000000000419db0] .__down_interruptible+0xa0/0x130
[c000000002597e20] [d0000000000653c8] .usb_stor_control_thread+0x84/0x2f8 [usb_storage]
[c000000002597f00] [c00000000009623c] .kthread+0x78/0xc4
[c000000002597f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
hcid          S 000000001fe7bc78 10528  1483      1 (NOTLB)
Call Trace:
[c00000000248b4e0] [c00000000248b570] 0xc00000000248b570 (unreliable)
[c00000000248b6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c00000000248b740] [c00000000041a674] .schedule+0x834/0x9d8
[c00000000248b870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c00000000248b960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c00000000248bd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c00000000248be30] [c0000000000086c8] syscall_exit+0x0/0x40
krfcommd      S 0000000000000000 13680  1533      2 (L-TLB)
Call Trace:
[c0006c005e2439a0] [0000000000000002] 0x2 (unreliable)
[c0006c005e243b70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e243c00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e243d30] [d0000000001c4178] .rfcomm_worker+0x98/0x13c8 [rfcomm]
[c0006c005e243ee0] [d0000000001c59b8] .rfcomm_run+0x1a0/0x204 [rfcomm]
[c0006c005e243f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
resmgrd       S 000000000ff37c78  9744  1854      1 (NOTLB)
Call Trace:
[c000000000bb74e0] [d00000000025a580] ____versions+0x2808/0xfffffffffffffa00 [x_tables] (unreliable)
[c000000000bb76b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000000bb7740] [c00000000041a674] .schedule+0x834/0x9d8
[c000000000bb7870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000000bb7960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c000000000bb7d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c000000000bb7e30] [c0000000000086c8] syscall_exit+0x0/0x40
dbus-daemon   S 000000000ff14c78 11616  1871      1 (NOTLB)
Call Trace:
[c0006c005e4c74e0] [c0006c005e4c7570] 0xc0006c005e4c7570 (unreliable)
[c0006c005e4c76b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e4c7740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e4c7870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005e4c7960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005e4c7d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005e4c7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc98cc8 12688  1891      1 (NOTLB)
Call Trace:
[c0006c005e6234e0] [c0006c005e623570] 0xc0006c005e623570 (unreliable)
[c0006c005e6236b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e623740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e623870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005e623960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005e623d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005e623e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1895      1 (NOTLB)
Call Trace:
[c0006c005e64b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e64b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e64b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e64b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e64b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e64bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e64bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e64bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e64bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e64be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1896      1 (NOTLB)
Call Trace:
[c0006c005e64f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e64f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e64f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e64f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e64f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e64fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e64fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e64fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e64fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e64fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1897      1 (NOTLB)
Call Trace:
[c0006c005e6575f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e657680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6577b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e657870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e657970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e657b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e657be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e657c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e657d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e657e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1898      1 (NOTLB)
Call Trace:
[c0006c005e65b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e65b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e65b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e65b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e65b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e65bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e65bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e65bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e65bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e65be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1899      1 (NOTLB)
Call Trace:
[c0006c005e65f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e65f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e65f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e65f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e65f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e65fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e65fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e65fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e65fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e65fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1900      1 (NOTLB)
Call Trace:
[c0006c005e6635f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e663680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6637b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e663870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e663970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e663b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e663be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e663c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e663d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e663e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1901      1 (NOTLB)
Call Trace:
[c0006c005e66f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e66f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e66f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e66f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e66f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e66fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e66fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e66fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e66fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e66fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1902      1 (NOTLB)
Call Trace:
[c0006c005e6735f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e673680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6737b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e673870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e673970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e673b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e673be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e673c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e673d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e673e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1903      1 (NOTLB)
Call Trace:
[c0006c005e6775f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e677680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6777b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e677870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e677970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e677b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e677be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e677c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e677d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e677e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1904      1 (NOTLB)
Call Trace:
[c0006c005e67b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e67b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e67b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e67b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e67b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e67bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e67bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e67bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e67bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e67be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1905      1 (NOTLB)
Call Trace:
[c0006c005e6875f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e687680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6877b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e687870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e687970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e687b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e687be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e687c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e687d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e687e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1906      1 (NOTLB)
Call Trace:
[c0006c005e68b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e68b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e68b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e68b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e68b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e68bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e68bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e68bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e68bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e68be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1907      1 (NOTLB)
Call Trace:
[c0006c005e68f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e68f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e68f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e68f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e68f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e68fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e68fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e68fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e68fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e68fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1908      1 (NOTLB)
Call Trace:
[c0006c005e6935f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e693680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6937b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e693870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e693970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e693b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e693be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e693c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e693d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e693e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1909      1 (NOTLB)
Call Trace:
[c0006c005e69f420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e69f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e69f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e69f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e69f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e69f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e69fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e69fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e69fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e69fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e69fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1910      1 (NOTLB)
Call Trace:
[c0006c005e6a7420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6a75f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6a7680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6a77b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6a7870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6a7970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6a7b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6a7be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6a7c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6a7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6a7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1911      1 (NOTLB)
Call Trace:
[c0006c005e6ab420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6ab5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6ab680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6ab7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6ab870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6ab970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6abb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6abbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6abc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6abd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6abe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1912      1 (NOTLB)
Call Trace:
[c0006c005e6af420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6af5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6af680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6af7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6af870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6af970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6afb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6afbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6afc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6afd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6afe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1913      1 (NOTLB)
Call Trace:
[c0006c005e6bb420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6bb5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6bb680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6bb7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6bb870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6bb970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6bbb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6bbbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6bbc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6bbd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6bbe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1914      1 (NOTLB)
Call Trace:
[c0006c005e6bf420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6bf5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6bf680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6bf7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6bf870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6bf970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6bfb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6bfbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6bfc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6bfd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6bfe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1915      1 (NOTLB)
Call Trace:
[c0006c005e6c3420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6c35f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6c3680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6c37b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6c3870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6c3970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6c3b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6c3be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6c3c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6c3d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6c3e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1916      1 (NOTLB)
Call Trace:
[c0006c005e6c7420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6c75f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6c7680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6c77b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6c7870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6c7970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6c7b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6c7be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6c7c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6c7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6c7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1917      1 (NOTLB)
Call Trace:
[c0006c005e6d3420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6d35f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6d3680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6d37b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6d3870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6d3970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6d3b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6d3be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6d3c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6d3d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6d3e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1918      1 (NOTLB)
Call Trace:
[c0006c005e6d7420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6d75f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6d7680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6d77b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6d7870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6d7970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6d7b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6d7be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6d7c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6d7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6d7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1919      1 (NOTLB)
Call Trace:
[c0006c005e6db420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6db5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6db680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6db7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6db870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6db970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6dbb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6dbbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6dbc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6dbd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6dbe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1920      1 (NOTLB)
Call Trace:
[c0006c005e6e75f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6e7680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6e77b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6e7870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6e7970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6e7b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6e7be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6e7c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6e7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6e7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1921      1 (NOTLB)
Call Trace:
[c0006c005e6eb5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6eb680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6eb7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6eb870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6eb970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6ebb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6ebbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6ebc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6ebd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6ebe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1922      1 (NOTLB)
Call Trace:
[c0006c005e6ef420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e6ef5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6ef680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6ef7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6ef870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6ef970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6efb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6efbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6efc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6efd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6efe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1923      1 (NOTLB)
Call Trace:
[c0006c005e6f35f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6f3680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6f37b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6f3870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6f3970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6f3b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6f3be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6f3c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6f3d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6f3e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1924      1 (NOTLB)
Call Trace:
[c0006c005e6fb5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6fb680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6fb7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6fb870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6fb970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6fbb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6fbbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6fbc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6fbd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6fbe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1925      1 (NOTLB)
Call Trace:
[c0006c005e6ff5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e6ff680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e6ff7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e6ff870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e6ff970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e6ffb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e6ffbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e6ffc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e6ffd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e6ffe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1926      1 (NOTLB)
Call Trace:
[c0006c005e7035f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e703680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7037b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e703870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e703970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e703b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e703be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e703c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e703d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e703e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1927      1 (NOTLB)
Call Trace:
[c0006c005e7075f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e707680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7077b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e707870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e707970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e707b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e707be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e707c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e707d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e707e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1928      1 (NOTLB)
Call Trace:
[c0006c005e7135f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e713680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7137b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e713870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e713970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e713b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e713be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e713c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e713d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e713e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1929      1 (NOTLB)
Call Trace:
[c0006c005e7175f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e717680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7177b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e717870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e717970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e717b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e717be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e717c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e717d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e717e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1930      1 (NOTLB)
Call Trace:
[c0006c005e71b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e71b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e71b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e71b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e71b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e71bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e71bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e71bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e71bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e71be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1931      1 (NOTLB)
Call Trace:
[c0006c005e7275f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e727680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7277b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e727870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e727970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e727b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e727be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e727c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e727d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e727e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1932      1 (NOTLB)
Call Trace:
[c0006c005e72b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e72b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e72b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e72b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e72b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e72bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e72bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e72bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e72bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e72be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1933      1 (NOTLB)
Call Trace:
[c0006c005e7375f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e737680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7377b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e737870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e737970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e737b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e737be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e737c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e737d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e737e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1934      1 (NOTLB)
Call Trace:
[c0006c005e73b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e73b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e73b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e73b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e73b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e73bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e73bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e73bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e73bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e73be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1935      1 (NOTLB)
Call Trace:
[c0006c005e73f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e73f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e73f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e73f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e73f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e73fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e73fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e73fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e73fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e73fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1936      1 (NOTLB)
Call Trace:
[c0006c005e7475f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e747680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7477b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e747870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e747970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e747b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e747be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e747c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e747d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e747e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1937      1 (NOTLB)
Call Trace:
[c0006c005e74b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e74b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e74b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e74b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e74b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e74bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e74bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e74bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e74bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e74be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1938      1 (NOTLB)
Call Trace:
[c0006c005e74f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e74f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e74f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e74f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e74f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e74fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e74fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e74fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e74fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e74fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1939      1 (NOTLB)
Call Trace:
[c0006c005e7535f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e753680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7537b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e753870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e753970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e753b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e753be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e753c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e753d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e753e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1940      1 (NOTLB)
Call Trace:
[c0006c005e75f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e75f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e75f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e75f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e75f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e75fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e75fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e75fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e75fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e75fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1941      1 (NOTLB)
Call Trace:
[c0006c005e7635f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e763680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7637b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e763870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e763970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e763b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e763be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e763c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e763d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e763e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1942      1 (NOTLB)
Call Trace:
[c0006c005e7675f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e767680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7677b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e767870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e767970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e767b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e767be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e767c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e767d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e767e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1943      1 (NOTLB)
Call Trace:
[c0006c005e76b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e76b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e76b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e76b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e76b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e76bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e76bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e76bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e76bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e76be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1944      1 (NOTLB)
Call Trace:
[c0006c005e7775f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e777680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7777b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e777870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e777970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e777b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e777be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e777c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e777d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e777e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1945      1 (NOTLB)
Call Trace:
[c0006c005e77b5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e77b680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e77b7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e77b870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e77b970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e77bb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e77bbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e77bc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e77bd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e77be30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1946      1 (NOTLB)
Call Trace:
[c0006c005e77f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e77f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e77f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e77f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e77f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e77fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e77fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e77fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e77fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e77fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1947      1 (NOTLB)
Call Trace:
[c0006c005e7835f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e783680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7837b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e783870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e783970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e783b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e783be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e783c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e783d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e783e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1948      1 (NOTLB)
Call Trace:
[c0006c005e78f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e78f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e78f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e78f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e78f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e78fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e78fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e78fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e78fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e78fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1949      1 (NOTLB)
Call Trace:
[c0006c005e7935f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e793680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7937b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e793870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e793970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e793b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e793be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e793c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e793d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e793e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1950      1 (NOTLB)
Call Trace:
[c0006c005e7975f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e797680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7977b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e797870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e797970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e797b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e797be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e797c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e797d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e797e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  1951      1 (NOTLB)
Call Trace:
[c0006c005e79f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e79f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e79f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e79f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e79f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e79fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e79fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e79fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e79fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e79fe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1952      1 (NOTLB)
Call Trace:
[c0006c005e7a3420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e7a35f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e7a3680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7a37b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e7a3870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e7a3970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e7a3b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e7a3be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e7a3c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e7a3d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e7a3e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1953      1 (NOTLB)
Call Trace:
[c0006c005e7a7420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e7a75f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e7a7680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7a77b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e7a7870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e7a7970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e7a7b40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e7a7be0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e7a7c90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e7a7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e7a7e30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 12752  1954      1 (NOTLB)
Call Trace:
[c0006c005e7ab420] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005e7ab5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e7ab680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e7ab7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005e7ab870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005e7ab970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005e7abb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005e7abbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005e7abc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005e7abd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005e7abe30] [c0000000000086c8] syscall_exit+0x0/0x40
console-kit-d S 000000000fc9b2bc 13088  3789      1 (NOTLB)
Call Trace:
[c0006c005c85f5f0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c85f680] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c85f7b0] [c0000000002b2f5c] .vt_waitactive+0xb4/0x10c
[c0006c005c85f870] [c0000000002b4210] .vt_ioctl+0x125c/0x1ba0
[c0006c005c85f970] [c0000000002ad9ac] .tty_ioctl+0x11a0/0x1260
[c0006c005c85fb40] [c0000000001090ec] .do_ioctl+0x100/0x140
[c0006c005c85fbe0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005c85fc90] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005c85fd40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005c85fe30] [c0000000000086c8] syscall_exit+0x0/0x40
hald          S 000000000fc68c78  9952  1892      1 (NOTLB)
Call Trace:
[c0006c005e63f4e0] [2222484842224848] 0x2222484842224848 (unreliable)
[c0006c005e63f6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e63f740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e63f870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005e63f960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005e63fd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005e63fe30] [c0000000000086c8] syscall_exit+0x0/0x40
hald-runner   S 000000000fdc4c78  9600  1958   1892 (NOTLB)
Call Trace:
[c0006c005e2ef4e0] [c0006c005e2ef570] 0xc0006c005e2ef570 (unreliable)
[c0006c005e2ef6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005e2ef740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005e2ef870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005e2ef960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005e2efd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005e2efe30] [c0000000000086c8] syscall_exit+0x0/0x40
bluetoothd-se S 000000001fec5c78  8992  1978   1483 (NOTLB)
Call Trace:
[c0000000070774e0] [c0000000070777c0] 0xc0000000070777c0 (unreliable)
[c0000000070776b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000007077740] [c00000000041a674] .schedule+0x834/0x9d8
[c000000007077870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000007077960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c000000007077d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c000000007077e30] [c0000000000086c8] syscall_exit+0x0/0x40
hald-addon-in S 000000000fd92c78 10000  2087   1958 (NOTLB)
Call Trace:
[c0000000075a34e0] [c0000000075a3570] 0xc0000000075a3570 (unreliable)
[c0000000075a36b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0000000075a3740] [c00000000041a674] .schedule+0x834/0x9d8
[c0000000075a3870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0000000075a3960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0000000075a3d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0000000075a3e30] [c0000000000086c8] syscall_exit+0x0/0x40
hald-addon-st S 000000000fd92c78  9600  2121   1958 (NOTLB)
Call Trace:
[c0000000076ff4e0] [c0000000076ff580] 0xc0000000076ff580 (unreliable)
[c0000000076ff6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0000000076ff740] [c00000000041a674] .schedule+0x834/0x9d8
[c0000000076ff870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0000000076ff960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0000000076ffd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0000000076ffe30] [c0000000000086c8] syscall_exit+0x0/0x40
hald-addon-st S 000000000fd92c78 11248  2127   1958 (NOTLB)
Call Trace:
[c00000000775b4e0] [c00000000775b580] 0xc00000000775b580 (unreliable)
[c00000000775b6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c00000000775b740] [c00000000041a674] .schedule+0x834/0x9d8
[c00000000775b870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c00000000775b960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c00000000775bd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c00000000775be30] [c0000000000086c8] syscall_exit+0x0/0x40
hald-addon-st S 000000000fd92c78 11248  2134   1958 (NOTLB)
Call Trace:
[c00000000778f4e0] [c00000000778f580] 0xc00000000778f580 (unreliable)
[c00000000778f6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c00000000778f740] [c00000000041a674] .schedule+0x834/0x9d8
[c00000000778f870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c00000000778f960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c00000000778fd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c00000000778fe30] [c0000000000086c8] syscall_exit+0x0/0x40
klogd         R  running task   10768  2660      1 (NOTLB)
syslog-ng     S 000000001fec8c78 10224  2663      1 (NOTLB)
Call Trace:
[c00000000293b4e0] [c0006c005c5b4540] 0xc0006c005c5b4540 (unreliable)
[c00000000293b6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c00000000293b740] [c00000000041a674] .schedule+0x834/0x9d8
[c00000000293b870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c00000000293b960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c00000000293bd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c00000000293be30] [c0000000000086c8] syscall_exit+0x0/0x40
portmap       S 000000001ff32c78 10768  2670      1 (NOTLB)
Call Trace:
[c000000002b2f4e0] [d00000000025a580] ____versions+0x2808/0xfffffffffffffa00 [x_tables] (unreliable)
[c000000002b2f6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002b2f740] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002b2f870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000002b2f960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c000000002b2fd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c000000002b2fe30] [c0000000000086c8] syscall_exit+0x0/0x40
ypbind        S 000000000fcaccc8 11264  2685      1 (NOTLB)
Call Trace:
[c000000002f174e0] [d00000000025a580] ____versions+0x2808/0xfffffffffffffa00 [x_tables] (unreliable)
[c000000002f176b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002f17740] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002f17870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000002f17960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c000000002f17d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c000000002f17e30] [c0000000000086c8] syscall_exit+0x0/0x40
ypbind        S 000000000fd971f0 10768  2686      1 (NOTLB)
Call Trace:
[c000000002f37880] [0000000000000003] 0x3 (unreliable)
[c000000002f37a50] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002f37ae0] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002f37c10] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c000000002f37d00] [c0000000000ac134] .compat_sys_rt_sigtimedwait+0x18c/0x29c
[c000000002f37e30] [c0000000000086c8] syscall_exit+0x0/0x40
ypbind        S 000000000fc817ec  9376  2688      1 (NOTLB)
Call Trace:
[c000000002f03910] [c000000000378888] .sock_destroy_inode+0x24/0x3c (unreliable)
[c000000002f03ae0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002f03b70] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002f03ca0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c000000002f03d90] [c0000000000a9fbc] .compat_sys_nanosleep+0x90/0x124
[c000000002f03e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001fecee98  9952  2727      1 (NOTLB)
Call Trace:
[c0006c005d057850] [c0000000006709a8] page_symlink_inode_operations+0x28/0xa8 (unreliable)
[c0006c005d057a20] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d057ab0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d057be0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005d057cd0] [c000000000133dd4] .sys_epoll_wait+0x1d8/0x554
[c0006c005d057e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa95ec 11248  2728      1 (NOTLB)
Call Trace:
[c0006c005d28f670] [c0006c005d28f700] 0xc0006c005d28f700 (unreliable)
[c0006c005d28f840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d28f8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d28fa00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d28fbe0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d28fd40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d28fe30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa95ec 11392  2729      1 (NOTLB)
Call Trace:
[c0006c005d293670] [c0006c005d293700] 0xc0006c005d293700 (unreliable)
[c0006c005d293840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2938d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d293a00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d293be0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d293d40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d293e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa95ec 11264  2730      1 (NOTLB)
Call Trace:
[c0006c005d29f670] [c0006c005d29f700] 0xc0006c005d29f700 (unreliable)
[c0006c005d29f840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d29f8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d29fa00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d29fbe0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d29fd40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d29fe30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa95ec 11680  2731      1 (NOTLB)
Call Trace:
[c0006c005d2a3670] [0000000000000001] 0x1 (unreliable)
[c0006c005d2a3840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2a38d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d2a3a00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d2a3be0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d2a3d40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d2a3e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa9074 10832  2732      1 (NOTLB)
Call Trace:
[c0006c005d2a7670] [0000000000000001] 0x1 (unreliable)
[c0006c005d2a7840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2a78d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d2a7a00] [c00000000009e920] .futex_wait+0x2d8/0x454
[c0006c005d2a7be0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d2a7d40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d2a7e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa9074 11680  2733      1 (NOTLB)
Call Trace:
[c0006c005d2b3670] [c0006c005d2b3700] 0xc0006c005d2b3700 (unreliable)
[c0006c005d2b3840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2b38d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d2b3a00] [c00000000009e920] .futex_wait+0x2d8/0x454
[c0006c005d2b3be0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d2b3d40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d2b3e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa9074 11680  2734      1 (NOTLB)
Call Trace:
[c0006c005d2b7670] [c0006c005d2b7700] 0xc0006c005d2b7700 (unreliable)
[c0006c005d2b7840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2b78d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d2b7a00] [c00000000009e920] .futex_wait+0x2d8/0x454
[c0006c005d2b7be0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d2b7d40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d2b7e30] [c0000000000086c8] syscall_exit+0x0/0x40
nscd          S 000000001ffa9074 11664  2735      1 (NOTLB)
Call Trace:
[c0006c005d2bb670] [c0006c005d2bb700] 0xc0006c005d2bb700 (unreliable)
[c0006c005d2bb840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d2bb8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d2bba00] [c00000000009e920] .futex_wait+0x2d8/0x454
[c0006c005d2bbbe0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d2bbd40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d2bbe30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ffd71f0 10464  2742      1 (NOTLB)
Call Trace:
[c0006c005d6fb880] [c0006c005d6fb910] 0xc0006c005d6fb910 (unreliable)
[c0006c005d6fba50] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d6fbae0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d6fbc10] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005d6fbd00] [c0000000000ac134] .compat_sys_rt_sigtimedwait+0x18c/0x29c
[c0006c005d6fbe30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ffd25ec 13680  2743      1 (NOTLB)
Call Trace:
[c0006c005d70b840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d70b8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d70ba00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d70bbe0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d70bd40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d70be30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ffd25ec 12864  2744      1 (NOTLB)
Call Trace:
[c0006c005d70f670] [c00000000020ef8c] .alloc_layer+0x60/0x84 (unreliable)
[c0006c005d70f840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d70f8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d70fa00] [c00000000009e97c] .futex_wait+0x334/0x454
[c0006c005d70fbe0] [c00000000009f12c] .do_futex+0xec/0xeec
[c0006c005d70fd40] [c0000000000a0880] .compat_sys_futex+0x13c/0x184
[c0006c005d70fe30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ff01cc8 11264  2748      1 (NOTLB)
Call Trace:
[c0006c005d8874e0] [0000000020000000] 0x20000000 (unreliable)
[c0006c005d8876b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d887740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d887870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005d887960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005d887d90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005d887e30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ff01cc8 11056  2752      1 (NOTLB)
Call Trace:
[c0006c005d73b4e0] [0000000020000000] 0x20000000 (unreliable)
[c0006c005d73b6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d73b740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d73b870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005d73b960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005d73bd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005d73be30] [c0000000000086c8] syscall_exit+0x0/0x40
automount     S 000000001ff01cc8 10992  2754      1 (NOTLB)
Call Trace:
[c0006c005d95b4e0] [0000000020000000] 0x20000000 (unreliable)
[c0006c005d95b6b0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d95b740] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d95b870] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005d95b960] [c00000000010a3ac] .do_sys_poll+0x2f8/0x438
[c0006c005d95bd90] [c00000000010a538] .sys_poll+0x4c/0x64
[c0006c005d95be30] [c0000000000086c8] syscall_exit+0x0/0x40
sshd          S 000000001f9e0f08 10768  2757      1 (NOTLB)
Call Trace:
[c0006c005dbaf310] [c0006c005db9c648] 0xc0006c005db9c648 (unreliable)
[c0006c005dbaf4e0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005dbaf570] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005dbaf6a0] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005dbaf790] [c00000000010a95c] .do_select+0x40c/0x4a8
[c0006c005dbafb10] [c000000000137844] .compat_core_sys_select+0x18c/0x25c
[c0006c005dbafd00] [c0000000001397a8] .compat_sys_select+0xb0/0x184
[c0006c005dbafdc0] [c000000000015de4] .ppc32_select+0x14/0x28
[c0006c005dbafe30] [c0000000000086c8] syscall_exit+0x0/0x40
master        S 000000001f9c2e54 10544  2800      1 (NOTLB)
Call Trace:
[c0006c005d987a20] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005d987ab0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005d987be0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005d987cd0] [c000000000133dd4] .sys_epoll_wait+0x1d8/0x554
[c0006c005d987e30] [c0000000000086c8] syscall_exit+0x0/0x40
pickup        S 000000001f998e54 10000  2826   2800 (NOTLB)
Call Trace:
[c0006c005de63a20] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005de63ab0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005de63be0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005de63cd0] [c000000000133dd4] .sys_epoll_wait+0x1d8/0x554
[c0006c005de63e30] [c0000000000086c8] syscall_exit+0x0/0x40
qmgr          S 000000001f998e54  8992  2827   2800 (NOTLB)
Call Trace:
[c0006c005de83850] [c000000000687b28] radeonfb_pci_table+0x248/0xc00 (unreliable)
[c0006c005de83a20] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005de83ab0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005de83be0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005de83cd0] [c000000000133dd4] .sys_epoll_wait+0x1d8/0x554
[c0006c005de83e30] [c0000000000086c8] syscall_exit+0x0/0x40
cron          S 000000001fee27b8 10880  2835      1 (NOTLB)
Call Trace:
[c0006c005c09b910] [000000002000af80] 0x2000af80 (unreliable)
[c0006c005c09bae0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c09bb70] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c09bca0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005c09bd90] [c0000000000a9fbc] .compat_sys_nanosleep+0x90/0x124
[c0006c005c09be30] [c0000000000086c8] syscall_exit+0x0/0x40
login         S 000000000feabf8c  9904  2846      1 (NOTLB)
Call Trace:
[c0006c005c0d7890] [0000000000000002] 0x2 (unreliable)
[c0006c005c0d7a60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c0d7af0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c0d7c20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c0d7dc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c0d7e30] [c0000000000086c8] syscall_exit+0x0/0x40
login         S 000000000feabf8c 11664  2847      1 (NOTLB)
Call Trace:
[c0006c005c083890] [0000000000000010] 0x10 (unreliable)
[c0006c005c083a60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c083af0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c083c20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c083dc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c083e30] [c0000000000086c8] syscall_exit+0x0/0x40
mingetty      S 000000000ff59284 11136  2848      1 (NOTLB)
Call Trace:
[c0006c005c05f670] [c0006c005c05f740] 0xc0006c005c05f740 (unreliable)
[c0006c005c05f840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c05f8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c05fa00] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005c05faf0] [c0000000002b0520] .read_chan+0x3f0/0x75c
[c0006c005c05fc20] [c0000000002abf7c] .tty_read+0xc0/0x13c
[c0006c005c05fce0] [c0000000000f8044] .vfs_read+0x118/0x1f0
[c0006c005c05fd80] [c0000000000f87cc] .sys_read+0x54/0xa0
[c0006c005c05fe30] [c0000000000086c8] syscall_exit+0x0/0x40
mingetty      S 000000000ff59284 11664  2849      1 (NOTLB)
Call Trace:
[c0006c005c0e7670] [c0006c005c0e7740] 0xc0006c005c0e7740 (unreliable)
[c0006c005c0e7840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c0e78d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c0e7a00] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005c0e7af0] [c0000000002b0520] .read_chan+0x3f0/0x75c
[c0006c005c0e7c20] [c0000000002abf7c] .tty_read+0xc0/0x13c
[c0006c005c0e7ce0] [c0000000000f8044] .vfs_read+0x118/0x1f0
[c0006c005c0e7d80] [c0000000000f87cc] .sys_read+0x54/0xa0
[c0006c005c0e7e30] [c0000000000086c8] syscall_exit+0x0/0x40
mingetty      S 000000000ff59284 10560  2850      1 (NOTLB)
Call Trace:
[c0006c005c0c7670] [c0006c005c0c7740] 0xc0006c005c0c7740 (unreliable)
[c0006c005c0c7840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c0c78d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c0c7a00] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005c0c7af0] [c0000000002b0520] .read_chan+0x3f0/0x75c
[c0006c005c0c7c20] [c0000000002abf7c] .tty_read+0xc0/0x13c
[c0006c005c0c7ce0] [c0000000000f8044] .vfs_read+0x118/0x1f0
[c0006c005c0c7d80] [c0000000000f87cc] .sys_read+0x54/0xa0
[c0006c005c0c7e30] [c0000000000086c8] syscall_exit+0x0/0x40
mingetty      S 000000000ff59284 11680  2853      1 (NOTLB)
Call Trace:
[c0006c005db87670] [c0006c005db87740] 0xc0006c005db87740 (unreliable)
[c0006c005db87840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005db878d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005db87a00] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005db87af0] [c0000000002b0520] .read_chan+0x3f0/0x75c
[c0006c005db87c20] [c0000000002abf7c] .tty_read+0xc0/0x13c
[c0006c005db87ce0] [c0000000000f8044] .vfs_read+0x118/0x1f0
[c0006c005db87d80] [c0000000000f87cc] .sys_read+0x54/0xa0
[c0006c005db87e30] [c0000000000086c8] syscall_exit+0x0/0x40
sshd          S 000000001f9e0f08  9088  2889   2757 (NOTLB)
Call Trace:
[c000000002a774e0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c000000002a77570] [c00000000041a674] .schedule+0x834/0x9d8
[c000000002a776a0] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c000000002a77790] [c00000000010a95c] .do_select+0x40c/0x4a8
[c000000002a77b10] [c000000000137844] .compat_core_sys_select+0x18c/0x25c
[c000000002a77d00] [c0000000001397a8] .compat_sys_select+0xb0/0x184
[c000000002a77dc0] [c000000000015de4] .ppc32_select+0x14/0x28
[c000000002a77e30] [c0000000000086c8] syscall_exit+0x0/0x40
kauditd       S 0000000000000000 14752  2891      2 (L-TLB)
Call Trace:
[c0006c005c0a7c70] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c0a7d00] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c0a7e30] [c0000000000b1a40] .kauditd_thread+0x150/0x1a8
[c0006c005c0a7f00] [c00000000009623c] .kthread+0x78/0xc4
[c0006c005c0a7f90] [c000000000028ba8] .kernel_thread+0x4c/0x68
bash          S 000000001fe4a284  9120  2892   2889 (NOTLB)
Call Trace:
[c0006c005c0ab670] [c0000000002b0c30] .change_termios+0x35c/0x394 (unreliable)
[c0006c005c0ab840] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c0ab8d0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c0aba00] [c00000000041b5dc] .schedule_timeout+0x38/0xe8
[c0006c005c0abaf0] [c0000000002b0520] .read_chan+0x3f0/0x75c
[c0006c005c0abc20] [c0000000002abf7c] .tty_read+0xc0/0x13c
[c0006c005c0abce0] [c0000000000f8044] .vfs_read+0x118/0x1f0
[c0006c005c0abd80] [c0000000000f87cc] .sys_read+0x54/0xa0
[c0006c005c0abe30] [c0000000000086c8] syscall_exit+0x0/0x40
dhcpcd        D 000000001ff612bc 11552  3473      1 (NOTLB)
Call Trace:
[c0006c005c6f7150] [c00000000020ef8c] .alloc_layer+0x60/0x84 (unreliable)
[c0006c005c6f7320] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c6f73b0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c6f74e0] [c00000000041b64c] .schedule_timeout+0xa8/0xe8
[c0006c005c6f75d0] [c000000000086fec] .msleep+0x20/0x38
[c0006c005c6f7650] [c000000000389d00] .dev_close+0x70/0xf0
[c0006c005c6f76d0] [c000000000388a30] .dev_change_flags+0x90/0x198
[c0006c005c6f7770] [c0000000003e71b4] .devinet_ioctl+0x2fc/0x76c
[c0006c005c6f7880] [c0000000003e7f84] .inet_ioctl+0xe0/0x130
[c0006c005c6f7900] [c00000000040d3e4] .packet_ioctl+0x1b4/0x1d8
[c0006c005c6f7990] [c00000000037be08] .sock_ioctl+0x2c4/0x31c
[c0006c005c6f7a30] [c00000000010904c] .do_ioctl+0x60/0x140
[c0006c005c6f7ad0] [c000000000109544] .vfs_ioctl+0x418/0x448
[c0006c005c6f7b80] [c00000000010960c] .sys_ioctl+0x98/0xe0
[c0006c005c6f7c30] [c00000000013c968] .dev_ifsioc+0x1ac/0x3e0
[c0006c005c6f7d40] [c00000000013bf1c] .compat_sys_ioctl+0x400/0x48c
[c0006c005c6f7e30] [c0000000000086c8] syscall_exit+0x0/0x40
bash          S 000000001fe23f8c 10576  3536   2846 (NOTLB)
Call Trace:
[c0006c005c3b7890] [c000000007fe7de0] 0xc000000007fe7de0 (unreliable)
[c0006c005c3b7a60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c3b7af0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c3b7c20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c3b7dc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c3b7e30] [c0000000000086c8] syscall_exit+0x0/0x40
rcnetwork     S 000000001fe23f8c 11472  3566   3536 (NOTLB)
Call Trace:
[c0006c005c583890] [c000000007fe7de0] 0xc000000007fe7de0 (unreliable)
[c0006c005c583a60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c583af0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c583c20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c583dc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c583e30] [c0000000000086c8] syscall_exit+0x0/0x40
rcnetwork     S 000000001fe23f8c 11472  3574   3566 (NOTLB)
Call Trace:
[c0006c005c55f890] [c000000007fe7de0] 0xc000000007fe7de0 (unreliable)
[c0006c005c55fa60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c55faf0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c55fc20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c55fdc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c55fe30] [c0000000000086c8] syscall_exit+0x0/0x40
ifdown        S 000000001fe23f8c 10912  3677   3574 (NOTLB)
Call Trace:
[c0006c005c80b890] [c000000007fe7de0] 0xc000000007fe7de0 (unreliable)
[c0006c005c80ba60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c80baf0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c80bc20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c80bdc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c80be30] [c0000000000086c8] syscall_exit+0x0/0x40
ifdown-dhcp   S 000000001fe23f8c 11472  3755   3677 (NOTLB)
Call Trace:
[c0006c005c8a7890] [c000000007fe7de0] 0xc000000007fe7de0 (unreliable)
[c0006c005c8a7a60] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c8a7af0] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c8a7c20] [c00000000007dee8] .do_wait+0x1014/0x1288
[c0006c005c8a7dc0] [c0000000000151e4] .compat_sys_waitpid+0x18/0x2c
[c0006c005c8a7e30] [c0000000000086c8] syscall_exit+0x0/0x40
ip            D 000000000ff36658 11952  3756   3755 (NOTLB)
Call Trace:
[c0006c005c83b300] [c0006c005c83b390] 0xc0006c005c83b390 (unreliable)
[c0006c005c83b4d0] [c00000000000fb18] .__switch_to+0x108/0x13c
[c0006c005c83b560] [c00000000041a674] .schedule+0x834/0x9d8
[c0006c005c83b690] [c00000000041be80] .__mutex_lock_slowpath+0xc0/0x13c
[c0006c005c83b740] [c000000000395040] .rtnetlink_rcv+0x3c/0x94
[c0006c005c83b7e0] [c0000000003aac7c] .netlink_data_ready+0x40/0xa4
[c0006c005c83b860] [c0000000003a8f30] .netlink_sendskb+0x4c/0x9c
[c0006c005c83b8f0] [c0000000003aabf8] .netlink_sendmsg+0x358/0x39c
[c0006c005c83b9f0] [c000000000379cbc] .sock_sendmsg+0x100/0x140
[c0006c005c83bc00] [c00000000037ab98] .sys_sendto+0x110/0x164
[c0006c005c83bd90] [c00000000039d8b4] .compat_sys_socketcall+0x164/0x214
[c0006c005c83be30] [c0000000000086c8] syscall_exit+0x0/0x40
bash          R  running task   11232  3757   2847 (NOTLB)

^ permalink raw reply

* Re: Oops in e100_up
From: David Miller @ 2007-08-22  9:17 UTC (permalink / raw)
  To: gerrit; +Cc: netdev
In-Reply-To: <200708220956.48297@strip-the-willow>

From: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Date: Wed, 22 Aug 2007 09:56:48 +0100

> With the davem-2.6.24 tree I get the following Oops in the e100 driver (cribbed from console):

Probably the NAPI conversion, I'll try to get to diagnosing this
one soon but I've been wrapped up in some other tasks so if
someone could beat me to it that'd be great :-)

^ permalink raw reply

* Re: [PATCH 0/9 Rev3] Implement batching skb API and support in IPoIB
From: David Miller @ 2007-08-22  9:14 UTC (permalink / raw)
  To: krkumar2
  Cc: gaagaan, general, hadi, herbert, jagana, jeff, johnpol, kaber,
	kumarkr, mcarlson, mchan, netdev, peter.p.waskiewicz.jr, rdreier,
	rick.jones2, Robert.Olsson, shemminger, sri, tgraf, xma
In-Reply-To: <OF6B96E612.D20F2F6A-ON6525733F.0025E38A-6525733F.0026BBB8@in.ibm.com>

From: Krishna Kumar2 <krkumar2@in.ibm.com>
Date: Wed, 22 Aug 2007 12:33:04 +0530

> Does turning off batching solve that problem? What I mean by that is:
> batching can be disabled if a TSO device is worse for some cases.

This new batching stuff isn't going to be enabled or disabled
on a per-device basis just to get "parity" with how things are
now.

It should be enabled by default, and give at least as good
performance as what can be obtained right now.

Otherwise it's a clear regression.

^ permalink raw reply

* Re: net-2.6.24 failure with netconsole
From: David Miller @ 2007-08-22  9:12 UTC (permalink / raw)
  To: akpm; +Cc: shemminger, netdev
In-Reply-To: <20070821225438.9493f44c.akpm@linux-foundation.org>

From: Andrew Morton <akpm@linux-foundation.org>
Date: Tue, 21 Aug 2007 22:54:38 -0700

> Has anyone tested all this new napi stuff with netconsole?  It's pretty
> disastrous.  It immediately goes BUG in napi_enable().

Thomas Graf has found and fixed a bug in the netconsole napi
bits a few hours ago, maybe it fixes this problem?


^ permalink raw reply

* Oops in e100_up
From: Gerrit Renker @ 2007-08-22  8:56 UTC (permalink / raw)
  To: netdev

With the davem-2.6.24 tree I get the following Oops in the e100 driver (cribbed from console):

Code: 6c ff ff ff 8b 48 0c ba 01 00 00 00 89 f0 e8 1b f2 ff ff c7 86 9c 00 00 00
      01 00 00 00 e9 4e ff ff ff 89 d0 e8 b3 f8 0b 00 eb 8e <0f> 0b eb fe 55 89 e5
      56 53 83 ec 0c 8b 98 dc 01 00 00 e8 ff b9

EIP: e100_up+0x11d/0x121 

SS:ESP 0068:f759ce38

Stack: syscall_call -> sys_ioctl -> vfs_ioctl -> do_ioctl -> sock_ioctl -> inet_ioctl -> devinet_ioctl ->
       dev_change_flags -> dev_open -> e100_open -> oops

The system log then goes on reporting "eth0: link up, 100Mbps, full-duplex" and hangs while trying to
restore the serial console state (not sure that this is related).

^ permalink raw reply

* [PATCH 10/10 Rev4] [E1000] Implement batching
From: Krishna Kumar @ 2007-08-22  8:31 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, kumarkr,
	rdreier, peter.p.waskiewicz.jr, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

E1000: Implement batching capability (ported thanks to changes taken from
	Jamal). Not all changes are made in this as in IPoIB, eg, handling
	out of order skbs (see XXX in the first mail).

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 e1000_main.c |  150 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 121 insertions(+), 29 deletions(-)

diff -ruNp org/drivers/net/e1000/e1000_main.c new/drivers/net/e1000/e1000_main.c
--- org/drivers/net/e1000/e1000_main.c	2007-08-20 14:26:29.000000000 +0530
+++ new/drivers/net/e1000/e1000_main.c	2007-08-22 08:33:51.000000000 +0530
@@ -157,6 +157,7 @@ static void e1000_update_phy_info(unsign
 static void e1000_watchdog(unsigned long data);
 static void e1000_82547_tx_fifo_stall(unsigned long data);
 static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev);
+static int e1000_xmit_frames(struct net_device *dev);
 static struct net_device_stats * e1000_get_stats(struct net_device *netdev);
 static int e1000_change_mtu(struct net_device *netdev, int new_mtu);
 static int e1000_set_mac(struct net_device *netdev, void *p);
@@ -990,7 +991,7 @@ e1000_probe(struct pci_dev *pdev,
 	if (pci_using_dac)
 		netdev->features |= NETIF_F_HIGHDMA;
 
-	netdev->features |= NETIF_F_LLTX;
+	netdev->features |= NETIF_F_LLTX | NETIF_F_BATCH_SKBS;
 
 	adapter->en_mng_pt = e1000_enable_mng_pass_thru(&adapter->hw);
 
@@ -3098,6 +3099,18 @@ e1000_tx_map(struct e1000_adapter *adapt
 	return count;
 }
 
+static void e1000_kick_DMA(struct e1000_adapter *adapter,
+			   struct e1000_tx_ring *tx_ring, int i)
+{
+	wmb();
+
+	writel(i, adapter->hw.hw_addr + tx_ring->tdt);
+	/* we need this if more than one processor can write to our tail
+	 * at a time, it syncronizes IO on IA64/Altix systems */
+	mmiowb();
+}
+
+
 static void
 e1000_tx_queue(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
                int tx_flags, int count)
@@ -3144,13 +3157,7 @@ e1000_tx_queue(struct e1000_adapter *ada
 	 * know there are new descriptors to fetch.  (Only
 	 * applicable for weak-ordered memory model archs,
 	 * such as IA-64). */
-	wmb();
-
 	tx_ring->next_to_use = i;
-	writel(i, adapter->hw.hw_addr + tx_ring->tdt);
-	/* we need this if more than one processor can write to our tail
-	 * at a time, it syncronizes IO on IA64/Altix systems */
-	mmiowb();
 }
 
 /**
@@ -3257,21 +3264,31 @@ static int e1000_maybe_stop_tx(struct ne
 }
 
 #define TXD_USE_COUNT(S, X) (((S) >> (X)) + 1 )
+
+struct e1000_tx_cbdata {
+	int count;
+	unsigned int max_per_txd;
+	unsigned int nr_frags;
+	unsigned int mss;
+};
+
+#define E1000_SKB_CB(__skb)	((struct e1000_tx_cbdata *)&((__skb)->cb[0]))
+#define NETDEV_TX_DROPPED	-5
+
 static int
-e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
+e1000_prep_queue_frame(struct sk_buff *skb, struct net_device *netdev)
 {
 	struct e1000_adapter *adapter = netdev_priv(netdev);
 	struct e1000_tx_ring *tx_ring;
-	unsigned int first, max_per_txd = E1000_MAX_DATA_PER_TXD;
+	unsigned int max_per_txd = E1000_MAX_DATA_PER_TXD;
 	unsigned int max_txd_pwr = E1000_MAX_TXD_PWR;
-	unsigned int tx_flags = 0;
 	unsigned int len = skb->len;
-	unsigned long flags;
-	unsigned int nr_frags = 0;
-	unsigned int mss = 0;
+	unsigned int nr_frags;
+	unsigned int mss;
 	int count = 0;
-	int tso;
 	unsigned int f;
+	struct e1000_tx_cbdata *cb = E1000_SKB_CB(skb);
+
 	len -= skb->data_len;
 
 	/* This goes back to the question of how to logically map a tx queue
@@ -3282,7 +3299,7 @@ e1000_xmit_frame(struct sk_buff *skb, st
 
 	if (unlikely(skb->len <= 0)) {
 		dev_kfree_skb_any(skb);
-		return NETDEV_TX_OK;
+		return NETDEV_TX_DROPPED;
 	}
 
 	/* 82571 and newer doesn't need the workaround that limited descriptor
@@ -3328,7 +3345,7 @@ e1000_xmit_frame(struct sk_buff *skb, st
 					DPRINTK(DRV, ERR,
 						"__pskb_pull_tail failed.\n");
 					dev_kfree_skb_any(skb);
-					return NETDEV_TX_OK;
+					return NETDEV_TX_DROPPED;
 				}
 				len = skb->len - skb->data_len;
 				break;
@@ -3372,22 +3389,32 @@ e1000_xmit_frame(struct sk_buff *skb, st
 	    (adapter->hw.mac_type == e1000_82573))
 		e1000_transfer_dhcp_info(adapter, skb);
 
-	if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags))
-		/* Collision - tell upper layer to requeue */
-		return NETDEV_TX_LOCKED;
+	cb->count = count;
+	cb->max_per_txd = max_per_txd;
+	cb->nr_frags = nr_frags;
+	cb->mss = mss;
+
+	return NETDEV_TX_OK;
+}
+
+static int e1000_queue_frame(struct sk_buff *skb, struct net_device *netdev)
+{
+	struct e1000_adapter *adapter = netdev_priv(netdev);
+	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
+	int tso;
+	unsigned int first;
+	unsigned int tx_flags = 0;
+	struct e1000_tx_cbdata *cb = E1000_SKB_CB(skb);
 
 	/* need: count + 2 desc gap to keep tail from touching
 	 * head, otherwise try next time */
-	if (unlikely(e1000_maybe_stop_tx(netdev, tx_ring, count + 2))) {
-		spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
+	if (unlikely(e1000_maybe_stop_tx(netdev, tx_ring, cb->count + 2)))
 		return NETDEV_TX_BUSY;
-	}
 
 	if (unlikely(adapter->hw.mac_type == e1000_82547)) {
 		if (unlikely(e1000_82547_fifo_workaround(adapter, skb))) {
 			netif_stop_queue(netdev);
 			mod_timer(&adapter->tx_fifo_stall_timer, jiffies + 1);
-			spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
 			return NETDEV_TX_BUSY;
 		}
 	}
@@ -3402,8 +3429,7 @@ e1000_xmit_frame(struct sk_buff *skb, st
 	tso = e1000_tso(adapter, tx_ring, skb);
 	if (tso < 0) {
 		dev_kfree_skb_any(skb);
-		spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
-		return NETDEV_TX_OK;
+		return NETDEV_TX_DROPPED;
 	}
 
 	if (likely(tso)) {
@@ -3420,12 +3446,78 @@ e1000_xmit_frame(struct sk_buff *skb, st
 
 	e1000_tx_queue(adapter, tx_ring, tx_flags,
 	               e1000_tx_map(adapter, tx_ring, skb, first,
-	                            max_per_txd, nr_frags, mss));
+	                            cb->max_per_txd, cb->nr_frags, cb->mss));
+
+	return NETDEV_TX_OK;
+}
 
-	netdev->trans_start = jiffies;
+static inline int e1000_xmit_frames(struct net_device *netdev)
+{
+	struct e1000_adapter *adapter = netdev->priv;
+	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
+	int ret = NETDEV_TX_OK;
+	int skbs_done = 0;
+	struct sk_buff *skb;
+	unsigned long flags;
+
+	if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags)) {
+		/* Collision - tell upper layer to requeue */
+		return NETDEV_TX_LOCKED;
+	}
 
-	/* Make sure there is space in the ring for the next send. */
-	e1000_maybe_stop_tx(netdev, tx_ring, MAX_SKB_FRAGS + 2);
+	while ((skb = __skb_dequeue(netdev->skb_blist)) != NULL) {
+		if ((ret = e1000_prep_queue_frame(skb, netdev)) != NETDEV_TX_OK)
+			continue;
+
+		ret = e1000_queue_frame(skb, netdev);
+		if (ret == NETDEV_TX_OK) {
+			skbs_done++;
+		} else {
+			if (ret == NETDEV_TX_BUSY)
+				__skb_queue_head(netdev->skb_blist, skb);
+			break;
+		}
+	}
+
+	if (skbs_done) {
+		e1000_kick_DMA(adapter, tx_ring, adapter->tx_ring->next_to_use);
+		netdev->trans_start = jiffies;
+		e1000_maybe_stop_tx(netdev, tx_ring, MAX_SKB_FRAGS + 2);
+	}
+
+	spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
+
+	if (ret == NETDEV_TX_DROPPED)
+		ret = NETDEV_TX_OK;
+
+	return ret;
+}
+
+static int e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
+{
+	struct e1000_adapter *adapter = netdev_priv(netdev);
+	struct e1000_tx_ring *tx_ring = adapter->tx_ring;
+	unsigned long flags;
+
+	if (!skb)
+		return e1000_xmit_frames(netdev);
+
+	if (!spin_trylock_irqsave(&tx_ring->tx_lock, flags)) {
+		/* Collision - tell upper layer to requeue */
+		return NETDEV_TX_LOCKED;
+	}
+
+	if (unlikely(e1000_prep_queue_frame(skb, netdev) != NETDEV_TX_OK)) {
+		spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
+		return NETDEV_TX_OK;
+	}
+
+	if (e1000_queue_frame(skb, netdev) == NETDEV_TX_OK) {
+		e1000_kick_DMA(adapter, tx_ring, adapter->tx_ring->next_to_use);
+		netdev->trans_start = jiffies;
+		/* Make sure there is space in the ring for the next send. */
+		e1000_maybe_stop_tx(netdev, tx_ring, MAX_SKB_FRAGS + 2);
+	}
 
 	spin_unlock_irqrestore(&tx_ring->tx_lock, flags);
 	return NETDEV_TX_OK;

^ permalink raw reply

* [PATCH 9/10 Rev4] [IPoIB] Implement batching
From: Krishna Kumar @ 2007-08-22  8:31 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, peter.p.waskiewicz.jr, xma, gaagaan,
	kumarkr, rdreier, rick.jones2, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

IPoIB: implement the new batching API.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 ipoib_main.c |  251 ++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 171 insertions(+), 80 deletions(-)

diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_main.c new/drivers/infiniband/ulp/ipoib/ipoib_main.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_main.c	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_main.c	2007-08-22 08:33:51.000000000 +0530
@@ -560,7 +560,8 @@ static void neigh_add_path(struct sk_buf
 				goto err_drop;
 			}
 		} else
-			ipoib_send(dev, skb, path->ah, IPOIB_QPN(skb->dst->neighbour->ha));
+			ipoib_send(dev, skb, path->ah,
+				   IPOIB_QPN(skb->dst->neighbour->ha), 1);
 	} else {
 		neigh->ah  = NULL;
 
@@ -640,7 +641,7 @@ static void unicast_arp_send(struct sk_b
 		ipoib_dbg(priv, "Send unicast ARP to %04x\n",
 			  be16_to_cpu(path->pathrec.dlid));
 
-		ipoib_send(dev, skb, path->ah, IPOIB_QPN(phdr->hwaddr));
+		ipoib_send(dev, skb, path->ah, IPOIB_QPN(phdr->hwaddr), 1);
 	} else if ((path->query || !path_rec_start(dev, path)) &&
 		   skb_queue_len(&path->queue) < IPOIB_MAX_PATH_REC_QUEUE) {
 		/* put pseudoheader back on for next time */
@@ -654,105 +655,166 @@ static void unicast_arp_send(struct sk_b
 	spin_unlock(&priv->lock);
 }
 
+#define	XMIT_PROCESSED_SKBS()						\
+	do {								\
+		if (wr_num) {						\
+			ipoib_send(dev, NULL, old_neigh->ah, old_qpn,	\
+				   wr_num);				\
+			wr_num = 0;					\
+		}							\
+	} while (0)
+
 static int ipoib_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	struct ipoib_dev_priv *priv = netdev_priv(dev);
-	struct ipoib_neigh *neigh;
+	struct sk_buff_head *blist;
+	int max_skbs, wr_num = 0;
+	u32 qpn, old_qpn = 0;
+	struct ipoib_neigh *neigh, *old_neigh = NULL;
 	unsigned long flags;
 
 	if (unlikely(!spin_trylock_irqsave(&priv->tx_lock, flags)))
 		return NETDEV_TX_LOCKED;
 
-	/*
-	 * Check if our queue is stopped.  Since we have the LLTX bit
-	 * set, we can't rely on netif_stop_queue() preventing our
-	 * xmit function from being called with a full queue.
-	 */
-	if (unlikely(netif_queue_stopped(dev))) {
-		spin_unlock_irqrestore(&priv->tx_lock, flags);
-		return NETDEV_TX_BUSY;
-	}
-
-	if (likely(skb->dst && skb->dst->neighbour)) {
-		if (unlikely(!*to_ipoib_neigh(skb->dst->neighbour))) {
-			ipoib_path_lookup(skb, dev);
-			goto out;
-		}
+	blist = dev->skb_blist;
 
-		neigh = *to_ipoib_neigh(skb->dst->neighbour);
+	if (!skb || (blist && skb_queue_len(blist))) {
+		/*
+		 * Either batching xmit call, or single skb case but there are
+		 * skbs already in the batch list from previous failure to
+		 * xmit - send the earlier skbs first to avoid out of order.
+		 */
+
+		if (skb)
+			__skb_queue_tail(blist, skb);
+
+		/*
+		 * Figure out how many skbs can be sent. This prevents the
+		 * device getting full and avoids checking for stopped queue
+		 * after each iteration. Now the queue can get stopped atmost
+		 * after xmit of the last skb.
+		 */
+		max_skbs = ipoib_sendq_size - (priv->tx_head - priv->tx_tail);
+		skb = __skb_dequeue(blist);
+	} else {
+		blist = NULL;
+		max_skbs = 1;
+	}
 
-		if (ipoib_cm_get(neigh)) {
-			if (ipoib_cm_up(neigh)) {
-				ipoib_cm_send(dev, skb, ipoib_cm_get(neigh));
-				goto out;
-			}
-		} else if (neigh->ah) {
-			if (unlikely(memcmp(&neigh->dgid.raw,
-					    skb->dst->neighbour->ha + 4,
-					    sizeof(union ib_gid)))) {
-				spin_lock(&priv->lock);
-				/*
-				 * It's safe to call ipoib_put_ah() inside
-				 * priv->lock here, because we know that
-				 * path->ah will always hold one more reference,
-				 * so ipoib_put_ah() will never do more than
-				 * decrement the ref count.
-				 */
-				ipoib_put_ah(neigh->ah);
-				list_del(&neigh->list);
-				ipoib_neigh_free(dev, neigh);
-				spin_unlock(&priv->lock);
+	do {
+		if (likely(skb->dst && skb->dst->neighbour)) {
+			if (unlikely(!*to_ipoib_neigh(skb->dst->neighbour))) {
+				XMIT_PROCESSED_SKBS();
 				ipoib_path_lookup(skb, dev);
-				goto out;
+				continue;
 			}
 
-			ipoib_send(dev, skb, neigh->ah, IPOIB_QPN(skb->dst->neighbour->ha));
-			goto out;
-		}
-
-		if (skb_queue_len(&neigh->queue) < IPOIB_MAX_PATH_REC_QUEUE) {
-			spin_lock(&priv->lock);
-			__skb_queue_tail(&neigh->queue, skb);
-			spin_unlock(&priv->lock);
-		} else {
-			++priv->stats.tx_dropped;
-			dev_kfree_skb_any(skb);
-		}
-	} else {
-		struct ipoib_pseudoheader *phdr =
-			(struct ipoib_pseudoheader *) skb->data;
-		skb_pull(skb, sizeof *phdr);
+			neigh = *to_ipoib_neigh(skb->dst->neighbour);
 
-		if (phdr->hwaddr[4] == 0xff) {
-			/* Add in the P_Key for multicast*/
-			phdr->hwaddr[8] = (priv->pkey >> 8) & 0xff;
-			phdr->hwaddr[9] = priv->pkey & 0xff;
+			if (ipoib_cm_get(neigh)) {
+				if (ipoib_cm_up(neigh)) {
+					XMIT_PROCESSED_SKBS();
+					ipoib_cm_send(dev, skb,
+						      ipoib_cm_get(neigh));
+					continue;
+				}
+			} else if (neigh->ah) {
+				if (unlikely(memcmp(&neigh->dgid.raw,
+						    skb->dst->neighbour->ha + 4,
+						    sizeof(union ib_gid)))) {
+					spin_lock(&priv->lock);
+					/*
+					 * It's safe to call ipoib_put_ah()
+					 * inside priv->lock here, because we
+					 * know that path->ah will always hold
+					 * one more reference, so ipoib_put_ah()
+					 * will never do more than decrement
+					 * the ref count.
+					 */
+					ipoib_put_ah(neigh->ah);
+					list_del(&neigh->list);
+					ipoib_neigh_free(dev, neigh);
+					spin_unlock(&priv->lock);
+					XMIT_PROCESSED_SKBS();
+					ipoib_path_lookup(skb, dev);
+					continue;
+				}
+
+				qpn = IPOIB_QPN(skb->dst->neighbour->ha);
+				if (neigh != old_neigh || qpn != old_qpn) {
+					/*
+					 * Sending to a different destination
+					 * from earlier skb's (or this is the
+					 * first skb) - send all existing skbs.
+					 */
+					XMIT_PROCESSED_SKBS();
+					old_neigh = neigh;
+					old_qpn = qpn;
+				}
+
+				if (likely(!ipoib_process_skb(dev, skb, priv,
+							      neigh->ah, qpn,
+							      wr_num)))
+					wr_num++;
 
-			ipoib_mcast_send(dev, phdr->hwaddr + 4, skb);
-		} else {
-			/* unicast GID -- should be ARP or RARP reply */
+				continue;
+			}
 
-			if ((be16_to_cpup((__be16 *) skb->data) != ETH_P_ARP) &&
-			    (be16_to_cpup((__be16 *) skb->data) != ETH_P_RARP)) {
-				ipoib_warn(priv, "Unicast, no %s: type %04x, QPN %06x "
-					   IPOIB_GID_FMT "\n",
-					   skb->dst ? "neigh" : "dst",
-					   be16_to_cpup((__be16 *) skb->data),
-					   IPOIB_QPN(phdr->hwaddr),
-					   IPOIB_GID_RAW_ARG(phdr->hwaddr + 4));
+			if (skb_queue_len(&neigh->queue) <
+			    IPOIB_MAX_PATH_REC_QUEUE) {
+				spin_lock(&priv->lock);
+				__skb_queue_tail(&neigh->queue, skb);
+				spin_unlock(&priv->lock);
+			} else {
 				dev_kfree_skb_any(skb);
 				++priv->stats.tx_dropped;
-				goto out;
+				++max_skbs;
+			}
+		} else {
+			struct ipoib_pseudoheader *phdr =
+				(struct ipoib_pseudoheader *) skb->data;
+			skb_pull(skb, sizeof *phdr);
+
+			if (phdr->hwaddr[4] == 0xff) {
+				/* Add in the P_Key for multicast*/
+				phdr->hwaddr[8] = (priv->pkey >> 8) & 0xff;
+				phdr->hwaddr[9] = priv->pkey & 0xff;
+
+				XMIT_PROCESSED_SKBS();
+				ipoib_mcast_send(dev, phdr->hwaddr + 4, skb);
+			} else {
+				/* unicast GID -- should be ARP or RARP reply */
+
+				if ((be16_to_cpup((__be16 *) skb->data) !=
+				    ETH_P_ARP) &&
+				    (be16_to_cpup((__be16 *) skb->data) !=
+				    ETH_P_RARP)) {
+					ipoib_warn(priv, "Unicast, no %s: type %04x, QPN %06x "
+						IPOIB_GID_FMT "\n",
+						skb->dst ? "neigh" : "dst",
+						be16_to_cpup((__be16 *)
+						skb->data),
+						IPOIB_QPN(phdr->hwaddr),
+						IPOIB_GID_RAW_ARG(phdr->hwaddr
+								  + 4));
+					dev_kfree_skb_any(skb);
+					++priv->stats.tx_dropped;
+					++max_skbs;
+					continue;
+				}
+				XMIT_PROCESSED_SKBS();
+				unicast_arp_send(skb, dev, phdr);
 			}
-
-			unicast_arp_send(skb, dev, phdr);
 		}
-	}
+	} while (--max_skbs && (skb = __skb_dequeue(blist)) != NULL);
+
+	/* Send out last packets (if any) */
+	XMIT_PROCESSED_SKBS();
 
-out:
 	spin_unlock_irqrestore(&priv->tx_lock, flags);
 
-	return NETDEV_TX_OK;
+	return (!blist || !skb_queue_len(blist)) ? NETDEV_TX_OK :
+						   NETDEV_TX_BUSY;
 }
 
 static struct net_device_stats *ipoib_get_stats(struct net_device *dev)
@@ -900,11 +962,35 @@ int ipoib_dev_init(struct net_device *de
 
 	/* priv->tx_head & tx_tail are already 0 */
 
-	if (ipoib_ib_dev_init(dev, ca, port))
+	/* Allocate tx_sge */
+	priv->tx_sge = kmalloc(ipoib_sendq_size * sizeof *priv->tx_sge,
+			       GFP_KERNEL);
+	if (!priv->tx_sge) {
+		printk(KERN_WARNING "%s: failed to allocate TX sge (%d entries)\n",
+		       ca->name, ipoib_sendq_size);
 		goto out_tx_ring_cleanup;
+	}
+
+	/* Allocate tx_wr */
+	priv->tx_wr = kmalloc(ipoib_sendq_size * sizeof *priv->tx_wr,
+			      GFP_KERNEL);
+	if (!priv->tx_wr) {
+		printk(KERN_WARNING "%s: failed to allocate TX wr (%d entries)\n",
+		       ca->name, ipoib_sendq_size);
+		goto out_tx_sge_cleanup;
+	}
+
+	if (ipoib_ib_dev_init(dev, ca, port))
+		goto out_tx_wr_cleanup;
 
 	return 0;
 
+out_tx_wr_cleanup:
+	kfree(priv->tx_wr);
+
+out_tx_sge_cleanup:
+	kfree(priv->tx_sge);
+
 out_tx_ring_cleanup:
 	kfree(priv->tx_ring);
 
@@ -932,9 +1018,13 @@ void ipoib_dev_cleanup(struct net_device
 
 	kfree(priv->rx_ring);
 	kfree(priv->tx_ring);
+	kfree(priv->tx_sge);
+	kfree(priv->tx_wr);
 
 	priv->rx_ring = NULL;
 	priv->tx_ring = NULL;
+	priv->tx_sge = NULL;
+	priv->tx_wr = NULL;
 }
 
 static void ipoib_setup(struct net_device *dev)
@@ -965,7 +1055,8 @@ static void ipoib_setup(struct net_devic
 	dev->addr_len 		 = INFINIBAND_ALEN;
 	dev->type 		 = ARPHRD_INFINIBAND;
 	dev->tx_queue_len 	 = ipoib_sendq_size * 2;
-	dev->features            = NETIF_F_VLAN_CHALLENGED | NETIF_F_LLTX;
+	dev->features            = NETIF_F_VLAN_CHALLENGED | NETIF_F_LLTX |
+				   NETIF_F_BATCH_SKBS;
 
 	/* MTU will be reset when mcast join happens */
 	dev->mtu 		 = IPOIB_PACKET_SIZE - IPOIB_ENCAP_LEN;

^ permalink raw reply

* [PATCH 8/10 Rev4] [IPoIB] Post and work completion handler changes
From: Krishna Kumar @ 2007-08-22  8:31 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, kumarkr,
	rdreier, peter.p.waskiewicz.jr, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

IPoIB internal post and work completion handler changes.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 ipoib_ib.c |  207 ++++++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 163 insertions(+), 44 deletions(-)

diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_ib.c new/drivers/infiniband/ulp/ipoib/ipoib_ib.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_ib.c	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_ib.c	2007-08-22 08:33:51.000000000 +0530
@@ -242,6 +242,8 @@ repost:
 static void ipoib_ib_handle_tx_wc(struct net_device *dev, struct ib_wc *wc)
 {
 	struct ipoib_dev_priv *priv = netdev_priv(dev);
+	int i, num_completions;
+	unsigned int tx_ring_index;
 	unsigned int wr_id = wc->wr_id;
 	struct ipoib_tx_buf *tx_req;
 	unsigned long flags;
@@ -255,18 +257,46 @@ static void ipoib_ib_handle_tx_wc(struct
 		return;
 	}
 
-	tx_req = &priv->tx_ring[wr_id];
+	/* Get first WC to process (no one can update tx_tail at this time) */
+	tx_ring_index = priv->tx_tail & (ipoib_sendq_size - 1);
 
-	ib_dma_unmap_single(priv->ca, tx_req->mapping,
-			    tx_req->skb->len, DMA_TO_DEVICE);
+	/* Find number of WC's */
+	num_completions = wr_id - tx_ring_index + 1;
+	if (unlikely(num_completions <= 0))
+		num_completions += ipoib_sendq_size;
 
-	++priv->stats.tx_packets;
-	priv->stats.tx_bytes += tx_req->skb->len;
+	/*
+	 * Handle WC's from earlier (possibly multiple) post_sends in this
+	 * iteration as we move from tx_tail to wr_id, since if the last WR
+	 * (which is the one which requested completion notification) failed
+	 * to be sent for any of those earlier request(s), no completion
+	 * notification is generated for successful WR's of those earlier
+	 * request(s).
+	 */
+	tx_req = &priv->tx_ring[tx_ring_index];
+	for (i = 0; i < num_completions; i++) {
+		if (likely(tx_req->skb)) {
+			ib_dma_unmap_single(priv->ca, tx_req->mapping,
+					    tx_req->skb->len, DMA_TO_DEVICE);
+
+			++priv->stats.tx_packets;
+			priv->stats.tx_bytes += tx_req->skb->len;
 
-	dev_kfree_skb_any(tx_req->skb);
+			dev_kfree_skb_any(tx_req->skb);
+		}
+		/*
+		 * else this skb failed synchronously when posted and was
+		 * freed immediately.
+		 */
+
+		if (likely(++tx_ring_index != ipoib_sendq_size))
+			tx_req++;
+		else
+			tx_req = &priv->tx_ring[0];
+	}
 
 	spin_lock_irqsave(&priv->tx_lock, flags);
-	++priv->tx_tail;
+	priv->tx_tail += num_completions;
 	if (unlikely(test_bit(IPOIB_FLAG_NETIF_STOPPED, &priv->flags)) &&
 	    priv->tx_head - priv->tx_tail <= ipoib_sendq_size >> 1) {
 		clear_bit(IPOIB_FLAG_NETIF_STOPPED, &priv->flags);
@@ -335,29 +365,57 @@ void ipoib_ib_completion(struct ib_cq *c
 	netif_rx_schedule(dev, &priv->napi);
 }
 
-static inline int post_send(struct ipoib_dev_priv *priv,
-			    unsigned int wr_id,
-			    struct ib_ah *address, u32 qpn,
-			    u64 addr, int len)
+/*
+ * post_send : Post WR(s) to the device.
+ *
+ * num_skbs is the number of WR's, first_wr is the first slot in tx_wr[] (or
+ * tx_sge[]). first_wr is normally zero unless a previous post_send returned
+ * error and we are trying to post the untried WR's, in which case first_wr
+ * is the index to the first untried WR.
+ *
+ * Break the WR link before posting so that provider knows how many WR's to
+ * process, and this is set back after the post.
+ */
+static inline int post_send(struct ipoib_dev_priv *priv, u32 qpn,
+			    int first_wr, int num_skbs,
+			    struct ib_send_wr **bad_wr)
 {
-	struct ib_send_wr *bad_wr;
+	int ret;
+	struct ib_send_wr *last_wr, *next_wr;
+
+	last_wr = &priv->tx_wr[first_wr + num_skbs - 1];
 
-	priv->tx_sge.addr             = addr;
-	priv->tx_sge.length           = len;
+	/* Set Completion Notification for last WR */
+	last_wr->send_flags = IB_SEND_SIGNALED;
 
-	priv->tx_wr.wr_id 	      = wr_id;
-	priv->tx_wr.wr.ud.remote_qpn  = qpn;
-	priv->tx_wr.wr.ud.ah 	      = address;
+	/* Terminate the last WR */
+	next_wr = last_wr->next;
+	last_wr->next = NULL;
 
-	return ib_post_send(priv->qp, &priv->tx_wr, &bad_wr);
+	/* Send all the WR's in one doorbell */
+	ret = ib_post_send(priv->qp, &priv->tx_wr[first_wr], bad_wr);
+
+	/* Restore send_flags & WR chain */
+	last_wr->send_flags = 0;
+	last_wr->next = next_wr;
+
+	return ret;
 }
 
-void ipoib_send(struct net_device *dev, struct sk_buff *skb,
-		struct ipoib_ah *address, u32 qpn)
+/*
+ * Map skb & store skb/mapping in tx_ring; and details of the WR in tx_wr
+ * to pass to the provider.
+ *
+ * Returns:
+ *	1: Error and the skb is freed.
+ *	0 skb processed successfully.
+ */
+int ipoib_process_skb(struct net_device *dev, struct sk_buff *skb,
+		      struct ipoib_dev_priv *priv, struct ipoib_ah *address,
+		      u32 qpn, int wr_num)
 {
-	struct ipoib_dev_priv *priv = netdev_priv(dev);
-	struct ipoib_tx_buf *tx_req;
 	u64 addr;
+	unsigned int tx_ring_index;
 
 	if (unlikely(skb->len > priv->mcast_mtu + IPOIB_ENCAP_LEN)) {
 		ipoib_warn(priv, "packet len %d (> %d) too long to send, dropping\n",
@@ -365,7 +423,7 @@ void ipoib_send(struct net_device *dev, 
 		++priv->stats.tx_dropped;
 		++priv->stats.tx_errors;
 		ipoib_cm_skb_too_long(dev, skb, priv->mcast_mtu);
-		return;
+		return 1;
 	}
 
 	ipoib_dbg_data(priv, "sending packet, length=%d address=%p qpn=0x%06x\n",
@@ -378,35 +436,96 @@ void ipoib_send(struct net_device *dev, 
 	 * means we have to make sure everything is properly recorded and
 	 * our state is consistent before we call post_send().
 	 */
-	tx_req = &priv->tx_ring[priv->tx_head & (ipoib_sendq_size - 1)];
-	tx_req->skb = skb;
-	addr = ib_dma_map_single(priv->ca, skb->data, skb->len,
-				 DMA_TO_DEVICE);
+	addr = ib_dma_map_single(priv->ca, skb->data, skb->len, DMA_TO_DEVICE);
 	if (unlikely(ib_dma_mapping_error(priv->ca, addr))) {
 		++priv->stats.tx_errors;
 		dev_kfree_skb_any(skb);
-		return;
+		return 1;
 	}
-	tx_req->mapping = addr;
 
-	if (unlikely(post_send(priv, priv->tx_head & (ipoib_sendq_size - 1),
-			       address->ah, qpn, addr, skb->len))) {
-		ipoib_warn(priv, "post_send failed\n");
-		++priv->stats.tx_errors;
-		ib_dma_unmap_single(priv->ca, addr, skb->len, DMA_TO_DEVICE);
-		dev_kfree_skb_any(skb);
-	} else {
-		dev->trans_start = jiffies;
+	tx_ring_index = priv->tx_head & (ipoib_sendq_size - 1);
 
-		address->last_send = priv->tx_head;
-		++priv->tx_head;
+	/* Save till completion handler executes */
+	priv->tx_ring[tx_ring_index].skb = skb;
+	priv->tx_ring[tx_ring_index].mapping = addr;
+
+	/* Set WR values for the provider to use */
+	priv->tx_sge[wr_num].addr = addr;
+	priv->tx_sge[wr_num].length = skb->len;
+
+	priv->tx_wr[wr_num].wr_id = tx_ring_index;
+	priv->tx_wr[wr_num].wr.ud.remote_qpn = qpn;
+	priv->tx_wr[wr_num].wr.ud.ah = address->ah;
+
+	priv->tx_head++;
+
+	if (unlikely(priv->tx_head - priv->tx_tail == ipoib_sendq_size)) {
+		ipoib_dbg(priv, "TX ring full, stopping kernel net queue\n");
+		netif_stop_queue(dev);
+		set_bit(IPOIB_FLAG_NETIF_STOPPED, &priv->flags);
+	}
 
-		if (priv->tx_head - priv->tx_tail == ipoib_sendq_size) {
-			ipoib_dbg(priv, "TX ring full, stopping kernel net queue\n");
-			netif_stop_queue(dev);
-			set_bit(IPOIB_FLAG_NETIF_STOPPED, &priv->flags);
+	return 0;
+}
+
+/*
+ * Send num_skbs to the device. If an skb is passed to this function, it is
+ * single, unprocessed skb send case; otherwise it means that all skbs are
+ * already processed and put on priv->tx_wr,tx_sge,tx_ring, etc.
+ */
+void ipoib_send(struct net_device *dev, struct sk_buff *skb,
+		struct ipoib_ah *address, u32 qpn, int num_skbs)
+{
+	struct ipoib_dev_priv *priv = netdev_priv(dev);
+	int first_wr = 0;
+
+	if (skb && ipoib_process_skb(dev, skb, priv, address, qpn, 0))
+		return;
+
+	/* Send all skb's in one post */
+	do {
+		struct ib_send_wr *bad_wr;
+
+		if (unlikely((post_send(priv, qpn, first_wr, num_skbs,
+					&bad_wr)))) {
+			int done;
+
+			ipoib_warn(priv, "post_send failed\n");
+
+			/* Get number of WR's that finished successfully */
+			done = bad_wr - &priv->tx_wr[first_wr];
+
+			/* Handle 1 error */
+			priv->stats.tx_errors++;
+			ib_dma_unmap_single(priv->ca,
+				priv->tx_sge[first_wr + done].addr,
+				priv->tx_sge[first_wr + done].length,
+				DMA_TO_DEVICE);
+
+			/* Free failed WR & reset for WC handler to recognize */
+			dev_kfree_skb_any(priv->tx_ring[bad_wr->wr_id].skb);
+			priv->tx_ring[bad_wr->wr_id].skb = NULL;
+
+			/* Handle 'n' successes */
+			if (done) {
+				dev->trans_start = jiffies;
+				address->last_send = priv->tx_head - (num_skbs -
+								      done) - 1;
+			}
+
+			/* Get count of skbs that were not tried */
+			num_skbs -= (done + 1);
+				/* + 1 for WR that was tried & failed */
+
+			/* Get start index for next iteration */
+			first_wr += (done + 1);
+		} else {
+			dev->trans_start = jiffies;
+
+			address->last_send = priv->tx_head - 1;
+			num_skbs = 0;
 		}
-	}
+	} while (num_skbs);
 }
 
 static void __ipoib_reap_ah(struct net_device *dev)

^ permalink raw reply

* [PATCH 7/10 Rev4] [IPoIB] Verbs changes
From: Krishna Kumar @ 2007-08-22  8:30 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, peter.p.waskiewicz.jr, xma, gaagaan,
	kumarkr, rdreier, rick.jones2, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

IPoIB verb changes to use batching.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 ipoib_verbs.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)

diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c new/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_verbs.c	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_verbs.c	2007-08-22 08:33:51.000000000 +0530
@@ -152,11 +152,11 @@ int ipoib_transport_dev_init(struct net_
 			.max_send_sge = 1,
 			.max_recv_sge = 1
 		},
-		.sq_sig_type = IB_SIGNAL_ALL_WR,
+		.sq_sig_type = IB_SIGNAL_REQ_WR,	/* 11.2.4.1 */
 		.qp_type     = IB_QPT_UD
 	};
-
-	int ret, size;
+	struct ib_send_wr *next_wr = NULL;
+	int i, ret, size;
 
 	priv->pd = ib_alloc_pd(priv->ca);
 	if (IS_ERR(priv->pd)) {
@@ -197,12 +197,17 @@ int ipoib_transport_dev_init(struct net_
 	priv->dev->dev_addr[2] = (priv->qp->qp_num >>  8) & 0xff;
 	priv->dev->dev_addr[3] = (priv->qp->qp_num      ) & 0xff;
 
-	priv->tx_sge.lkey 	= priv->mr->lkey;
-
-	priv->tx_wr.opcode 	= IB_WR_SEND;
-	priv->tx_wr.sg_list 	= &priv->tx_sge;
-	priv->tx_wr.num_sge 	= 1;
-	priv->tx_wr.send_flags 	= IB_SEND_SIGNALED;
+	for (i = ipoib_sendq_size - 1; i >= 0; i--) {
+		priv->tx_sge[i].lkey		= priv->mr->lkey;
+		priv->tx_wr[i].opcode		= IB_WR_SEND;
+		priv->tx_wr[i].sg_list		= &priv->tx_sge[i];
+		priv->tx_wr[i].num_sge		= 1;
+		priv->tx_wr[i].send_flags	= 0;
+
+		/* Link the list properly for provider to use */
+		priv->tx_wr[i].next		= next_wr;
+		next_wr				= &priv->tx_wr[i];
+	}
 
 	return 0;
 

^ permalink raw reply

* [PATCH 6/10 Rev4] [IPoIB] CM & Multicast changes
From: Krishna Kumar @ 2007-08-22  8:30 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, kumarkr,
	rdreier, peter.p.waskiewicz.jr, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

IPoIB CM & Multicast changes based on header file changes.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 ipoib_cm.c        |   13 +++++++++----
 ipoib_multicast.c |    4 ++--
 2 files changed, 11 insertions(+), 6 deletions(-)

diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_cm.c new/drivers/infiniband/ulp/ipoib/ipoib_cm.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_cm.c	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_cm.c	2007-08-22 08:33:51.000000000 +0530
@@ -493,14 +493,19 @@ static inline int post_send(struct ipoib
 			    unsigned int wr_id,
 			    u64 addr, int len)
 {
+	int ret;
 	struct ib_send_wr *bad_wr;
 
-	priv->tx_sge.addr             = addr;
-	priv->tx_sge.length           = len;
+	priv->tx_sge[0].addr          = addr;
+	priv->tx_sge[0].length        = len;
+
+	priv->tx_wr[0].wr_id 	      = wr_id;
 
-	priv->tx_wr.wr_id 	      = wr_id;
+	priv->tx_wr[0].next = NULL;
+	ret = ib_post_send(tx->qp, priv->tx_wr, &bad_wr);
+	priv->tx_wr[0].next = &priv->tx_wr[1];
 
-	return ib_post_send(tx->qp, &priv->tx_wr, &bad_wr);
+	return ret;
 }
 
 void ipoib_cm_send(struct net_device *dev, struct sk_buff *skb, struct ipoib_cm_tx *tx)
diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib_multicast.c new/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
--- org/drivers/infiniband/ulp/ipoib/ipoib_multicast.c	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib_multicast.c	2007-08-22 08:33:51.000000000 +0530
@@ -217,7 +217,7 @@ static int ipoib_mcast_join_finish(struc
 	if (!memcmp(mcast->mcmember.mgid.raw, priv->dev->broadcast + 4,
 		    sizeof (union ib_gid))) {
 		priv->qkey = be32_to_cpu(priv->broadcast->mcmember.qkey);
-		priv->tx_wr.wr.ud.remote_qkey = priv->qkey;
+		priv->tx_wr[0].wr.ud.remote_qkey = priv->qkey;
 	}
 
 	if (!test_bit(IPOIB_MCAST_FLAG_SENDONLY, &mcast->flags)) {
@@ -736,7 +736,7 @@ out:
 			}
 		}
 
-		ipoib_send(dev, skb, mcast->ah, IB_MULTICAST_QPN);
+		ipoib_send(dev, skb, mcast->ah, IB_MULTICAST_QPN, 1);
 	}
 
 unlock:

^ permalink raw reply

* [PATCH 5/10 Rev4] [IPoIB] Header file changes
From: Krishna Kumar @ 2007-08-22  8:30 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, peter.p.waskiewicz.jr, xma, gaagaan,
	kumarkr, rdreier, rick.jones2, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

IPoIB header file changes to use batching.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 ipoib.h |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff -ruNp org/drivers/infiniband/ulp/ipoib/ipoib.h new/drivers/infiniband/ulp/ipoib/ipoib.h
--- org/drivers/infiniband/ulp/ipoib/ipoib.h	2007-08-20 14:26:26.000000000 +0530
+++ new/drivers/infiniband/ulp/ipoib/ipoib.h	2007-08-22 08:33:51.000000000 +0530
@@ -271,8 +271,8 @@ struct ipoib_dev_priv {
 	struct ipoib_tx_buf *tx_ring;
 	unsigned             tx_head;
 	unsigned             tx_tail;
-	struct ib_sge        tx_sge;
-	struct ib_send_wr    tx_wr;
+	struct ib_sge        *tx_sge;
+	struct ib_send_wr    *tx_wr;
 
 	struct ib_wc ibwc[IPOIB_NUM_WC];
 
@@ -367,8 +367,11 @@ static inline void ipoib_put_ah(struct i
 int ipoib_open(struct net_device *dev);
 int ipoib_add_pkey_attr(struct net_device *dev);
 
+int ipoib_process_skb(struct net_device *dev, struct sk_buff *skb,
+		      struct ipoib_dev_priv *priv, struct ipoib_ah *address,
+		      u32 qpn, int wr_num);
 void ipoib_send(struct net_device *dev, struct sk_buff *skb,
-		struct ipoib_ah *address, u32 qpn);
+		struct ipoib_ah *address, u32 qpn, int num_skbs);
 void ipoib_reap_ah(struct work_struct *work);
 
 void ipoib_flush_paths(struct net_device *dev);

^ permalink raw reply

* [PATCH 4/10 Rev4] [ethtool] Add ethtool support
From: Krishna Kumar @ 2007-08-22  8:29 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, kumarkr,
	rdreier, peter.p.waskiewicz.jr, mcarlson, jeff, general, mchan,
	tgraf, netdev, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

Add ethtool support to enable/disable batching.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 include/linux/ethtool.h   |    2 ++
 include/linux/netdevice.h |    2 ++
 net/core/dev.c            |   36 ++++++++++++++++++++++++++++++++++++
 net/core/ethtool.c        |   27 +++++++++++++++++++++++++++
 4 files changed, 67 insertions(+)

diff -ruNp org/include/linux/ethtool.h new/include/linux/ethtool.h
--- org/include/linux/ethtool.h	2007-08-20 14:26:35.000000000 +0530
+++ new/include/linux/ethtool.h	2007-08-22 08:37:35.000000000 +0530
@@ -440,6 +440,8 @@ struct ethtool_ops {
 #define ETHTOOL_SFLAGS		0x00000026 /* Set flags bitmap(ethtool_value) */
 #define ETHTOOL_GPFLAGS		0x00000027 /* Get driver-private flags bitmap */
 #define ETHTOOL_SPFLAGS		0x00000028 /* Set driver-private flags bitmap */
+#define ETHTOOL_GBATCH		0x00000029 /* Get Batching (ethtool_value) */
+#define ETHTOOL_SBATCH		0x00000030 /* Set Batching (ethtool_value) */
 
 /* compatibility with older code */
 #define SPARC_ETH_GSET		ETHTOOL_GSET
diff -ruNp org/include/linux/netdevice.h new/include/linux/netdevice.h
--- org/include/linux/netdevice.h	2007-08-20 14:26:36.000000000 +0530
+++ new/include/linux/netdevice.h	2007-08-22 08:42:10.000000000 +0530
@@ -1152,6 +1152,8 @@ extern void		dev_set_promiscuity(struct 
 extern void		dev_set_allmulti(struct net_device *dev, int inc);
 extern void		netdev_state_change(struct net_device *dev);
 extern void		netdev_features_change(struct net_device *dev);
+extern int		dev_change_tx_batch_skb(struct net_device *dev,
+						unsigned long new_batch_skb);
 /* Load a device via the kmod */
 extern void		dev_load(const char *name);
 extern void		dev_mcast_init(void);
diff -ruNp org/net/core/dev.c new/net/core/dev.c
--- org/net/core/dev.c  2007-08-20 14:26:37.000000000 +0530
+++ new/net/core/dev.c  2007-08-22 10:49:22.000000000 +0530
@@ -908,6 +908,42 @@ static void free_batching(struct net_dev
 	}
 }
 
+int dev_change_tx_batch_skb(struct net_device *dev, unsigned long new_batch_skb)
+{
+	int ret = 0;
+	struct sk_buff_head *blist;
+
+	if (!(dev->features & NETIF_F_BATCH_SKBS)) {
+		/* Driver doesn't support batching skb API */
+		ret = -ENOTSUPP;
+		goto out;
+	}
+
+	/*
+	 * Check if new value is same as the current (paranoia to use !! for
+	 * new_batch_skb as that should always be boolean).
+	 */
+	if (!!dev->skb_blist == !!new_batch_skb)
+		goto out;
+
+	if (new_batch_skb &&
+	    (blist = kmalloc(sizeof *blist, GFP_KERNEL)) == NULL) {
+		ret = -ENOMEM;
+		goto out;
+	}
+
+	spin_lock_bh(&dev->queue_lock);
+	if (new_batch_skb) {
+		skb_queue_head_init(blist);
+		dev->skb_blist = blist;
+	} else
+		free_batching(dev);
+	spin_unlock_bh(&dev->queue_lock);
+
+out:
+	return ret;
+}
+
 /**
  *	dev_load 	- load a network module
  *	@name: name of interface
diff -ruNp org/net/core/ethtool.c new/net/core/ethtool.c
--- org/net/core/ethtool.c	2007-08-20 14:26:37.000000000 +0530
+++ new/net/core/ethtool.c	2007-08-22 08:36:07.000000000 +0530
@@ -556,6 +556,26 @@ static int ethtool_set_gso(struct net_de
 	return 0;
 }
 
+static int ethtool_get_batch(struct net_device *dev, char __user *useraddr)
+{
+	struct ethtool_value edata = { ETHTOOL_GBATCH };
+
+	edata.data = dev->skb_blist != NULL;
+	if (copy_to_user(useraddr, &edata, sizeof(edata)))
+		 return -EFAULT;
+	return 0;
+}
+
+static int ethtool_set_batch(struct net_device *dev, char __user *useraddr)
+{
+	struct ethtool_value edata;
+
+	if (copy_from_user(&edata, useraddr, sizeof(edata)))
+		return -EFAULT;
+
+	return dev_change_tx_batch_skb(dev, edata.data);
+}
+
 static int ethtool_self_test(struct net_device *dev, char __user *useraddr)
 {
 	struct ethtool_test test;
@@ -813,6 +833,7 @@ int dev_ethtool(struct ifreq *ifr)
 	case ETHTOOL_GGSO:
 	case ETHTOOL_GFLAGS:
 	case ETHTOOL_GPFLAGS:
+	case ETHTOOL_GBATCH:
 		break;
 	default:
 		if (!capable(CAP_NET_ADMIN))
@@ -956,6 +977,12 @@ int dev_ethtool(struct ifreq *ifr)
 		rc = ethtool_set_value(dev, useraddr,
 				       dev->ethtool_ops->set_priv_flags);
 		break;
+	case ETHTOOL_GBATCH:
+		rc = ethtool_get_batch(dev, useraddr);
+		break;
+	case ETHTOOL_SBATCH:
+		rc = ethtool_set_batch(dev, useraddr);
+		break;
 	default:
 		rc = -EOPNOTSUPP;
 	}

^ permalink raw reply

* [PATCH 3/10 Rev4] [sched] Modify qdisc_run to support batching
From: Krishna Kumar @ 2007-08-22  8:29 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, peter.p.waskiewicz.jr, xma, gaagaan,
	kumarkr, rdreier, rick.jones2, mcarlson, jeff, mchan, general,
	netdev, tgraf, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

Modify qdisc_run() to support batching. Modify callers of qdisc_run to
use batching, modify qdisc_restart to implement batching.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 include/linux/netdevice.h |    2 +
 include/net/pkt_sched.h   |    6 +--
 net/core/dev.c            |   44 +++++++++++++++++++++++++++-
 net/sched/sch_generic.c   |   70 ++++++++++++++++++++++++++++++++++++++--------
 4 files changed, 105 insertions(+), 17 deletions(-)

diff -ruNp org/include/net/pkt_sched.h new/include/net/pkt_sched.h
--- org/include/net/pkt_sched.h	2007-08-20 14:26:36.000000000 +0530
+++ new/include/net/pkt_sched.h	2007-08-22 09:23:57.000000000 +0530
@@ -80,13 +80,13 @@ extern struct qdisc_rate_table *qdisc_ge
 		struct rtattr *tab);
 extern void qdisc_put_rtab(struct qdisc_rate_table *tab);
 
-extern void __qdisc_run(struct net_device *dev);
+extern void __qdisc_run(struct net_device *dev, struct sk_buff_head *blist);
 
-static inline void qdisc_run(struct net_device *dev)
+static inline void qdisc_run(struct net_device *dev, struct sk_buff_head *blist)
 {
 	if (!netif_queue_stopped(dev) &&
 	    !test_and_set_bit(__LINK_STATE_QDISC_RUNNING, &dev->state))
-		__qdisc_run(dev);
+		__qdisc_run(dev, blist);
 }
 
 extern int tc_classify_compat(struct sk_buff *skb, struct tcf_proto *tp,
diff -ruNp org/include/linux/netdevice.h new/include/linux/netdevice.h
--- org/include/linux/netdevice.h	2007-08-20 14:26:36.000000000 +0530
+++ new/include/linux/netdevice.h	2007-08-22 08:42:10.000000000 +0530
@@ -892,6 +896,8 @@ extern int		dev_set_mac_address(struct n
 					    struct sockaddr *);
 extern int		dev_hard_start_xmit(struct sk_buff *skb,
 					    struct net_device *dev);
+extern int		dev_add_skb_to_blist(struct sk_buff *skb,
+					     struct net_device *dev);
 
 extern void		dev_init(void);
 
diff -ruNp org/net/sched/sch_generic.c new/net/sched/sch_generic.c
--- org/net/sched/sch_generic.c	2007-08-20 14:26:37.000000000 +0530
+++ new/net/sched/sch_generic.c	2007-08-22 08:49:55.000000000 +0530
@@ -59,10 +59,12 @@ static inline int qdisc_qlen(struct Qdis
 static inline int dev_requeue_skb(struct sk_buff *skb, struct net_device *dev,
 				  struct Qdisc *q)
 {
-	if (unlikely(skb->next))
-		dev->gso_skb = skb;
-	else
-		q->ops->requeue(skb, q);
+	if (likely(skb)) {
+		if (unlikely(skb->next))
+			dev->gso_skb = skb;
+		else
+			q->ops->requeue(skb, q);
+	}
 
 	netif_schedule(dev);
 	return 0;
@@ -91,10 +93,15 @@ static inline int handle_dev_cpu_collisi
 		/*
 		 * Same CPU holding the lock. It may be a transient
 		 * configuration error, when hard_start_xmit() recurses. We
-		 * detect it by checking xmit owner and drop the packet when
-		 * deadloop is detected. Return OK to try the next skb.
+		 * detect it by checking xmit owner and drop the packet (or
+		 * all packets in batching case) when deadloop is detected.
+		 * Return OK to try the next skb.
 		 */
-		kfree_skb(skb);
+		if (likely(skb))
+			kfree_skb(skb);
+		else if (!skb_queue_empty(dev->skb_blist))
+			skb_queue_purge(dev->skb_blist);
+
 		if (net_ratelimit())
 			printk(KERN_WARNING "Dead loop on netdevice %s, "
 			       "fix it urgently!\n", dev->name);
@@ -112,6 +119,38 @@ static inline int handle_dev_cpu_collisi
 }
 
 /*
+ * Algorithm to get skb(s) is:
+ *	- Non batching drivers, or if the batch list is empty and there is
+ *	  1 skb in the queue - dequeue skb and put it in *skbp to tell the
+ *	  caller to use the single xmit API.
+ *	- Batching drivers where the batch list already contains atleast one
+ *	  skb, or if there are multiple skbs in the queue: keep dequeue'ing
+ *	  skb's upto a limit and set *skbp to NULL to tell the caller to use
+ *	  the multiple xmit API.
+ *
+ * Returns:
+ *	1 - atleast one skb is to be sent out, *skbp contains skb or NULL
+ *	    (in case >1 skbs present in blist for batching)
+ *	0 - no skbs to be sent.
+ */
+static inline int get_skb(struct net_device *dev, struct Qdisc *q,
+			  struct sk_buff_head *blist, struct sk_buff **skbp)
+{
+	if (likely(!blist || (!skb_queue_len(blist) && qdisc_qlen(q) <= 1))) {
+		return likely((*skbp = dev_dequeue_skb(dev, q)) != NULL);
+	} else {
+		struct sk_buff *skb;
+		int max = dev->tx_queue_len - skb_queue_len(blist);
+
+		while (max > 0 && (skb = dev_dequeue_skb(dev, q)) != NULL)
+			max -= dev_add_skb_to_blist(skb, dev);
+
+		*skbp = NULL;
+		return 1;	/* there is atleast one skb in skb_blist */
+	}
+}
+
+/*
  * NOTE: Called under dev->queue_lock with locally disabled BH.
  *
  * __LINK_STATE_QDISC_RUNNING guarantees only one CPU can process this
@@ -130,7 +169,8 @@ static inline int handle_dev_cpu_collisi
  *				>0 - queue is not empty.
  *
  */
-static inline int qdisc_restart(struct net_device *dev)
+static inline int qdisc_restart(struct net_device *dev,
+				struct sk_buff_head *blist)
 {
 	struct Qdisc *q = dev->qdisc;
 	struct sk_buff *skb;
@@ -138,7 +178,7 @@ static inline int qdisc_restart(struct n
 	int ret;
 
 	/* Dequeue packet */
-	if (unlikely((skb = dev_dequeue_skb(dev, q)) == NULL))
+	if (unlikely(!get_skb(dev, q, blist, &skb)))
 		return 0;
 
 	/*
@@ -168,7 +208,7 @@ static inline int qdisc_restart(struct n
 
 	switch (ret) {
 	case NETDEV_TX_OK:
-		/* Driver sent out skb successfully */
+		/* Driver sent out skb (or entire skb_blist) successfully */
 		ret = qdisc_qlen(q);
 		break;
 
@@ -190,10 +230,10 @@ static inline int qdisc_restart(struct n
 	return ret;
 }
 
-void __qdisc_run(struct net_device *dev)
+void __qdisc_run(struct net_device *dev, struct sk_buff_head *blist)
 {
 	do {
-		if (!qdisc_restart(dev))
+		if (!qdisc_restart(dev, blist))
 			break;
 	} while (!netif_queue_stopped(dev));
 
@@ -563,6 +603,12 @@ void dev_deactivate(struct net_device *d
 	qdisc = dev->qdisc;
 	dev->qdisc = &noop_qdisc;
 
+	if (dev->skb_blist) {
+		/* Release skbs on batch list */
+		if (!skb_queue_empty(dev->skb_blist))
+			skb_queue_purge(dev->skb_blist);
+	}
+
 	qdisc_reset(qdisc);
 
 	skb = dev->gso_skb;
diff -ruNp org/net/core/dev.c new/net/core/dev.c
--- org/net/core/dev.c	2007-08-20 14:26:37.000000000 +0530
+++ new/net/core/dev.c	2007-08-22 10:49:22.000000000 +0530
@@ -1466,6 +1466,45 @@ static int dev_gso_segment(struct sk_buf
 	return 0;
 }
 
+/*
+ * Add skb (skbs in case segmentation is required) to dev->skb_blist. No one
+ * can add to this list simultaneously since we are holding QDISC RUNNING
+ * bit. Also list is safe from simultaneous deletes too since skbs are
+ * dequeued only when the driver is invoked.
+ *
+ * Returns count of successful skb(s) added to skb_blist.
+ */
+int dev_add_skb_to_blist(struct sk_buff *skb, struct net_device *dev)
+{
+	if (!list_empty(&ptype_all))
+		dev_queue_xmit_nit(skb, dev);
+
+	if (netif_needs_gso(dev, skb)) {
+		if (unlikely(dev_gso_segment(skb))) {
+			kfree(skb);
+			return 0;
+		}
+
+		if (skb->next) {
+			int count = 0;
+
+			do {
+				struct sk_buff *nskb = skb->next;
+
+				skb->next = nskb->next;
+				__skb_queue_tail(dev->skb_blist, nskb);
+				count++;
+			} while (skb->next);
+
+			skb->destructor = DEV_GSO_CB(skb)->destructor;
+			kfree_skb(skb);
+			return count;
+		}
+	}
+	__skb_queue_tail(dev->skb_blist, skb);
+	return 1;
+}
+
 int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
 	if (likely(skb)) {
@@ -1620,7 +1659,7 @@ gso:
 			/* reset queue_mapping to zero */
 			skb->queue_mapping = 0;
 			rc = q->enqueue(skb, q);
-			qdisc_run(dev);
+			qdisc_run(dev, NULL);
 			spin_unlock(&dev->queue_lock);
 
 			rc = rc == NET_XMIT_BYPASS ? NET_XMIT_SUCCESS : rc;
@@ -1818,7 +1857,8 @@ static void net_tx_action(struct softirq
 			clear_bit(__LINK_STATE_SCHED, &dev->state);
 
 			if (spin_trylock(&dev->queue_lock)) {
-				qdisc_run(dev);
+				/* Send all skbs if driver supports batching */
+				qdisc_run(dev, dev->skb_blist);
 				spin_unlock(&dev->queue_lock);
 			} else {
 				netif_schedule(dev);

^ permalink raw reply

* [PATCH 2/10 Rev4] [core] Add skb_blist & support for batching
From: Krishna Kumar @ 2007-08-22  8:29 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, kumarkr,
	rdreier, peter.p.waskiewicz.jr, mcarlson, jeff, Krishna Kumar,
	general, netdev, tgraf, mchan, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

Introduce skb_blist, NETIF_F_BATCH_SKBS, use single API for
batching/no-batching, etc.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 include/linux/netdevice.h |    4 ++++
 net/core/dev.c            |   21 ++++++++++++++++++---
 2 files changed, 22 insertions(+), 3 deletions(-)

diff -ruNp org/include/linux/netdevice.h new/include/linux/netdevice.h
--- org/include/linux/netdevice.h	2007-08-20 14:26:36.000000000 +0530
+++ new/include/linux/netdevice.h	2007-08-22 08:42:10.000000000 +0530
@@ -399,6 +399,7 @@ struct net_device
 #define NETIF_F_VLAN_CHALLENGED	1024	/* Device cannot handle VLAN packets */
 #define NETIF_F_GSO		2048	/* Enable software GSO. */
 #define NETIF_F_LLTX		4096	/* LockLess TX */
+#define NETIF_F_BATCH_SKBS	8192	/* Driver supports multiple skbs/xmit */
 #define NETIF_F_MULTI_QUEUE	16384	/* Has multiple TX/RX queues */
 #define NETIF_F_LRO		32768	/* large receive offload */
 
@@ -510,6 +511,9 @@ struct net_device
 	/* Partially transmitted GSO packet. */
 	struct sk_buff		*gso_skb;
 
+	/* List of batch skbs (optional, used if driver supports skb batching */
+	struct sk_buff_head	*skb_blist;
+
 	/* ingress path synchronizer */
 	spinlock_t		ingress_lock;
 	struct Qdisc		*qdisc_ingress;
diff -ruNp org/net/core/dev.c new/net/core/dev.c
--- org/net/core/dev.c	2007-08-20 14:26:37.000000000 +0530
+++ new/net/core/dev.c	2007-08-22 10:49:22.000000000 +0530
@@ -898,6 +898,16 @@ void netdev_state_change(struct net_devi
 	}
 }
 
+static void free_batching(struct net_device *dev)
+{
+	if (dev->skb_blist) {
+		if (!skb_queue_empty(dev->skb_blist))
+			skb_queue_purge(dev->skb_blist);
+		kfree(dev->skb_blist);
+		dev->skb_blist = NULL;
+	}
+}
+
 /**
  *	dev_load 	- load a network module
  *	@name: name of interface
@@ -1458,7 +1468,9 @@ static int dev_gso_segment(struct sk_buf
 
 int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
 {
-	if (likely(!skb->next)) {
+	if (likely(skb)) {
+		if (unlikely(skb->next))
+			goto gso;
 		if (!list_empty(&ptype_all))
 			dev_queue_xmit_nit(skb, dev);
 
@@ -1468,10 +1480,10 @@ int dev_hard_start_xmit(struct sk_buff *
 			if (skb->next)
 				goto gso;
 		}
-
-		return dev->hard_start_xmit(skb, dev);
 	}
 
+	return dev->hard_start_xmit(skb, dev);
+
 gso:
 	do {
 		struct sk_buff *nskb = skb->next;
@@ -3791,6 +3803,9 @@ void unregister_netdevice(struct net_dev
 
 	synchronize_net();
 
+	/* Deallocate batching structure */
+	free_batching(dev);
+
 	/* Shutdown queueing discipline. */
 	dev_shutdown(dev);
 

^ permalink raw reply

* [PATCH 1/10 Rev4] [Doc] HOWTO Documentation for batching
From: Krishna Kumar @ 2007-08-22  8:28 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, peter.p.waskiewicz.jr, kumarkr, xma,
	gaagaan, netdev, rdreier, rick.jones2, mcarlson, jeff, general,
	mchan, tgraf, Krishna Kumar, sri
In-Reply-To: <20070822082839.11964.63503.sendpatchset@localhost.localdomain>

Add Documentation describing batching skb xmit capability.

Signed-off-by: Krishna Kumar <krkumar2@in.ibm.com>
---
 batching_skb_xmit.txt |   78 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+)

diff -ruNp org/Documentation/networking/batching_skb_xmit.txt new/Documentation/networking/batching_skb_xmit.txt
--- org/Documentation/networking/batching_skb_xmit.txt	1970-01-01 05:30:00.000000000 +0530
+++ new/Documentation/networking/batching_skb_xmit.txt	2007-08-22 10:21:19.000000000 +0530
@@ -0,0 +1,78 @@
+		 HOWTO for batching skb xmit support
+		 -----------------------------------
+
+Section 1: What is batching skb xmit
+Section 2: How batching xmit works vs the regular xmit
+Section 3: How drivers can support batching
+Section 4: How users can work with batching
+
+
+Introduction: Kernel support for batching skb
+----------------------------------------------
+
+A new capability to support xmit of multiple skbs is provided in the netdevice
+layer. Drivers which enable this capability should be able to process multiple
+skbs in a single call to their xmit handler.
+
+
+Section 1: What is batching skb xmit
+-------------------------------------
+
+	This capability is optionally enabled by a driver by setting the
+	NETIF_F_BATCH_SKBS bit in dev->features. The pre-requisite for a
+	driver to use this capability is that it should have a reasonably
+	sized hardware queue that can process multiple skbs.
+
+
+Section 2: How batching xmit works vs the regular xmit
+-------------------------------------------------------
+
+	The network stack gets called from upper layer protocols with a single
+	skb to transmit. This skb is first enqueue'd and an attempt is made to
+	transmit it immediately (via qdisc_run). However, events like tx lock
+	contention, tx queue stopped, etc, can result in the skb not getting
+	sent out and it remains in the queue. When the next xmit is called or
+	when the queue is re-enabled, qdisc_run could potentially find
+	multiple packets in the queue, and iteratively send them all out
+	one-by-one.
+
+	Batching skb xmit is a mechanism to exploit this situation where all
+	skbs can be passed in one shot to the device. This reduces driver
+	processing, locking at the driver (or in stack for ~LLTX drivers)
+	gets amortized over multiple skbs, and in case of specific drivers
+	where every xmit results in a completion processing (like IPoIB) -
+	optimizations can be made in the driver to request a completion for
+	only the last skb that was sent which results in saving interrupts
+	for every (but the last) skb that was sent in the same batch.
+
+	Batching can result in significant performance gains for systems that
+	have multiple data stream paths over the same network interface card.
+
+
+Section 3: How drivers can support batching
+---------------------------------------------
+
+	Batching requires the driver to set the NETIF_F_BATCH_SKBS bit in
+	dev->features.
+
+	The driver's xmit handler should be modified to process multiple skbs
+	instead of one skb. The driver's xmit handler is called either with a
+	skb to transmit or NULL skb, where the latter case should be handled
+	as a call to xmit multiple skbs. This is done by sending out all skbs
+	in the dev->skb_blist list (where it was added by the core stack).
+
+
+Section 4: How users can work with batching
+---------------------------------------------
+
+	Batching can be disabled for a particular device, e.g. on desktop
+	systems if only one stream of network activity for that device is
+	taking place, since performance could be slightly affected due to
+	extra processing that batching adds (unless packets are getting
+	sent fast resulting in stopped queue's). Batching can be enabled if
+	more than one stream of network activity per device is being done,
+	e.g. on servers; or even desktop usage with multiple browser, chat,
+	file transfer sessions, etc.
+
+	Per device batching can be enabled/disabled by passing 'on' or 'off'
+	respectively to ethtool.

^ permalink raw reply

* [PATCH 0/10 Rev4] Implement skb batching and support in IPoIB
From: Krishna Kumar @ 2007-08-22  8:28 UTC (permalink / raw)
  To: johnpol, herbert, hadi, kaber, shemminger, davem
  Cc: jagana, Robert.Olsson, rick.jones2, xma, gaagaan, netdev, rdreier,
	peter.p.waskiewicz.jr, mcarlson, jeff, mchan, general, kumarkr,
	tgraf, Krishna Kumar, sri

This set of patches implements the batching xmit capability (changed from
API), and adds support for batching in IPoIB. Also included is a sample patch
for E1000 (ported - thanks to Jamal's E1000 changes from earlier kernel). I
will use this patch for testing E1000 TSO vs batching after the weekend.

List of changes from previous revision:
----------------------------------------
1. [Dave/Patrick] Remove new xmit API altogether (and add a capabilities
	flag in dev->features). Modify documentation to remove API, etc.
2. [Evgeniy] Remove bogus checks for <0, and use spin_lock_bh.
3. [Jamal] Ported Jamal's E1000 driver changes for using batching xmit.
5. [KK] Fix out-of-order sending of skbs bug resulting in re-transmissions
	by a fix in IPoIB [see XXX].
6. [KK] Do not force device to use batching as default, instead let user
	enable batching if required. This is useful in case users are not
	aware that batching is taking place.
4. [KK] IPoIB: Remove multiple xmit handlers and convert to use one.
7. [KK] IPoIB: Removed overkill - poll handler can be called on one CPU, so
	there is no need to take a new lock against parallel WC's.

Extras that I can do later:
---------------------------
1. [Patrick] Use skb_blist statically in netdevice. This could also be used
	to integrate GSO and batching.
2. [Evgeniy] Useful to splice lists dev_add_skb_to_blist (and this can be
	done for regular xmit's of GSO skbs too for #1 above).

Patches are described as:
		 Mail 0/10:  This mail
		 Mail 1/10:  HOWTO documentation
		 Mail 2/10:  Introduce skb_blist, NETIF_F_BATCH_SKBS, use
		 	     single API for batching/no-batching, etc.
		 Mail 3/10:  Modify qdisc_run() to support batching
		 Mail 4/10:  Add ethtool support to enable/disable batching
		 Mail 5/10:  IPoIB: Header file changes to use batching
		 Mail 6/10:  IPoIB: CM & Multicast changes
		 Mail 7/10:  IPoIB: Verbs changes to use batching
		 Mail 8/10:  IPoIB: Internal post and work completion handler
		 Mail 9/10:  IPoIB: Implement the new batching capability
		 Mail 10/10: E1000: Implement the new batching capability

Issues:
--------
I am getting a huge amount of retransmissions for both TCP and TCP No Delay
cases for IPoIB (which explains the slight degradation for some test cases
mentioned in previous mail). After a full test run, there were 18500
retransmissions for every 1 in regular code. But there is 20.7% overall
improvement in BW even with this huge amount of retransmissions (which implies
batching could improve results even more if this problem is fixed). Results of
experiments are:
	a. With batching set to maximum 2 skbs, I get almost the same number
	   of retransmissions (implies receiver probably is not dropping skbs).
	   ifconfig/netstat on receiver gives no clue (drop/errors, etc).
	b. Making the IPoIB xmit create single work requests for each skb on
	   blist reduces retrans to same as in regular code.
	c. Similar retransmission increase is not seen for E1000.

Please review and provide feedback; and consider for inclusion.

Thanks,

- KK

[XXX] Dave had suggested to use batching only in the net_tx_action case.
When I implemented that in earlier revisions, there were lots of TCP
retransmissions (about 18,000 to every 1 in regular code). I found the reason
for part of that problem as: skbs get queue'd up in dev->qdisc (when tx lock
was not got or queue blocked); when net_tx_action is called later, it passes
the batch list as argument to qdisc_run and this results in skbs being moved
to the batch list; then batching xmit also fails due to tx lock failure; the
next many regular xmit of a single skb will go through the fast path (pass
NULL batch list to qdisc_run) and send those skbs out to the device while
previous skbs are cooling their heels in the batch list.

The first fix was to not pass NULL/batch-list to qdisc_run() but to always
check whether skbs are present in batch list when trying to xmit. This reduced
retransmissions by a third (from 18,000 to around 12,000), but led to another
problem while testing - iperf transmit almost zero data for higher # of
parallel flows like 64 or more (and when I run iperf for a 2 min run, it
takes about 5-6 mins, and reports that it ran 0 secs and the amount of data
transfered is a few MB's). I don't know why this happens with this being the
only change (any ideas is very appreciated).

The second fix that resolved this was to revert back to Dave's suggestion to
use batching only in net_tx_action case, and modify the driver to see if skbs
are present in batch list and to send them out first before sending the
current skb. I still see huge retransmission for IPoIB (but not for E1000),
though it has reduced to 12,000 from the earlier 18,000 number.

^ permalink raw reply

* [PATCH 2.6.24 3/3]S2io: Updating transceiver information in ethtool function
From: Sreenivasa Honnur @ 2007-08-22  7:47 UTC (permalink / raw)
  To: netdev; +Cc: jeff, support

- Update transceiver information in ethtool function
 
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
---
diff -urpN patch2/drivers/net/s2io.c patch3/drivers/net/s2io.c
--- patch2/drivers/net/s2io.c	2007-08-18 07:19:21.000000000 +0530
+++ patch3/drivers/net/s2io.c	2007-08-18 07:20:27.000000000 +0530
@@ -84,7 +84,7 @@
 #include "s2io.h"
 #include "s2io-regs.h"
 
-#define DRV_VERSION "2.0.26.4"
+#define DRV_VERSION "2.0.26.5"
 
 /* S2io Driver name & version. */
 static char s2io_driver_name[] = "Neterion";
@@ -5459,7 +5459,9 @@ static int s2io_ethtool_gset(struct net_
 	info->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
 	info->advertising = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE);
 	info->port = PORT_FIBRE;
-	/* info->transceiver?? TODO */
+
+	/* info->transceiver */
+	info->transceiver = XCVR_EXTERNAL;
 
 	if (netif_carrier_ok(sp->dev)) {
 		info->speed = 10000;


^ permalink raw reply

* [PATCH 2.6.24 1/3]S2io: Added support for set_mac_address driver entry point
From: Sreenivasa Honnur @ 2007-08-22  7:45 UTC (permalink / raw)
  To: netdev; +Cc: jeff, support

- Added set_mac_address driver entry point
- Copying permanent mac address to dev->perm_addr
 
Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
---
diff -urpN orig/drivers/net/s2io.c patch1/drivers/net/s2io.c
--- orig/drivers/net/s2io.c	2007-08-17 02:38:17.000000000 +0530
+++ patch1/drivers/net/s2io.c	2007-08-18 05:32:23.000000000 +0530
@@ -350,6 +350,15 @@ static char ethtool_driver_stats_keys[][
 			timer.data = (unsigned long) arg;	\
 			mod_timer(&timer, (jiffies + exp))	\
 
+#define	MAC_ADDR_SET(offset,mac_addr) 				\
+	memset(sp->def_mac_addr[offset].mac_addr, 0, sizeof(ETH_ALEN));\
+	sp->def_mac_addr[offset].mac_addr[5] = (u8) (mac_addr);	\
+	sp->def_mac_addr[offset].mac_addr[4] = (u8) (mac_addr >> 8);\
+	sp->def_mac_addr[offset].mac_addr[3] = (u8) (mac_addr >> 16);\
+	sp->def_mac_addr[offset].mac_addr[2] = (u8) (mac_addr >> 24);\
+	sp->def_mac_addr[offset].mac_addr[1] = (u8) (mac_addr >> 32);\
+	sp->def_mac_addr[offset].mac_addr[0] = (u8) (mac_addr >> 40);\
+
 /* Add the vlan */
 static void s2io_vlan_rx_register(struct net_device *dev,
 					struct vlan_group *grp)
@@ -3639,7 +3648,7 @@ static void s2io_reset(struct s2io_nic *
 	}
 
 	/* restore the previously assigned mac address */
-	s2io_set_mac_addr(sp->dev, (u8 *)&sp->def_mac_addr[0].mac_addr);
+	set_mac_addr(sp->dev, (u8 *)&sp->def_mac_addr[0].mac_addr);
 
 	sp->device_enabled_once = FALSE;
 }
@@ -4067,7 +4076,7 @@ static int s2io_open(struct net_device *
 		goto hw_init_failed;
 	}
 
-	if (s2io_set_mac_addr(dev, dev->dev_addr) == FAILURE) {
+	if (set_mac_addr(dev, dev->dev_addr) == FAILURE) {
 		DBG_PRINT(ERR_DBG, "Set Mac Address Failed\n");
 		s2io_card_down(sp);
 		err = -ENODEV;
@@ -5025,6 +5034,7 @@ static void s2io_set_multicast(struct ne
 	    0xfeffffffffffULL;
 	u64 dis_addr = 0xffffffffffffULL, mac_addr = 0;
 	void __iomem *add;
+	struct config_param *config = &sp->config;
 
 	if ((dev->flags & IFF_ALLMULTI) && (!sp->m_cast_flg)) {
 		/*  Enable all Multicast addresses */
@@ -5179,8 +5189,48 @@ static void s2io_set_multicast(struct ne
 	}
 }
 
+/* add MAC address to CAM */
+static int add_mac_addr(struct s2io_nic *sp, u64 addr, int off)
+{
+	u64 val64;
+	struct XENA_dev_config __iomem *bar0 = sp->bar0;
+
+	writeq(RMAC_ADDR_DATA0_MEM_ADDR(addr),
+		&bar0->rmac_addr_data0_mem);
+
+	val64 =
+		RMAC_ADDR_CMD_MEM_WE | RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
+		RMAC_ADDR_CMD_MEM_OFFSET(off);
+	writeq(val64, &bar0->rmac_addr_cmd_mem);
+
+	/* Wait till command completes */
+	if (wait_for_cmd_complete(&bar0->rmac_addr_cmd_mem,
+		RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING,
+		S2IO_BIT_RESET)) {
+		DBG_PRINT(INFO_DBG, "add_mac_addr failed\n");
+		return FAILURE;
+	}
+	return SUCCESS;
+}
+
+/**
+ * s2io_set_mac_addr driver entry point
+ */
+static int s2io_set_mac_addr(struct net_device *dev, void* p)
+{
+	struct sockaddr *addr=p;
+
+	if (!is_valid_ether_addr(addr->sa_data))
+		return -EINVAL;
+
+	memcpy(dev->dev_addr, addr->sa_data,dev->addr_len);
+
+	/* store the MAC address in CAM */
+	return (set_mac_addr(dev, dev->dev_addr));
+}
+
 /**
- *  s2io_set_mac_addr - Programs the Xframe mac address
+ *  set_mac_addr - Programs the Xframe mac address
  *  @dev : pointer to the device structure.
  *  @addr: a uchar pointer to the new mac address which is to be set.
  *  Description : This procedure will program the Xframe to receive
@@ -5188,56 +5238,31 @@ static void s2io_set_multicast(struct ne
  *  Return value: SUCCESS on success and an appropriate (-)ve integer
  *  as defined in errno.h file on failure.
  */
-
-static int s2io_set_mac_addr(struct net_device *dev, u8 * addr)
+static int set_mac_addr(struct net_device *dev, u8 * addr)
 {
 	struct s2io_nic *sp = dev->priv;
-	struct XENA_dev_config __iomem *bar0 = sp->bar0;
-	register u64 val64, mac_addr = 0;
+	register u64 mac_addr = 0,perm_addr=0;
 	int i;
-	u64 old_mac_addr = 0;
 
 	/*
-	 * Set the new MAC address as the new unicast filter and reflect this
-	 * change on the device address registered with the OS. It will be
-	 * at offset 0.
-	 */
+	* Set the new MAC address as the new unicast filter and reflect this
+	* change on the device address registered with the OS. It will be
+	* at offset 0.
+	*/
 	for (i = 0; i < ETH_ALEN; i++) {
 		mac_addr <<= 8;
 		mac_addr |= addr[i];
-		old_mac_addr <<= 8;
-		old_mac_addr |= sp->def_mac_addr[0].mac_addr[i];
+		perm_addr <<= 8;
+		perm_addr |= sp->def_mac_addr[0].mac_addr[i];
 	}
 
-	if(0 == mac_addr)
+	/* check if the dev_addr is different than perm_addr */
+	if(mac_addr == perm_addr)
 		return SUCCESS;
 
 	/* Update the internal structure with this new mac address */
-	if(mac_addr != old_mac_addr) {
-		memset(sp->def_mac_addr[0].mac_addr, 0, sizeof(ETH_ALEN));
-		sp->def_mac_addr[0].mac_addr[5] = (u8) (mac_addr);
-		sp->def_mac_addr[0].mac_addr[4] = (u8) (mac_addr >> 8);
-		sp->def_mac_addr[0].mac_addr[3] = (u8) (mac_addr >> 16);
-		sp->def_mac_addr[0].mac_addr[2] = (u8) (mac_addr >> 24);
-		sp->def_mac_addr[0].mac_addr[1] = (u8) (mac_addr >> 32);
-		sp->def_mac_addr[0].mac_addr[0] = (u8) (mac_addr >> 40);
-	}
-
-	writeq(RMAC_ADDR_DATA0_MEM_ADDR(mac_addr),
-	       &bar0->rmac_addr_data0_mem);
-
-	val64 =
-	    RMAC_ADDR_CMD_MEM_WE | RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
-	    RMAC_ADDR_CMD_MEM_OFFSET(0);
-	writeq(val64, &bar0->rmac_addr_cmd_mem);
-	/* Wait till command completes */
-	if (wait_for_cmd_complete(&bar0->rmac_addr_cmd_mem,
-		      RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING, S2IO_BIT_RESET)) {
-		DBG_PRINT(ERR_DBG, "%s: set_mac_addr failed\n", dev->name);
-		return FAILURE;
-	}
-
-	return SUCCESS;
+	MAC_ADDR_SET(0, mac_addr);
+	return (add_mac_addr(sp,mac_addr,0));
 }
 
 /**
@@ -7897,6 +7922,7 @@ s2io_init_nic(struct pci_dev *pdev, cons
 	dev->get_stats = &s2io_get_stats;
 	dev->set_multicast_list = &s2io_set_multicast;
 	dev->do_ioctl = &s2io_ioctl;
+	dev->set_mac_address = &s2io_set_mac_addr;
 	dev->change_mtu = &s2io_change_mtu;
 	SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops);
 	dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX;
@@ -7983,6 +8009,7 @@ s2io_init_nic(struct pci_dev *pdev, cons
 	/*  Set the factory defined MAC address initially   */
 	dev->addr_len = ETH_ALEN;
 	memcpy(dev->dev_addr, sp->def_mac_addr, ETH_ALEN);
+	memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN);
 
 	 /* Store the values of the MSIX table in the s2io_nic structure */
 	store_xmsi_data(sp);
diff -urpN orig/drivers/net/s2io.h patch1/drivers/net/s2io.h
--- orig/drivers/net/s2io.h	2007-08-17 02:38:17.000000000 +0530
+++ patch1/drivers/net/s2io.h	2007-08-18 04:52:10.000000000 +0530
@@ -1044,7 +1044,7 @@ static void s2io_link(struct s2io_nic * 
 static void s2io_reset(struct s2io_nic * sp);
 static int s2io_poll(struct net_device *dev, int *budget);
 static void s2io_init_pci(struct s2io_nic * sp);
-static int s2io_set_mac_addr(struct net_device *dev, u8 * addr);
+static int set_mac_addr(struct net_device *dev, u8 * addr);
 static void s2io_alarm_handle(unsigned long data);
 static irqreturn_t
 s2io_msix_ring_handle(int irq, void *dev_id);


^ permalink raw reply

* Re: Oops in 2.6.22.1: skb_copy_and_csum_datagram_iovec()
From: Herbert Xu @ 2007-08-22  7:40 UTC (permalink / raw)
  To: Chuck Ebbert, neilb; +Cc: netdev
In-Reply-To: <46CB453B.5040005@redhat.com>

Chuck Ebbert <cebbert@redhat.com> wrote:
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=253290
> 
> 18:57:54 osama kernel:  [<c05be67f>] kernel_recvmsg+0x31/0x40
> 18:57:54 osama kernel:  [<e0bc52d4>] svc_udp_recvfrom+0x114/0x368 [sunrpc]

svc_udp_recvfrom is calling kernel_recvmsg with iov == NULL.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* Re: net-2.6.24 failure with netconsole
From: Herbert Xu @ 2007-08-22  7:20 UTC (permalink / raw)
  To: Andrew Morton; +Cc: davem, shemminger, netdev
In-Reply-To: <20070821225438.9493f44c.akpm@linux-foundation.org>

Andrew Morton <akpm@linux-foundation.org> wrote:
> 
> David, there's basically no reason ever why anyone should add BUG() or
> BUG_ON() to net code.  Please consider rejecting any patches which add new
> ones.  WARN_ON() is *much* better.  It at least gives the user a chance of
> getting some disgnostic info out, of performing additional tests or even of
> using their kernel if they want to test something else.  The only reason to
> choose BUG over WARN is if we're actually concerned about scrogging
> people's data, or serious things like that (ie: filesystems and mm).

Well, for networking if we continue after a serious coding
error it could result in a remote kernel compromise.  So
BUG_ON/BUG is not entirely useless.

I'm not claiming that it's necessarily the case here though :)

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

^ permalink raw reply

* Re: [PATCH 0/9 Rev3] Implement batching skb API and support in IPoIB
From: Krishna Kumar2 @ 2007-08-22  7:03 UTC (permalink / raw)
  To: David Miller
  Cc: gaagaan, general, hadi, herbert, jagana, jeff, johnpol, kaber,
	kumarkr, mcarlson, mchan, netdev, peter.p.waskiewicz.jr, rdreier,
	rick.jones2, Robert.Olsson, shemminger, sri, tgraf, xma
In-Reply-To: <20070821.212229.82050253.davem@davemloft.net>

Hi Dave,

David Miller <davem@davemloft.net> wrote on 08/22/2007 09:52:29 AM:

> From: Krishna Kumar2 <krkumar2@in.ibm.com>
> Date: Wed, 22 Aug 2007 09:41:52 +0530
>
<snip>
> > > Because TSO does batching already, so it's a very good
> > > "tit for tat" comparison of the new batching scheme
> > > vs. an existing one.
> >
> > I am planning to do more testing on your suggestion over the
> > weekend, but I had a comment. Are you saying that TSO and
> > batching should be mutually exclusive so hardware that doesn't
> > support TSO (like IB) only would benefit?
> >
> > But even if they can co-exist, aren't cases like sending
> > multiple small skbs better handled with batching?
>
> I'm not making any suggestions, so don't read that into anything I've
> said :-)
>
> I think the jury is still out, but seeing TSO perform even slightly
> worse with the batching changes in place would be very worrysome.
> This applies to both throughput and cpu utilization.

Does turning off batching solve that problem? What I mean by that is:
batching can be disabled if a TSO device is worse for some cases. Infact
something that I had changed my latest code is to not enable batching
in register_netdevice (in Rev4 which I am sending in a few mins), rather
the user has to explicitly turn 'on' batching.

Wondering if that is what you are concerned about. In any case, I will
test your case on Monday (I am on vacation for next couple of days).

Thanks,

- KK


^ permalink raw reply

* [PATCH 2.6.24 2/3]S2io: Support for add/delete/store/restore ethernet addresses
From: Sreenivasa Honnur @ 2007-08-22  6:10 UTC (permalink / raw)
  To: netdev; +Cc: jeff, support

- Support to add/delete/store/restore 64 and 128 Ethernet addresses for
Xframe I and Xframe II respectively.

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
---
diff -urpN patch1/drivers/net/s2io.c patch2/drivers/net/s2io.c
--- patch1/drivers/net/s2io.c	2007-08-18 05:32:23.000000000 +0530
+++ patch2/drivers/net/s2io.c	2007-08-18 07:19:21.000000000 +0530
@@ -3589,6 +3589,9 @@ static void s2io_reset(struct s2io_nic *
 	/* Set swapper to enable I/O register access */
 	s2io_set_swapper(sp);
 
+	/* restore mac_addr entries */
+	restore_mac_and_mc_addr(sp);
+
 	/* Restore the MSIX table entries from local variables */
 	restore_xmsi_data(sp);
 
@@ -3647,9 +3650,6 @@ static void s2io_reset(struct s2io_nic *
 		writeq(val64, &bar0->pcc_err_reg);
 	}
 
-	/* restore the previously assigned mac address */
-	set_mac_addr(sp->dev, (u8 *)&sp->def_mac_addr[0].mac_addr);
-
 	sp->device_enabled_once = FALSE;
 }
 
@@ -4118,8 +4118,19 @@ hw_init_failed:
 static int s2io_close(struct net_device *dev)
 {
 	struct s2io_nic *sp = dev->priv;
+	struct config_param *config = &sp->config;
+	u64 tmp64;
+	int off;
 
 	netif_stop_queue(dev);
+
+	/* delete all populated mac entries */
+	for(off =1; off < config->max_mc_addr; off++) {
+		tmp64 = read_mac_addr(sp,off);
+		if(tmp64 != 0xffffffffffffULL)
+			delete_mac_addr(sp, tmp64);
+	}
+
 	/* Reset card, kill tasklet and free Tx and Rx buffers. */
 	s2io_card_down(sp);
 
@@ -5044,7 +5055,7 @@ static void s2io_set_multicast(struct ne
 		       &bar0->rmac_addr_data1_mem);
 		val64 = RMAC_ADDR_CMD_MEM_WE |
 		    RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
-		    RMAC_ADDR_CMD_MEM_OFFSET(MAC_MC_ALL_MC_ADDR_OFFSET);
+		    RMAC_ADDR_CMD_MEM_OFFSET(config->max_mc_addr - 1);
 		writeq(val64, &bar0->rmac_addr_cmd_mem);
 		/* Wait till command completes */
 		wait_for_cmd_complete(&bar0->rmac_addr_cmd_mem,
@@ -5052,7 +5063,7 @@ static void s2io_set_multicast(struct ne
 					S2IO_BIT_RESET);
 
 		sp->m_cast_flg = 1;
-		sp->all_multi_pos = MAC_MC_ALL_MC_ADDR_OFFSET;
+		sp->all_multi_pos = config->max_mc_addr - 1;
 	} else if ((dev->flags & IFF_ALLMULTI) && (sp->m_cast_flg)) {
 		/*  Disable all Multicast addresses */
 		writeq(RMAC_ADDR_DATA0_MEM_ADDR(dis_addr),
@@ -5121,7 +5132,8 @@ static void s2io_set_multicast(struct ne
 	/*  Update individual M_CAST address list */
 	if ((!sp->m_cast_flg) && dev->mc_count) {
 		if (dev->mc_count >
-		    (MAX_ADDRS_SUPPORTED - MAC_MC_ADDR_START_OFFSET - 1)) {
+		    ((config->max_mc_addr - config->max_mac_addr)
+			- config->mc_start_offset - 1)) {
 			DBG_PRINT(ERR_DBG, "%s: No more Rx filters ",
 				  dev->name);
 			DBG_PRINT(ERR_DBG, "can be added, please enable ");
@@ -5141,7 +5153,7 @@ static void s2io_set_multicast(struct ne
 			val64 = RMAC_ADDR_CMD_MEM_WE |
 			    RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
 			    RMAC_ADDR_CMD_MEM_OFFSET
-			    (MAC_MC_ADDR_START_OFFSET + i);
+			    (config->mc_start_offset + i);
 			writeq(val64, &bar0->rmac_addr_cmd_mem);
 
 			/* Wait for command completes */
@@ -5173,7 +5185,7 @@ static void s2io_set_multicast(struct ne
 			val64 = RMAC_ADDR_CMD_MEM_WE |
 			    RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
 			    RMAC_ADDR_CMD_MEM_OFFSET
-			    (i + MAC_MC_ADDR_START_OFFSET);
+			    (i + config->mc_start_offset);
 			writeq(val64, &bar0->rmac_addr_cmd_mem);
 
 			/* Wait for command completes */
@@ -5188,6 +5200,75 @@ static void s2io_set_multicast(struct ne
 		}
 	}
 }
+/* read from CAM unicast & multicast addresses and store it in 
+ * def_mac_addr structure.
+ **/
+void store_mac_and_mc_addr(struct s2io_nic *sp)
+{
+	int offset;
+	u64 mac_addr=0x0;
+	struct config_param *config = &sp->config;
+
+	/* store unicast & multicast mac addresses */
+	for(offset = 0; offset < config->max_mc_addr; offset++) {
+		mac_addr = read_mac_addr(sp,offset);
+		/* if read fails disable the entry */
+		if(mac_addr == FAILURE)
+			mac_addr = 0xffffffffffffULL;
+		MAC_ADDR_SET(offset,mac_addr);
+	}
+}
+
+/* restore unicast MAC addresses to CAM from def_mac_addr structure
+ **/
+static void restore_mac_and_mc_addr(struct s2io_nic *sp)
+{
+	int offset;
+	struct config_param *config = &sp->config;
+	/* restore unicast mac address */
+	for(offset = 0; offset < config->max_mac_addr; offset++)
+		set_mac_addr(sp->dev,sp->def_mac_addr[offset].mac_addr);
+
+	/* restore multicast mac address */
+	for(offset = config->mc_start_offset;
+		offset < config->max_mc_addr; offset++)
+		add_mc_addr(sp, sp->def_mac_addr[offset].mac_addr);
+}
+
+/* add a multicast MAC address to CAM.
+ **/
+static int add_mc_addr(struct s2io_nic *sp, u8* addr)
+{
+	int i;
+	u64 mac_addr=0;
+	struct config_param *config = &sp->config;
+
+	for (i = 0; i < ETH_ALEN; i++) {
+		mac_addr <<= 8;
+		mac_addr |= addr[i];
+	}
+	if((0ULL == mac_addr) || (mac_addr == 0xffffffffffffULL))
+		return SUCCESS;
+
+	/* check if the multicast mac already preset in CAM */
+	for(i = config->mc_start_offset; i < config->max_mc_addr; i++) {
+		u64 tmp64;
+		tmp64 = read_mac_addr(sp,i);
+		if(tmp64 == 0xffffffffffffULL) /* CAM entry is empty */
+			break;
+
+		if(tmp64 == mac_addr)
+			return SUCCESS;
+	}
+	if(i == config->max_mc_addr) {
+		DBG_PRINT(ERR_DBG,"CAM full no space left for multicast MAC\n");
+	return FAILURE;
+	}
+	/* Update the internal structure with this new mac address */
+	MAC_ADDR_SET(i, mac_addr);
+
+	return (add_mac_addr(sp,mac_addr,i));
+}
 
 /* add MAC address to CAM */
 static int add_mac_addr(struct s2io_nic *sp, u64 addr, int off)
@@ -5213,6 +5294,53 @@ static int add_mac_addr(struct s2io_nic 
 	return SUCCESS;
 }
 
+/* deletes a specified unicast/multicast mac entry from CAM */
+static int delete_mac_addr(struct s2io_nic *sp,u64 addr)
+{
+	int off;
+	u64 dis_addr = 0xffffffffffffULL,tmp64;
+	struct config_param *config = &sp->config;
+
+	for(off = 1;
+		off < config->max_mc_addr; off++) {
+		tmp64 = read_mac_addr(sp,off);
+		if(tmp64 == addr) {
+			/* disable the entry by writing  0xffffffffffffULL */
+			if(add_mac_addr(sp,dis_addr,off) ==  FAILURE)
+				return FAILURE;
+			/* store the new mac list from CAM */
+			store_mac_and_mc_addr(sp);
+			return SUCCESS;
+		}
+	}
+	DBG_PRINT(ERR_DBG,"MAC address 0x%llx not found in CAM\n",
+			(unsigned long long)addr);
+	return FAILURE;
+}
+
+/* read mac entries from CAM */
+static u64 read_mac_addr(struct s2io_nic *sp, int offset)
+{
+	u64 tmp64=0xffffffffffff0000ULL, val64;
+	struct XENA_dev_config __iomem *bar0 = sp->bar0;
+
+	/* read mac addr */
+	val64 =
+		RMAC_ADDR_CMD_MEM_RD | RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
+		RMAC_ADDR_CMD_MEM_OFFSET(offset);
+	writeq(val64, &bar0->rmac_addr_cmd_mem);
+
+	/* Wait till command completes */
+	if (wait_for_cmd_complete(&bar0->rmac_addr_cmd_mem,
+		RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING,
+		S2IO_BIT_RESET)) {
+		DBG_PRINT(INFO_DBG, "read_mac_addr failed\n");
+		return FAILURE;
+	}
+	tmp64 = readq(&bar0->rmac_addr_data0_mem);
+	return (tmp64 >> 16);
+}
+
 /**
  * s2io_set_mac_addr driver entry point
  */
@@ -5243,6 +5371,8 @@ static int set_mac_addr(struct net_devic
 	struct s2io_nic *sp = dev->priv;
 	register u64 mac_addr = 0,perm_addr=0;
 	int i;
+	u64 tmp64;
+	struct config_param *config = &sp->config;
 
 	/*
 	* Set the new MAC address as the new unicast filter and reflect this
@@ -5260,9 +5390,28 @@ static int set_mac_addr(struct net_devic
 	if(mac_addr == perm_addr)
 		return SUCCESS;
 
+	/* check if the mac already preset in CAM */
+	for(i = 1; i < config->max_mac_addr; i++) {
+		tmp64 = read_mac_addr(sp,i);
+		if(tmp64 == 0xffffffffffffULL) /* CAM entry is empty */
+			break;
+
+		if(tmp64 == mac_addr) {
+			DBG_PRINT(INFO_DBG,
+			"MAC addr:0x%llx already present in CAM\n",
+			(unsigned long long)mac_addr);
+			return SUCCESS;
+		}
+	}
+
+	if(i == config->max_mac_addr) {
+		DBG_PRINT(ERR_DBG,"CAM full no space left for Unicast MAC\n");
+		return FAILURE;
+	}
+
 	/* Update the internal structure with this new mac address */
-	MAC_ADDR_SET(0, mac_addr);
-	return (add_mac_addr(sp,mac_addr,0));
+	MAC_ADDR_SET(i, mac_addr);
+	return (add_mac_addr(sp,mac_addr,i));
 }
 
 /**
@@ -7991,7 +8140,7 @@ s2io_init_nic(struct pci_dev *pdev, cons
 	 */
 	bar0 = sp->bar0;
 	val64 = RMAC_ADDR_CMD_MEM_RD | RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
-	    RMAC_ADDR_CMD_MEM_OFFSET(0 + MAC_MAC_ADDR_START_OFFSET);
+	    RMAC_ADDR_CMD_MEM_OFFSET(0 + S2IO_MAC_ADDR_START_OFFSET);
 	writeq(val64, &bar0->rmac_addr_cmd_mem);
 	wait_for_cmd_complete(&bar0->rmac_addr_cmd_mem,
 		      RMAC_ADDR_CMD_MEM_STROBE_CMD_EXECUTING, S2IO_BIT_RESET);
@@ -8009,8 +8158,24 @@ s2io_init_nic(struct pci_dev *pdev, cons
 	/*  Set the factory defined MAC address initially   */
 	dev->addr_len = ETH_ALEN;
 	memcpy(dev->dev_addr, sp->def_mac_addr, ETH_ALEN);
+
 	memcpy(dev->perm_addr, dev->dev_addr, ETH_ALEN);
 
+	/* initialize number of multicast & unicast MAC entries variables */
+	if (sp->device_type == XFRAME_I_DEVICE) {
+		config->max_mc_addr = S2IO_XENA_MAX_MC_ADDRESSES;
+		config->max_mac_addr = S2IO_XENA_MAX_MAC_ADDRESSES;
+		config->mc_start_offset = S2IO_XENA_MC_ADDR_START_OFFSET;
+	}
+	else  if (sp->device_type == XFRAME_II_DEVICE) {
+		config->max_mc_addr = S2IO_HERC_MAX_MC_ADDRESSES;
+		config->max_mac_addr = S2IO_HERC_MAX_MAC_ADDRESSES;
+		config->mc_start_offset = S2IO_HERC_MC_ADDR_START_OFFSET;
+	}
+
+	/* store mac addresses from CAM to s2io_nic structure */
+	store_mac_and_mc_addr(sp);
+
 	 /* Store the values of the MSIX table in the s2io_nic structure */
 	store_xmsi_data(sp);
 	/* reset Nic and bring it to known state */
diff -urpN patch1/drivers/net/s2io.h patch2/drivers/net/s2io.h
--- patch1/drivers/net/s2io.h	2007-08-18 04:52:10.000000000 +0530
+++ patch2/drivers/net/s2io.h	2007-08-18 07:21:10.000000000 +0530
@@ -459,6 +459,9 @@ struct config_param {
 #define MAX_MTU_JUMBO               (MAX_PYLD_JUMBO+18)
 #define MAX_MTU_JUMBO_VLAN          (MAX_PYLD_JUMBO+22)
 	u16 bus_speed;
+	int max_mc_addr;	/* xena=64 herc=256 */
+	int max_mac_addr;	/* xena=16 herc=64 */
+	int mc_start_offset;	/* xena=16 herc=64 */
 };
 
 /* Structure representing MAC Addrs */
@@ -817,9 +820,8 @@ struct s2io_nic {
 	void __iomem *bar0;
 	void __iomem *bar1;
 #define MAX_MAC_SUPPORTED   16
-#define MAX_SUPPORTED_MULTICASTS MAX_MAC_SUPPORTED
 
-	struct mac_addr def_mac_addr[MAX_MAC_SUPPORTED];
+	struct mac_addr def_mac_addr[256];
 
 	struct net_device_stats stats;
 	int high_dma_flag;
@@ -843,10 +845,9 @@ struct s2io_nic {
 #define PROMISC     1
 #define ALL_MULTI   2
 
-#define MAX_ADDRS_SUPPORTED 64
 	u16 usr_addr_count;
 	u16 mc_addr_count;
-	struct usr_addr usr_addrs[MAX_ADDRS_SUPPORTED];
+	struct usr_addr usr_addrs[256];
 
 	u16 m_cast_flg;
 	u16 all_multi_pos;
@@ -1063,6 +1064,12 @@ static int s2io_add_isr(struct s2io_nic 
 static void s2io_rem_isr(struct s2io_nic * sp);
 
 static void restore_xmsi_data(struct s2io_nic *nic);
+static void store_mac_and_mc_addr(struct s2io_nic *sp);
+static void restore_mac_and_mc_addr(struct s2io_nic *sp);
+static u64 read_mac_addr(struct s2io_nic *sp, int offset);
+static int add_mc_addr(struct s2io_nic *sp, u8 * addr);
+static int add_mac_addr(struct s2io_nic *sp, u64 addr, int off);
+static int delete_mac_addr(struct s2io_nic *sp,u64 addr);
 
 static int
 s2io_club_tcp_session(u8 *buffer, u8 **tcp, u32 *tcp_len, struct lro **lro,
diff -urpN patch1/drivers/net/s2io-regs.h patch2/drivers/net/s2io-regs.h
--- patch1/drivers/net/s2io-regs.h	2007-08-18 04:34:49.000000000 +0530
+++ patch2/drivers/net/s2io-regs.h	2007-08-18 05:18:17.000000000 +0530
@@ -721,12 +721,17 @@ struct XENA_dev_config {
 
 	u64 rmac_cfg_key;
 #define RMAC_CFG_KEY(val)               vBIT(val,0,16)
+#define S2IO_MAC_ADDR_START_OFFSET	0
+
+#define S2IO_XENA_MAX_MC_ADDRESSES	64	/* multicast addresses */
+#define S2IO_HERC_MAX_MC_ADDRESSES	256
+
+#define S2IO_XENA_MAX_MAC_ADDRESSES	16
+#define S2IO_HERC_MAX_MAC_ADDRESSES	64
+
+#define S2IO_XENA_MC_ADDR_START_OFFSET	16
+#define S2IO_HERC_MC_ADDR_START_OFFSET	64
 
-#define MAX_MAC_ADDRESSES           16
-#define MAX_MC_ADDRESSES            32	/* Multicast addresses */
-#define MAC_MAC_ADDR_START_OFFSET   0
-#define MAC_MC_ADDR_START_OFFSET    16
-#define MAC_MC_ALL_MC_ADDR_OFFSET   63	/* enables all multicast pkts */
 	u64 rmac_addr_cmd_mem;
 #define RMAC_ADDR_CMD_MEM_WE                    BIT(7)
 #define RMAC_ADDR_CMD_MEM_RD                    0


^ permalink raw reply

* net-2.6.24 failure with netconsole
From: Andrew Morton @ 2007-08-22  5:54 UTC (permalink / raw)
  To: David S. Miller, Stephen Hemminger; +Cc: netdev


Has anyone tested all this new napi stuff with netconsole?  It's pretty
disastrous.  It immediately goes BUG in napi_enable().

David, there's basically no reason ever why anyone should add BUG() or
BUG_ON() to net code.  Please consider rejecting any patches which add new
ones.  WARN_ON() is *much* better.  It at least gives the user a chance of
getting some disgnostic info out, of performing additional tests or even of
using their kernel if they want to test something else.  The only reason to
choose BUG over WARN is if we're actually concerned about scrogging
people's data, or serious things like that (ie: filesystems and mm).


I did this:

--- a/include/linux/netdevice.h~a
+++ a/include/linux/netdevice.h
@@ -328,7 +328,7 @@ static inline void napi_disable(struct n
 
 static inline void napi_enable(struct napi_struct *n)
 {
-	BUG_ON(!test_bit(NAPI_STATE_SCHED, &n->state));
+	WARN_ON(!test_bit(NAPI_STATE_SCHED, &n->state));
 	smp_mb__before_clear_bit();
 	clear_bit(NAPI_STATE_SCHED, &n->state);
 }
_

Which enabled me to see this, via netconsole:

netconsole: local port 4444
netconsole: local IP 192.168.2.36
netconsole: interface eth0
netconsole: remote port 5140
netconsole: remote IP 192.168.2.33
netconsole: remote ethernet address 00:0d:56:c6:c6:cc
netconsole: device eth0 not up yet, forcing it
WARNING: at include/linux/netdevice.h:331 napi_enable()
 [<c0103bfa>] show_trace_log_lvl+0x1a/0x30
 [<c0104822>] show_trace+0x12/0x20
 [<c0104846>] dump_stack+0x16/0x20
 [<c02e3989>] e100_up+0x159/0x160
 [<c02e39ae>] e100_open+0x1e/0x60
 [<c0354bb8>] dev_open+0x38/0x80
 [<c03605eb>] netpoll_setup+0x15b/0x390
 [<c051d754>] init_netconsole+0xf4/0x1d0
 [<c05045f2>] kernel_init+0x142/0x320
 [<c0103807>] kernel_thread_helper+0x7/0x10

Which used to be a BUG.  It later oopsed via a null-pointer deref in
net_rx_action(), which is a much preferable result.


config is at http://userweb.kernel.org/~akpm/config-vmm.txt, full dmesg is
below.

This of course renders net-2.6.24 unusable so I'll drop it for now.  Please
let me know when it's safe to use again, thanks.



BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000038000000 (usable)
 BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
 BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
 BIOS-e820: 00000000fffc0000 - 0000000100000000 (reserved)
0MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000fb4c0
Entering add_active_range(0, 0, 229376) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->   229376
  HighMem    229376 ->   229376
Movable zone start PFN for each node
early_node_map[1] active PFN ranges
    0:        0 ->   229376
On node 0 totalpages: 229376
  DMA zone: 52 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4044 pages, LIFO batch:0
  Normal zone: 2860 pages used for memmap
  Normal zone: 222420 pages, LIFO batch:31
  HighMem zone: 0 pages used for memmap
  Movable zone: 0 pages used for memmap
DMI 2.1 present.
Intel MultiProcessor Specification v1.4
    Virtual Wire compatibility mode.
OEM ID: INTEL    Product ID: 440BX        APIC at: 0xFEE00000
Processor #0 6:8 APIC version 17
Processor #1 6:8 APIC version 17
I/O APIC #2 Version 17 at 0xFEC00000.
Enabling APIC mode:  Flat.  Using 1 I/O APICs
Processors: 2
Allocating PCI resources starting at 40000000 (gap: 38000000:c6c00000)
Built 1 zonelists in Zone order.  Total pages: 226464
Kernel command line: auto BOOT_IMAGE=d ro root=1602 BOOT_FILE=/boot/bzImage-2.6.23-rc3 profile=1 nmi_watchdog=1 netconsole=4444@192.168.2.36/eth0,5140@192.168.2.33/00:0D:56:C6:C6:CC resume=/dev/hdc3 initcall_debug ignore_loglevel
kernel profiling enabled (shift: 1)
debug: ignoring loglevel setting.
mapped APIC to ffffb000 (fee00000)
mapped IOAPIC to ffffa000 (fec00000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 16384 bytes)
Detected 851.936 MHz processor.
Console: colour VGA+ 80x50
console [tty0] enabled
Lock dependency validator: Copyright (c) 2006 Red Hat, Inc., Ingo Molnar
... MAX_LOCKDEP_SUBCLASSES:    8
... MAX_LOCK_DEPTH:          30
... MAX_LOCKDEP_KEYS:        2048
... CLASSHASH_SIZE:           1024
... MAX_LOCKDEP_ENTRIES:     8192
... MAX_LOCKDEP_CHAINS:      16384
... CHAINHASH_SIZE:          8192
 memory used by lock dependency info: 992 kB
 per task-struct memory footprint: 1200 bytes
------------------------
| Locking API testsuite:
----------------------------------------------------------------------------
                                 | spin |wlock |rlock |mutex | wsem | rsem |
  --------------------------------------------------------------------------
                     A-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 A-B-B-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
             A-B-B-C-C-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
             A-B-C-A-B-C deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-B-C-C-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-C-D-B-D-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
         A-B-C-D-B-C-D-A deadlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                    double unlock:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                  initialize held:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
                 bad unlock order:  ok  |  ok  |  ok  |  ok  |  ok  |  ok  |
  --------------------------------------------------------------------------
              recursive read-lock:             |  ok  |             |  ok  |
           recursive read-lock #2:             |  ok  |             |  ok  |
            mixed read-write-lock:             |  ok  |             |  ok  |
            mixed write-read-lock:             |  ok  |             |  ok  |
  --------------------------------------------------------------------------
     hard-irqs-on + irq-safe-A/12:  ok  |  ok  |  ok  |
     soft-irqs-on + irq-safe-A/12:  ok  |  ok  |  ok  |
     hard-irqs-on + irq-safe-A/21:  ok  |  ok  |  ok  |
     soft-irqs-on + irq-safe-A/21:  ok  |  ok  |  ok  |
       sirq-safe-A => hirqs-on/12:  ok  |  ok  |  ok  |
       sirq-safe-A => hirqs-on/21:  ok  |  ok  |  ok  |
         hard-safe-A + irqs-on/12:  ok  |  ok  |  ok  |
         soft-safe-A + irqs-on/12:  ok  |  ok  |  ok  |
         hard-safe-A + irqs-on/21:  ok  |  ok  |  ok  |
         soft-safe-A + irqs-on/21:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/123:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/123:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/132:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/132:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/213:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/213:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/231:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/231:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/312:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/312:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #1/321:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #1/321:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/123:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/123:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/132:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/132:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/213:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/213:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/231:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/231:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/312:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/312:  ok  |  ok  |  ok  |
    hard-safe-A + unsafe-B #2/321:  ok  |  ok  |  ok  |
    soft-safe-A + unsafe-B #2/321:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/123:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/123:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/132:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/132:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/213:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/213:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/231:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/231:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/312:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/312:  ok  |  ok  |  ok  |
      hard-irq lock-inversion/321:  ok  |  ok  |  ok  |
      soft-irq lock-inversion/321:  ok  |  ok  |  ok  |
      hard-irq read-recursion/123:  ok  |
      soft-irq read-recursion/123:  ok  |
      hard-irq read-recursion/132:  ok  |
      soft-irq read-recursion/132:  ok  |
      hard-irq read-recursion/213:  ok  |
      soft-irq read-recursion/213:  ok  |
      hard-irq read-recursion/231:  ok  |
      soft-irq read-recursion/231:  ok  |
      hard-irq read-recursion/312:  ok  |
      soft-irq read-recursion/312:  ok  |
      hard-irq read-recursion/321:  ok  |
      soft-irq read-recursion/321:  ok  |
-------------------------------------------------------
Good, all 218 testcases passed! |
---------------------------------
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 891620k/917504k available (2891k kernel code, 25392k reserved, 1189k data, 296k init, 0k highmem)
virtual kernel memory layout:
    fixmap  : 0xffee2000 - 0xfffff000   (1140 kB)
    pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
    vmalloc : 0xf8800000 - 0xff7fe000   ( 111 MB)
    lowmem  : 0xc0000000 - 0xf8000000   ( 896 MB)
      .init : 0xc0504000 - 0xc054e000   ( 296 kB)
      .data : 0xc03d2e5f - 0xc04fc624   (1189 kB)
      .text : 0xc0100000 - 0xc03d2e5f   (2891 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 1706.80 BogoMIPS (lpj=3413611)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 00000000 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
Checking 'hlt' instruction... OK.
lockdep: not fixing up alternatives.
CPU0: Intel Pentium III (Coppermine) stepping 03
lockdep: not fixing up alternatives.
Booting processor 1/1 eip 2000
Initializing CPU#1
Calibrating delay using timer specific routine.. 1704.06 BogoMIPS (lpj=3408125)
CPU: After generic identify, caps: 0383fbff 00000000 00000000 00000000 00000000 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU: After all inits, caps: 0383fbff 00000000 00000000 00000040 00000000 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#1.
CPU1: Intel Pentium III (Coppermine) stepping 03
Total of 2 processors activated (3410.86 BogoMIPS).
ExtINT not setup in hardware but reported by MP table
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=2 apic2=0 pin2=0
APIC timer registered as dummy, due to nmi_watchdog=1!
checking TSC synchronization [CPU#0 -> CPU#1]: passed.
Brought up 2 CPUs
khelper used greatest stack depth: 7184 bytes left
Calling initcall 0xc051fba0: init_cpufreq_transition_notifier_list+0x0/0x20()
initcall 0xc051fba0: init_cpufreq_transition_notifier_list+0x0/0x20() returned 0.
initcall 0xc051fba0 ran for 0 msecs: init_cpufreq_transition_notifier_list+0x0/0x20()
Calling initcall 0xc050c480: cpufreq_tsc+0x0/0x20()
initcall 0xc050c480: cpufreq_tsc+0x0/0x20() returned 0.
initcall 0xc050c480 ran for 0 msecs: cpufreq_tsc+0x0/0x20()
Calling initcall 0xc050cc70: reboot_init+0x0/0x20()
initcall 0xc050cc70: reboot_init+0x0/0x20() returned 0.
initcall 0xc050cc70 ran for 0 msecs: reboot_init+0x0/0x20()
Calling initcall 0xc0512a90: sysctl_init+0x0/0x20()
initcall 0xc0512a90: sysctl_init+0x0/0x20() returned 0.
initcall 0xc0512a90 ran for 0 msecs: sysctl_init+0x0/0x20()
Calling initcall 0xc0513410: init_jiffies_clocksource+0x0/0x10()
initcall 0xc0513410: init_jiffies_clocksource+0x0/0x10() returned 0.
initcall 0xc0513410 ran for 0 msecs: init_jiffies_clocksource+0x0/0x10()
Calling initcall 0xc05136c0: pm_init+0x0/0x30()
initcall 0xc05136c0: pm_init+0x0/0x30() returned 0.
initcall 0xc05136c0 ran for 0 msecs: pm_init+0x0/0x30()
Calling initcall 0xc0513960: ksysfs_init+0x0/0x50()
initcall 0xc0513960: ksysfs_init+0x0/0x50() returned 0.
initcall 0xc0513960 ran for 0 msecs: ksysfs_init+0x0/0x50()
Calling initcall 0xc05163c0: filelock_init+0x0/0x30()
initcall 0xc05163c0: filelock_init+0x0/0x30() returned 0.
initcall 0xc05163c0 ran for 0 msecs: filelock_init+0x0/0x30()
Calling initcall 0xc0516ec0: init_aout_binfmt+0x0/0x10()
initcall 0xc0516ec0: init_aout_binfmt+0x0/0x10() returned 0.
initcall 0xc0516ec0 ran for 0 msecs: init_aout_binfmt+0x0/0x10()
Calling initcall 0xc0516ed0: init_misc_binfmt+0x0/0x40()
initcall 0xc0516ed0: init_misc_binfmt+0x0/0x40() returned 0.
initcall 0xc0516ed0 ran for 0 msecs: init_misc_binfmt+0x0/0x40()
Calling initcall 0xc0516f10: init_script_binfmt+0x0/0x10()
initcall 0xc0516f10: init_script_binfmt+0x0/0x10() returned 0.
initcall 0xc0516f10 ran for 0 msecs: init_script_binfmt+0x0/0x10()
Calling initcall 0xc0516f20: init_elf_binfmt+0x0/0x10()
initcall 0xc0516f20: init_elf_binfmt+0x0/0x10() returned 0.
initcall 0xc0516f20 ran for 0 msecs: init_elf_binfmt+0x0/0x10()
Calling initcall 0xc0517e70: debugfs_init+0x0/0x50()
initcall 0xc0517e70: debugfs_init+0x0/0x50() returned 0.
initcall 0xc0517e70 ran for 0 msecs: debugfs_init+0x0/0x50()
Calling initcall 0xc0518690: random32_init+0x0/0x60()
initcall 0xc0518690: random32_init+0x0/0x60() returned 0.
initcall 0xc0518690 ran for 0 msecs: random32_init+0x0/0x60()
Calling initcall 0xc051fb20: cpufreq_core_init+0x0/0x80()
initcall 0xc051fb20: cpufreq_core_init+0x0/0x80() returned 0.
initcall 0xc051fb20 ran for 0 msecs: cpufreq_core_init+0x0/0x80()
Calling initcall 0xc0521d50: sock_init+0x0/0x60()
initcall 0xc0521d50: sock_init+0x0/0x60() returned 0.
initcall 0xc0521d50 ran for 0 msecs: sock_init+0x0/0x60()
Calling initcall 0xc05224d0: netpoll_init+0x0/0x40()
initcall 0xc05224d0: netpoll_init+0x0/0x40() returned 0.
initcall 0xc05224d0 ran for 0 msecs: netpoll_init+0x0/0x40()
Calling initcall 0xc05225c0: netlink_proto_init+0x0/0x160()
NET: Registered protocol family 16
initcall 0xc05225c0: netlink_proto_init+0x0/0x160() returned 0.
initcall 0xc05225c0 ran for 0 msecs: netlink_proto_init+0x0/0x160()
Calling initcall 0xc0518520: kobject_uevent_init+0x0/0x50()
initcall 0xc0518520: kobject_uevent_init+0x0/0x50() returned 0.
initcall 0xc0518520 ran for 0 msecs: kobject_uevent_init+0x0/0x50()
Calling initcall 0xc05187c0: pcibus_class_init+0x0/0x10()
initcall 0xc05187c0: pcibus_class_init+0x0/0x10() returned 0.
initcall 0xc05187c0 ran for 0 msecs: pcibus_class_init+0x0/0x10()
Calling initcall 0xc0518e10: pci_driver_init+0x0/0x10()
initcall 0xc0518e10: pci_driver_init+0x0/0x10() returned 0.
initcall 0xc0518e10 ran for 3 msecs: pci_driver_init+0x0/0x10()
Calling initcall 0xc051ab60: tty_class_init+0x0/0x30()
initcall 0xc051ab60: tty_class_init+0x0/0x30() returned 0.
initcall 0xc051ab60 ran for 0 msecs: tty_class_init+0x0/0x30()
Calling initcall 0xc051b500: vtconsole_class_init+0x0/0xe0()
initcall 0xc051b500: vtconsole_class_init+0x0/0xe0() returned 0.
initcall 0xc051b500 ran for 0 msecs: vtconsole_class_init+0x0/0xe0()
Calling initcall 0xc051f2a0: eisa_init+0x0/0x30()
EISA bus registered
initcall 0xc051f2a0: eisa_init+0x0/0x30() returned 0.
initcall 0xc051f2a0 ran for 0 msecs: eisa_init+0x0/0x30()
Calling initcall 0xc050c340: init_pit_clocksource+0x0/0x90()
initcall 0xc050c340: init_pit_clocksource+0x0/0x90() returned 0.
initcall 0xc050c340 ran for 0 msecs: init_pit_clocksource+0x0/0x90()
Calling initcall 0xc0520660: dmi_id_init+0x0/0x290()
initcall 0xc0520660: dmi_id_init+0x0/0x290() returned 0.
initcall 0xc0520660 ran for 3 msecs: dmi_id_init+0x0/0x290()
Calling initcall 0xc0520c00: pci_access_init+0x0/0x50()
PCI: PCI BIOS revision 2.10 entry at 0xfdb81, last bus=1
PCI: Using configuration type 1
initcall 0xc0520c00: pci_access_init+0x0/0x50() returned 0.
initcall 0xc0520c00 ran for 53 msecs: pci_access_init+0x0/0x50()
Calling initcall 0xc050bd00: request_standard_resources+0x0/0x390()
Setting up standard PCI resources
initcall 0xc050bd00: request_standard_resources+0x0/0x390() returned 0.
initcall 0xc050bd00 ran for 7 msecs: request_standard_resources+0x0/0x390()
Calling initcall 0xc050c160: topology_init+0x0/0x40()
initcall 0xc050c160: topology_init+0x0/0x40() returned 0.
initcall 0xc050c160 ran for 3 msecs: topology_init+0x0/0x40()
Calling initcall 0xc0512e60: param_sysfs_init+0x0/0x180()
khelper used greatest stack depth: 7068 bytes left
initcall 0xc0512e60: param_sysfs_init+0x0/0x180() returned 0.
initcall 0xc0512e60 ran for 11 msecs: param_sysfs_init+0x0/0x180()
Calling initcall 0xc014a1b0: pm_sysrq_init+0x0/0x20()
initcall 0xc014a1b0: pm_sysrq_init+0x0/0x20() returned 0.
initcall 0xc014a1b0 ran for 0 msecs: pm_sysrq_init+0x0/0x20()
Calling initcall 0xc0516b20: init_bio+0x0/0xc0()
initcall 0xc0516b20: init_bio+0x0/0xc0() returned 0.
initcall 0xc0516b20 ran for 3 msecs: init_bio+0x0/0xc0()
Calling initcall 0xc0518230: genhd_device_init+0x0/0x60()
initcall 0xc0518230: genhd_device_init+0x0/0x60() returned 0.
initcall 0xc0518230 ran for 0 msecs: genhd_device_init+0x0/0x60()
Calling initcall 0xc0518fe0: pnp_init+0x0/0x20()
Linux Plug and Play Support v0.97 (c) Adam Belay
initcall 0xc0518fe0: pnp_init+0x0/0x20() returned 0.
initcall 0xc0518fe0 ran for 0 msecs: pnp_init+0x0/0x20()
Calling initcall 0xc0519170: pnpbios_init+0x0/0x3a0()
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00f7150
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0x6aa4, dseg 0xf0000
PnPBIOS: 15 nodes reported by PnP BIOS; 15 recorded by driver
initcall 0xc0519170: pnpbios_init+0x0/0x3a0() returned 0.
initcall 0xc0519170 ran for 7 msecs: pnpbios_init+0x0/0x3a0()
Calling initcall 0xc051afb0: misc_init+0x0/0x80()
initcall 0xc051afb0: misc_init+0x0/0x80() returned 0.
initcall 0xc051afb0 ran for 3 msecs: misc_init+0x0/0x80()
Calling initcall 0xc02c9690: cn_init+0x0/0xd0()
initcall 0xc02c9690: cn_init+0x0/0xd0() returned 0.
initcall 0xc02c9690 ran for 0 msecs: cn_init+0x0/0xd0()
Calling initcall 0xc051e280: init_scsi+0x0/0xb0()
SCSI subsystem initialized
initcall 0xc051e280: init_scsi+0x0/0xb0() returned 0.
initcall 0xc051e280 ran for 3 msecs: init_scsi+0x0/0xb0()
Calling initcall 0xc051e7f0: serio_init+0x0/0xa0()
initcall 0xc051e7f0: serio_init+0x0/0xa0() returned 0.
initcall 0xc051e7f0 ran for 0 msecs: serio_init+0x0/0xa0()
Calling initcall 0xc051ecb0: gameport_init+0x0/0xa0()
initcall 0xc051ecb0: gameport_init+0x0/0xa0() returned 0.
initcall 0xc051ecb0 ran for 0 msecs: gameport_init+0x0/0xa0()
Calling initcall 0xc051ed50: input_init+0x0/0x110()
initcall 0xc051ed50: input_init+0x0/0x110() returned 0.
initcall 0xc051ed50 ran for 0 msecs: input_init+0x0/0x110()
Calling initcall 0xc05211c0: pci_legacy_init+0x0/0xf0()
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI quirk: region 0400-043f claimed by PIIX4 ACPI
PCI quirk: region 0440-044f claimed by PIIX4 SMB
PIIX4 devres B PIO at 0290-0297
PCI: Firmware left 0000:00:10.0 e100 interrupts enabled, disabling
initcall 0xc05211c0: pci_legacy_init+0x0/0xf0() returned 0.
initcall 0xc05211c0 ran for 7 msecs: pci_legacy_init+0x0/0xf0()
Calling initcall 0xc05217b0: pcibios_irq_init+0x0/0x510()
initcall 0xc05217b0: pcibios_irq_init+0x0/0x510() returned 0.
initcall 0xc05217b0 ran for 3 msecs: pcibios_irq_init+0x0/0x510()
Calling initcall 0xc0521cc0: pcibios_init+0x0/0x90()
initcall 0xc0521cc0: pcibios_init+0x0/0x90() returned 0.
initcall 0xc0521cc0 ran for 0 msecs: pcibios_init+0x0/0x90()
Calling initcall 0xc0521e10: proto_init+0x0/0x30()
initcall 0xc0521e10: proto_init+0x0/0x30() returned 0.
initcall 0xc0521e10 ran for 0 msecs: proto_init+0x0/0x30()
Calling initcall 0xc0521f80: net_dev_init+0x0/0x1d0()
initcall 0xc0521f80: net_dev_init+0x0/0x1d0() returned 0.
initcall 0xc0521f80 ran for 3 msecs: net_dev_init+0x0/0x1d0()
Calling initcall 0xc0522190: neigh_init+0x0/0x80()
initcall 0xc0522190: neigh_init+0x0/0x80() returned 0.
initcall 0xc0522190 ran for 0 msecs: neigh_init+0x0/0x80()
Calling initcall 0xc0522720: genl_init+0x0/0xc0()
initcall 0xc0522720: genl_init+0x0/0xc0() returned 0.
initcall 0xc0522720 ran for 15 msecs: genl_init+0x0/0xc0()
Calling initcall 0xc0513300: clocksource_done_booting+0x0/0x20()
initcall 0xc0513300: clocksource_done_booting+0x0/0x20() returned 0.
initcall 0xc0513300 ran for 0 msecs: clocksource_done_booting+0x0/0x20()
Calling initcall 0xc0516330: init_pipe_fs+0x0/0x60()
initcall 0xc0516330: init_pipe_fs+0x0/0x60() returned 0.
initcall 0xc0516330 ran for 0 msecs: init_pipe_fs+0x0/0x60()
Calling initcall 0xc0516d30: eventpoll_init+0x0/0x90()
initcall 0xc0516d30: eventpoll_init+0x0/0x90() returned 0.
initcall 0xc0516d30 ran for 0 msecs: eventpoll_init+0x0/0x90()
Calling initcall 0xc0516dc0: anon_inode_init+0x0/0x100()
initcall 0xc0516dc0: anon_inode_init+0x0/0x100() returned 0.
Time: tsc clocksource has been installed.
initcall 0xc0516dc0 ran for 0 msecs: anon_inode_init+0x0/0x100()
Calling initcall 0xc0519140: pnp_system_init+0x0/0x10()
pnp: the driver 'system' has been registered
pnp: match found with the PnP device '00:00' and the driver 'system'
pnp: 00:00: iomem range 0x0-0x9fbff could not be reserved
pnp: 00:00: iomem range 0x9fc00-0x9ffff could not be reserved
pnp: 00:00: iomem range 0xe0000-0xfffff could not be reserved
pnp: 00:00: iomem range 0x100000-0x37ffffff could not be reserved
pnp: match found with the PnP device '00:08' and the driver 'system'
pnp: 00:08: ioport range 0x4d0-0x4d1 has been reserved
pnp: 00:08: ioport range 0xcf8-0xcff could not be reserved
pnp: 00:08: iomem range 0x0-0x0 could not be reserved
pnp: 00:08: iomem range 0x0-0x0 could not be reserved
pnp: 00:08: iomem range 0x0-0x0 could not be reserved
pnp: 00:08: iomem range 0x0-0x0 could not be reserved
pnp: match found with the PnP device '00:09' and the driver 'system'
pnp: 00:09: ioport range 0x290-0x297 has been reserved
pnp: 00:09: ioport range 0x398-0x399 has been reserved
initcall 0xc0519140: pnp_system_init+0x0/0x10() returned 0.
initcall 0xc0519140 ran for 1 msecs: pnp_system_init+0x0/0x10()
Calling initcall 0xc051a860: chr_dev_init+0x0/0xa0()
initcall 0xc051a860: chr_dev_init+0x0/0xa0() returned 0.
initcall 0xc051a860 ran for 3 msecs: chr_dev_init+0x0/0xa0()
Calling initcall 0xc051bd80: firmware_class_init+0x0/0x70()
initcall 0xc051bd80: firmware_class_init+0x0/0x70() returned 0.
initcall 0xc051bd80 ran for 0 msecs: firmware_class_init+0x0/0x70()
Calling initcall 0xc051fc70: cpufreq_gov_performance_init+0x0/0x10()
initcall 0xc051fc70: cpufreq_gov_performance_init+0x0/0x10() returned 0.
initcall 0xc051fc70 ran for 0 msecs: cpufreq_gov_performance_init+0x0/0x10()
Calling initcall 0xc0520900: pcibios_assign_resources+0x0/0x80()
PCI: Bridge: 0000:00:01.0
  IO window: d000-dfff
  MEM window: fc600000-fe6fffff
  PREFETCH window: e4400000-f44fffff
initcall 0xc0520900: pcibios_assign_resources+0x0/0x80() returned 0.
initcall 0xc0520900 ran for 0 msecs: pcibios_assign_resources+0x0/0x80()
Calling initcall 0xc0523220: inet_init+0x0/0x2f0()
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 65536 (order: 9, 2359296 bytes)
TCP bind hash table entries: 65536 (order: 9, 2097152 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
TCP reno registered
initcall 0xc0523220: inet_init+0x0/0x2f0() returned 0.
initcall 0xc0523220 ran for 106 msecs: inet_init+0x0/0x2f0()
Calling initcall 0xc050a1b0: populate_rootfs+0x0/0x100()
checking if image is initramfs...it isn't (no cpio magic); looks like an initrd
Freeing initrd memory: 265k freed
initcall 0xc050a1b0: populate_rootfs+0x0/0x100() returned 0.
initcall 0xc050a1b0 ran for 136 msecs: populate_rootfs+0x0/0x100()
Calling initcall 0xc050b000: i8259A_init_sysfs+0x0/0x30()
initcall 0xc050b000: i8259A_init_sysfs+0x0/0x30() returned 0.
initcall 0xc050b000 ran for 0 msecs: i8259A_init_sysfs+0x0/0x30()
Calling initcall 0xc050b130: sbf_init+0x0/0xe0()
initcall 0xc050b130: sbf_init+0x0/0xe0() returned 0.
initcall 0xc050b130 ran for 0 msecs: sbf_init+0x0/0xe0()
Calling initcall 0xc050c130: i8237A_init_sysfs+0x0/0x30()
initcall 0xc050c130: i8237A_init_sysfs+0x0/0x30() returned 0.
initcall 0xc050c130 ran for 0 msecs: i8237A_init_sysfs+0x0/0x30()
Calling initcall 0xc010c700: cache_sysfs_init+0x0/0x60()
initcall 0xc010c700: cache_sysfs_init+0x0/0x60() returned 0.
initcall 0xc010c700 ran for 0 msecs: cache_sysfs_init+0x0/0x60()
Calling initcall 0xc050cb10: thermal_throttle_init_device+0x0/0xb0()
initcall 0xc050cb10: thermal_throttle_init_device+0x0/0xb0() returned 0.
initcall 0xc050cb10 ran for 0 msecs: thermal_throttle_init_device+0x0/0xb0()
Calling initcall 0xc050cd90: msr_init+0x0/0x110()
initcall 0xc050cd90: msr_init+0x0/0x110() returned 0.
initcall 0xc050cd90 ran for 1 msecs: msr_init+0x0/0x110()
Calling initcall 0xc050cea0: cpuid_init+0x0/0x110()
initcall 0xc050cea0: cpuid_init+0x0/0x110() returned 0.
initcall 0xc050cea0 ran for 1 msecs: cpuid_init+0x0/0x110()
Calling initcall 0xc050dee0: init_lapic_sysfs+0x0/0x40()
initcall 0xc050dee0: init_lapic_sysfs+0x0/0x40() returned 0.
initcall 0xc050dee0 ran for 0 msecs: init_lapic_sysfs+0x0/0x40()
Calling initcall 0xc050f400: ioapic_init_sysfs+0x0/0xe0()
initcall 0xc050f400: ioapic_init_sysfs+0x0/0xe0() returned 0.
initcall 0xc050f400 ran for 0 msecs: ioapic_init_sysfs+0x0/0xe0()
Calling initcall 0xc0510e20: add_pcspkr+0x0/0x50()
initcall 0xc0510e20: add_pcspkr+0x0/0x50() returned 0.
initcall 0xc0510e20 ran for 0 msecs: add_pcspkr+0x0/0x50()
Calling initcall 0xc05118f0: init_sched_debug_procfs+0x0/0x30()
initcall 0xc05118f0: init_sched_debug_procfs+0x0/0x30() returned 0.
initcall 0xc05118f0 ran for 0 msecs: init_sched_debug_procfs+0x0/0x30()
Calling initcall 0xc0512500: create_proc_profile+0x0/0x1c0()
initcall 0xc0512500: create_proc_profile+0x0/0x1c0() returned 0.
initcall 0xc0512500 ran for 0 msecs: create_proc_profile+0x0/0x1c0()
Calling initcall 0xc0512980: ioresources_init+0x0/0x40()
initcall 0xc0512980: ioresources_init+0x0/0x40() returned 0.
initcall 0xc0512980 ran for 0 msecs: ioresources_init+0x0/0x40()
Calling initcall 0xc0512b00: uid_cache_init+0x0/0x80()
initcall 0xc0512b00: uid_cache_init+0x0/0x80() returned 0.
initcall 0xc0512b00 ran for 0 msecs: uid_cache_init+0x0/0x80()
Calling initcall 0xc0512fe0: init_posix_timers+0x0/0x90()
initcall 0xc0512fe0: init_posix_timers+0x0/0x90() returned 0.
initcall 0xc0512fe0 ran for 0 msecs: init_posix_timers+0x0/0x90()
Calling initcall 0xc0513070: init_posix_cpu_timers+0x0/0xa0()
initcall 0xc0513070: init_posix_cpu_timers+0x0/0xa0() returned 0.
initcall 0xc0513070 ran for 0 msecs: init_posix_cpu_timers+0x0/0xa0()
Calling initcall 0xc0513140: latency_init+0x0/0x30()
initcall 0xc0513140: latency_init+0x0/0x30() returned 0.
initcall 0xc0513140 ran for 0 msecs: latency_init+0x0/0x30()
Calling initcall 0xc0513170: nsproxy_cache_init+0x0/0x30()
initcall 0xc0513170: nsproxy_cache_init+0x0/0x30() returned 0.
initcall 0xc0513170 ran for 0 msecs: nsproxy_cache_init+0x0/0x30()
Calling initcall 0xc05131a0: timekeeping_init_device+0x0/0x30()
initcall 0xc05131a0: timekeeping_init_device+0x0/0x30() returned 0.
initcall 0xc05131a0 ran for 0 msecs: timekeeping_init_device+0x0/0x30()
Calling initcall 0xc05133c0: init_clocksource_sysfs+0x0/0x50()
initcall 0xc05133c0: init_clocksource_sysfs+0x0/0x50() returned 0.
initcall 0xc05133c0 ran for 0 msecs: init_clocksource_sysfs+0x0/0x50()
Calling initcall 0xc0513420: init_timer_list_procfs+0x0/0x30()
initcall 0xc0513420: init_timer_list_procfs+0x0/0x30() returned 0.
initcall 0xc0513420 ran for 0 msecs: init_timer_list_procfs+0x0/0x30()
Calling initcall 0xc0513570: lockdep_proc_init+0x0/0x40()
initcall 0xc0513570: lockdep_proc_init+0x0/0x40() returned 0.
initcall 0xc0513570 ran for 0 msecs: lockdep_proc_init+0x0/0x40()
Calling initcall 0xc05135b0: init+0x0/0xc0()
initcall 0xc05135b0: init+0x0/0xc0() returned 0.
initcall 0xc05135b0 ran for 0 msecs: init+0x0/0xc0()
Calling initcall 0xc0513670: proc_dma_init+0x0/0x20()
initcall 0xc0513670: proc_dma_init+0x0/0x20() returned 0.
initcall 0xc0513670 ran for 0 msecs: proc_dma_init+0x0/0x20()
Calling initcall 0xc0145cd0: percpu_modinit+0x0/0x70()
initcall 0xc0145cd0: percpu_modinit+0x0/0x70() returned 0.
initcall 0xc0145cd0 ran for 0 msecs: percpu_modinit+0x0/0x70()
Calling initcall 0xc0513690: kallsyms_init+0x0/0x30()
initcall 0xc0513690: kallsyms_init+0x0/0x30() returned 0.
initcall 0xc0513690 ran for 0 msecs: kallsyms_init+0x0/0x30()
Calling initcall 0xc0513770: audit_init+0x0/0x120()
audit: initializing netlink socket (disabled)
audit(1187793065.784:1): initialized
initcall 0xc0513770: audit_init+0x0/0x120() returned 0.
initcall 0xc0513770 ran for 0 msecs: audit_init+0x0/0x120()
Calling initcall 0xc0513920: audit_tree_init+0x0/0x40()
initcall 0xc0513920: audit_tree_init+0x0/0x40() returned 0.
initcall 0xc0513920 ran for 0 msecs: audit_tree_init+0x0/0x40()
Calling initcall 0xc0513a70: utsname_sysctl_init+0x0/0x20()
initcall 0xc0513a70: utsname_sysctl_init+0x0/0x20() returned 0.
initcall 0xc0513a70 ran for 0 msecs: utsname_sysctl_init+0x0/0x20()
Calling initcall 0xc0514ce0: init_per_zone_pages_min+0x0/0x60()
initcall 0xc0514ce0: init_per_zone_pages_min+0x0/0x60() returned 0.
initcall 0xc0514ce0 ran for 0 msecs: init_per_zone_pages_min+0x0/0x60()
Calling initcall 0xc05159f0: pdflush_init+0x0/0x20()
initcall 0xc05159f0: pdflush_init+0x0/0x20() returned 0.
initcall 0xc05159f0 ran for 0 msecs: pdflush_init+0x0/0x20()
Calling initcall 0xc0515a40: kswapd_init+0x0/0x30()
initcall 0xc0515a40: kswapd_init+0x0/0x30() returned 0.
initcall 0xc0515a40 ran for 0 msecs: kswapd_init+0x0/0x30()
Calling initcall 0xc0515a70: setup_vmstat+0x0/0x50()
initcall 0xc0515a70: setup_vmstat+0x0/0x50() returned 0.
initcall 0xc0515a70 ran for 0 msecs: setup_vmstat+0x0/0x50()
Calling initcall 0xc0515bb0: init_emergency_pool+0x0/0x70()
initcall 0xc0515bb0: init_emergency_pool+0x0/0x70() returned 0.
initcall 0xc0515bb0 ran for 0 msecs: init_emergency_pool+0x0/0x70()
Calling initcall 0xc0515c20: procswaps_init+0x0/0x20()
initcall 0xc0515c20: procswaps_init+0x0/0x20() returned 0.
initcall 0xc0515c20 ran for 0 msecs: procswaps_init+0x0/0x20()
Calling initcall 0xc0515c80: hugetlb_init+0x0/0x70()
Total HugeTLB memory allocated, 0
initcall 0xc0515c80: hugetlb_init+0x0/0x70() returned 0.
initcall 0xc0515c80 ran for 0 msecs: hugetlb_init+0x0/0x70()
Calling initcall 0xc0515cf0: init_tmpfs+0x0/0xd0()
initcall 0xc0515cf0: init_tmpfs+0x0/0xd0() returned 0.
initcall 0xc0515cf0 ran for 0 msecs: init_tmpfs+0x0/0xd0()
Calling initcall 0xc0515e40: cpucache_init+0x0/0x40()
initcall 0xc0515e40: cpucache_init+0x0/0x40() returned 0.
initcall 0xc0515e40 ran for 0 msecs: cpucache_init+0x0/0x40()
Calling initcall 0xc0516390: fasync_init+0x0/0x30()
initcall 0xc0516390: fasync_init+0x0/0x30() returned 0.
initcall 0xc0516390 ran for 0 msecs: fasync_init+0x0/0x30()
Calling initcall 0xc0516a50: aio_setup+0x0/0x70()
initcall 0xc0516a50: aio_setup+0x0/0x70() returned 0.
initcall 0xc0516a50 ran for 0 msecs: aio_setup+0x0/0x70()
Calling initcall 0xc0516c60: inotify_setup+0x0/0x10()
initcall 0xc0516c60: inotify_setup+0x0/0x10() returned 0.
initcall 0xc0516c60 ran for 0 msecs: inotify_setup+0x0/0x10()
Calling initcall 0xc0516c70: inotify_user_setup+0x0/0xc0()
initcall 0xc0516c70: inotify_user_setup+0x0/0xc0() returned 0.
initcall 0xc0516c70 ran for 0 msecs: inotify_user_setup+0x0/0xc0()
Calling initcall 0xc0516f30: init_mbcache+0x0/0x20()
initcall 0xc0516f30: init_mbcache+0x0/0x20() returned 0.
initcall 0xc0516f30 ran for 0 msecs: init_mbcache+0x0/0x20()
Calling initcall 0xc0516f50: dnotify_init+0x0/0x30()
initcall 0xc0516f50: dnotify_init+0x0/0x30() returned 0.
initcall 0xc0516f50 ran for 0 msecs: dnotify_init+0x0/0x30()
Calling initcall 0xc0517360: init_devpts_fs+0x0/0x30()
initcall 0xc0517360: init_devpts_fs+0x0/0x30() returned 0.
initcall 0xc0517360 ran for 0 msecs: init_devpts_fs+0x0/0x30()
Calling initcall 0xc0517390: init_ext3_fs+0x0/0x60()
initcall 0xc0517390: init_ext3_fs+0x0/0x60() returned 0.
initcall 0xc0517390 ran for 0 msecs: init_ext3_fs+0x0/0x60()
Calling initcall 0xc05173f0: init_ext4_fs+0x0/0x80()
initcall 0xc05173f0: init_ext4_fs+0x0/0x80() returned 0.
initcall 0xc05173f0 ran for 0 msecs: init_ext4_fs+0x0/0x80()
Calling initcall 0xc0517530: journal_init+0x0/0x100()
initcall 0xc0517530: journal_init+0x0/0x100() returned 0.
initcall 0xc0517530 ran for 0 msecs: journal_init+0x0/0x100()
Calling initcall 0xc05176b0: journal_init+0x0/0xe0()
initcall 0xc05176b0: journal_init+0x0/0xe0() returned 0.
initcall 0xc05176b0 ran for 0 msecs: journal_init+0x0/0xe0()
Calling initcall 0xc0517790: init_ext2_fs+0x0/0x60()
initcall 0xc0517790: init_ext2_fs+0x0/0x60() returned 0.
initcall 0xc0517790 ran for 0 msecs: init_ext2_fs+0x0/0x60()
Calling initcall 0xc0517800: init_ramfs_fs+0x0/0x10()
initcall 0xc0517800: init_ramfs_fs+0x0/0x10() returned 0.
initcall 0xc0517800 ran for 0 msecs: init_ramfs_fs+0x0/0x10()
Calling initcall 0xc0517810: init_hugetlbfs_fs+0x0/0x80()
initcall 0xc0517810: init_hugetlbfs_fs+0x0/0x80() returned 0.
initcall 0xc0517810 ran for 0 msecs: init_hugetlbfs_fs+0x0/0x80()
Calling initcall 0xc05178d0: init_fat_fs+0x0/0x60()
initcall 0xc05178d0: init_fat_fs+0x0/0x60() returned 0.
initcall 0xc05178d0 ran for 0 msecs: init_fat_fs+0x0/0x60()
Calling initcall 0xc0517930: init_msdos_fs+0x0/0x10()
initcall 0xc0517930: init_msdos_fs+0x0/0x10() returned 0.
initcall 0xc0517930 ran for 0 msecs: init_msdos_fs+0x0/0x10()
Calling initcall 0xc0517940: init_vfat_fs+0x0/0x10()
initcall 0xc0517940: init_vfat_fs+0x0/0x10() returned 0.
initcall 0xc0517940 ran for 0 msecs: init_vfat_fs+0x0/0x10()
Calling initcall 0xc0517950: init_iso9660_fs+0x0/0x70()
initcall 0xc0517950: init_iso9660_fs+0x0/0x70() returned 0.
initcall 0xc0517950 ran for 0 msecs: init_iso9660_fs+0x0/0x70()
Calling initcall 0xc0517ad0: init_nfs_fs+0x0/0xc0()
initcall 0xc0517ad0: init_nfs_fs+0x0/0xc0() returned 0.
initcall 0xc0517ad0 ran for 0 msecs: init_nfs_fs+0x0/0xc0()
Calling initcall 0xc0517d40: init_nfsd+0x0/0xa0()
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
initcall 0xc0517d40: init_nfsd+0x0/0xa0() returned 0.
initcall 0xc0517d40 ran for 2 msecs: init_nfsd+0x0/0xa0()
Calling initcall 0xc0517de0: init_nlm+0x0/0x20()
initcall 0xc0517de0: init_nlm+0x0/0x20() returned 0.
initcall 0xc0517de0 ran for 0 msecs: init_nlm+0x0/0x20()
Calling initcall 0xc0517e00: init_autofs4_fs+0x0/0x10()
initcall 0xc0517e00: init_autofs4_fs+0x0/0x10() returned 0.
initcall 0xc0517e00 ran for 0 msecs: init_autofs4_fs+0x0/0x10()
Calling initcall 0xc0517e10: init_udf_fs+0x0/0x60()
initcall 0xc0517e10: init_udf_fs+0x0/0x60() returned 0.
initcall 0xc0517e10 ran for 0 msecs: init_udf_fs+0x0/0x60()
Calling initcall 0xc0517ec0: ipc_init+0x0/0x20()
initcall 0xc0517ec0: ipc_init+0x0/0x20() returned 0.
initcall 0xc0517ec0 ran for 0 msecs: ipc_init+0x0/0x20()
Calling initcall 0xc0518000: ipc_sysctl_init+0x0/0x20()
initcall 0xc0518000: ipc_sysctl_init+0x0/0x20() returned 0.
initcall 0xc0518000 ran for 0 msecs: ipc_sysctl_init+0x0/0x20()
Calling initcall 0xc0518020: crypto_algapi_init+0x0/0x10()
initcall 0xc0518020: crypto_algapi_init+0x0/0x10() returned 0.
initcall 0xc0518020 ran for 0 msecs: crypto_algapi_init+0x0/0x10()
Calling initcall 0xc0518050: cryptomgr_init+0x0/0x10()
initcall 0xc0518050: cryptomgr_init+0x0/0x10() returned 0.
initcall 0xc0518050 ran for 0 msecs: cryptomgr_init+0x0/0x10()
Calling initcall 0xc0518060: init+0x0/0x10()
initcall 0xc0518060: init+0x0/0x10() returned 0.
initcall 0xc0518060 ran for 0 msecs: init+0x0/0x10()
Calling initcall 0xc0518070: crypto_cbc_module_init+0x0/0x10()
initcall 0xc0518070: crypto_cbc_module_init+0x0/0x10() returned 0.
initcall 0xc0518070 ran for 0 msecs: crypto_cbc_module_init+0x0/0x10()
Calling initcall 0xc0518080: init+0x0/0x40()
initcall 0xc0518080: init+0x0/0x40() returned 0.
initcall 0xc0518080 ran for 0 msecs: init+0x0/0x40()
Calling initcall 0xc0518420: noop_init+0x0/0x10()
io scheduler noop registered
initcall 0xc0518420: noop_init+0x0/0x10() returned 0.
initcall 0xc0518420 ran for 0 msecs: noop_init+0x0/0x10()
Calling initcall 0xc0518430: as_init+0x0/0x10()
io scheduler anticipatory registered (default)
initcall 0xc0518430: as_init+0x0/0x10() returned 0.
initcall 0xc0518430 ran for 0 msecs: as_init+0x0/0x10()
Calling initcall 0xc0518440: deadline_init+0x0/0x10()
io scheduler deadline registered
initcall 0xc0518440: deadline_init+0x0/0x10() returned 0.
initcall 0xc0518440 ran for 0 msecs: deadline_init+0x0/0x10()
Calling initcall 0xc0518450: cfq_init+0x0/0xd0()
io scheduler cfq registered
initcall 0xc0518450: cfq_init+0x0/0xd0() returned 0.
initcall 0xc0518450 ran for 0 msecs: cfq_init+0x0/0xd0()
Calling initcall 0xc0518710: percpu_counter_startup+0x0/0x20()
initcall 0xc0518710: percpu_counter_startup+0x0/0x20() returned 0.
initcall 0xc0518710 ran for 0 msecs: percpu_counter_startup+0x0/0x20()
Calling initcall 0xc0518730: audit_classes_init+0x0/0x50()
initcall 0xc0518730: audit_classes_init+0x0/0x50() returned 0.
initcall 0xc0518730 ran for 0 msecs: audit_classes_init+0x0/0x50()
Calling initcall 0xc029bcb0: pci_init+0x0/0x30()
Limiting direct PCI/PCI transfers.
Boot video device is 0000:01:00.0
initcall 0xc029bcb0: pci_init+0x0/0x30() returned 0.
initcall 0xc029bcb0 ran for 0 msecs: pci_init+0x0/0x30()
Calling initcall 0xc0518e70: pci_proc_init+0x0/0x70()
initcall 0xc0518e70: pci_proc_init+0x0/0x70() returned 0.
initcall 0xc0518e70 ran for 0 msecs: pci_proc_init+0x0/0x70()
Calling initcall 0xc0518ee0: pci_hotplug_init+0x0/0x60()
pci_hotplug: PCI Hot Plug PCI Core version: 0.5
initcall 0xc0518ee0: pci_hotplug_init+0x0/0x60() returned 0.
initcall 0xc0518ee0 ran for 0 msecs: pci_hotplug_init+0x0/0x60()
Calling initcall 0xc05195f0: pnpbios_thread_init+0x0/0x60()
initcall 0xc05195f0: pnpbios_thread_init+0x0/0x60() returned 0.
initcall 0xc05195f0 ran for 0 msecs: pnpbios_thread_init+0x0/0x60()
Calling initcall 0xc051a2c0: isapnp_init+0x0/0x4a0()
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
initcall 0xc051a2c0: isapnp_init+0x0/0x4a0() returned 0.
initcall 0xc051a2c0 ran for 340 msecs: isapnp_init+0x0/0x4a0()
Calling initcall 0xc051a910: rand_initialize+0x0/0x30()
initcall 0xc051a910: rand_initialize+0x0/0x30() returned 0.
initcall 0xc051a910 ran for 0 msecs: rand_initialize+0x0/0x30()
Calling initcall 0xc051a940: tty_init+0x0/0x1f0()
initcall 0xc051a940: tty_init+0x0/0x1f0() returned 0.
initcall 0xc051a940 ran for 27 msecs: tty_init+0x0/0x1f0()
Calling initcall 0xc051ab90: pty_init+0x0/0x420()
khelper used greatest stack depth: 6920 bytes left
khelper used greatest stack depth: 6804 bytes left
initcall 0xc051ab90: pty_init+0x0/0x420() returned 0.
initcall 0xc051ab90 ran for 244 msecs: pty_init+0x0/0x420()
Calling initcall 0xc051b610: rtc_init+0x0/0x1b0()
Real Time Clock Driver v1.12ac
initcall 0xc051b610: rtc_init+0x0/0x1b0() returned 0.
initcall 0xc051b610 ran for 0 msecs: rtc_init+0x0/0x1b0()
Calling initcall 0xc051b7c0: agp_init+0x0/0x30()
Linux agpgart interface v0.102
initcall 0xc051b7c0: agp_init+0x0/0x30() returned 0.
initcall 0xc051b7c0 ran for 0 msecs: agp_init+0x0/0x30()
Calling initcall 0xc051b850: agp_intel_init+0x0/0x40()
agpgart: suspend/resume problematic: resume with 3D/DRI active may lockup X.Org
on some chipset/BIOS combos (see DEBUG_AGP_PM in intel-agp.c)
agpgart: Detected an Intel 440BX Chipset.
agpgart: AGP aperture is 64M @ 0xf8000000
initcall 0xc051b850: agp_intel_init+0x0/0x40() returned 0.
initcall 0xc051b850 ran for 5 msecs: agp_intel_init+0x0/0x40()
Calling initcall 0xc051b890: cn_proc_init+0x0/0x40()
initcall 0xc051b890: cn_proc_init+0x0/0x40() returned 0.
initcall 0xc051b890 ran for 0 msecs: cn_proc_init+0x0/0x40()
Calling initcall 0xc051ba80: serial8250_init+0x0/0x130()
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
serial8250: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
initcall 0xc051ba80: serial8250_init+0x0/0x130() returned 0.
initcall 0xc051ba80 ran for 3 msecs: serial8250_init+0x0/0x130()
Calling initcall 0xc051bbb0: serial8250_pnp_init+0x0/0x10()
pnp: the driver 'serial' has been registered
pnp: match found with the PnP device '00:0b' and the driver 'serial'
00:0b: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
pnp: match found with the PnP device '00:0c' and the driver 'serial'
00:0c: ttyS1 at I/O 0x2f8 (irq = 3) is a 16550A
initcall 0xc051bbb0: serial8250_pnp_init+0x0/0x10() returned 0.
initcall 0xc051bbb0 ran for 3 msecs: serial8250_pnp_init+0x0/0x10()
Calling initcall 0xc051bbc0: serial8250_pci_init+0x0/0x20()
initcall 0xc051bbc0: serial8250_pci_init+0x0/0x20() returned 0.
initcall 0xc051bbc0 ran for 0 msecs: serial8250_pci_init+0x0/0x20()
Calling initcall 0xc051bd40: isa_bus_init+0x0/0x40()
initcall 0xc051bd40: isa_bus_init+0x0/0x40() returned 0.
initcall 0xc051bd40 ran for 0 msecs: isa_bus_init+0x0/0x40()
Calling initcall 0xc02d93e0: topology_sysfs_init+0x0/0x50()
initcall 0xc02d93e0: topology_sysfs_init+0x0/0x50() returned 0.
initcall 0xc02d93e0 ran for 0 msecs: topology_sysfs_init+0x0/0x50()
Calling initcall 0xc051c0e0: floppy_init+0x0/0xf10()
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
initcall 0xc051c0e0: floppy_init+0x0/0xf10() returned 0.
initcall 0xc051c0e0 ran for 19 msecs: floppy_init+0x0/0xf10()
Calling initcall 0xc051d040: rd_init+0x0/0x1e0()
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
initcall 0xc051d040: rd_init+0x0/0x1e0() returned 0.
initcall 0xc051d040 ran for 7 msecs: rd_init+0x0/0x1e0()
Calling initcall 0xc051d240: loop_init+0x0/0x180()
loop: module loaded
initcall 0xc051d240: loop_init+0x0/0x180() returned 0.
initcall 0xc051d240 ran for 3 msecs: loop_init+0x0/0x180()
Calling initcall 0xc051d3c0: e100_init_module+0x0/0x60()
e100: Intel(R) PRO/100 Network Driver, 3.5.23-k4-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
e100: eth0: e100_probe: addr 0xfc5ff000, irq 11, MAC addr 00:90:27:70:14:CD
initcall 0xc051d3c0: e100_init_module+0x0/0x60() returned 0.
initcall 0xc051d3c0 ran for 22 msecs: e100_init_module+0x0/0x60()
Calling initcall 0xc051d490: net_olddevs_init+0x0/0x90()
initcall 0xc051d490: net_olddevs_init+0x0/0x90() returned 0.
initcall 0xc051d490 ran for 0 msecs: net_olddevs_init+0x0/0x90()
Calling initcall 0xc051d520: loopback_init+0x0/0x30()
initcall 0xc051d520: loopback_init+0x0/0x30() returned 0.
initcall 0xc051d520 ran for 0 msecs: loopback_init+0x0/0x30()
Calling initcall 0xc051d550: dummy_init_module+0x0/0xd0()
initcall 0xc051d550: dummy_init_module+0x0/0xd0() returned 0.
initcall 0xc051d550 ran for 0 msecs: dummy_init_module+0x0/0xd0()
Calling initcall 0xc051d620: rtl8169_init_module+0x0/0x20()
initcall 0xc051d620: rtl8169_init_module+0x0/0x20() returned 0.
initcall 0xc051d620 ran for 0 msecs: rtl8169_init_module+0x0/0x20()
Calling initcall 0xc051d660: init_netconsole+0x0/0x1d0()
netconsole: local port 4444
netconsole: local IP 192.168.2.36
netconsole: interface eth0
netconsole: remote port 5140
netconsole: remote IP 192.168.2.33
netconsole: remote ethernet address 00:0d:56:c6:c6:cc
netconsole: device eth0 not up yet, forcing it
WARNING: at include/linux/netdevice.h:331 napi_enable()
 [<c0103bfa>] show_trace_log_lvl+0x1a/0x30
 [<c0104822>] show_trace+0x12/0x20
 [<c0104846>] dump_stack+0x16/0x20
 [<c02e3989>] e100_up+0x159/0x160
 [<c02e39ae>] e100_open+0x1e/0x60
 [<c0354bb8>] dev_open+0x38/0x80
 [<c03605eb>] netpoll_setup+0x15b/0x390
 [<c051d754>] init_netconsole+0xf4/0x1d0
 [<c05045f2>] kernel_init+0x142/0x320
 [<c0103807>] kernel_thread_helper+0x7/0x10
 =======================
e100: eth0: e100_watchdog: link up, 100Mbps, full-duplex
netconsole: carrier detect appears untrustworthy, waiting 4 seconds
console [netcon0] enabled
netconsole: network logging started
initcall 0xc051d660: init_netconsole+0x0/0x1d0() returned 0.
initcall 0xc051d660 ran for 3968 msecs: init_netconsole+0x0/0x1d0()
Calling initcall 0xc051d830: piix_ide_init+0x0/0xb0()
initcall 0xc051d830: piix_ide_init+0x0/0xb0() returned 0.
initcall 0xc051d830 ran for 0 msecs: piix_ide_init+0x0/0xb0()
Calling initcall 0xc051d8e0: generic_ide_init+0x0/0x20()
initcall 0xc051d8e0: generic_ide_init+0x0/0x20() returned 0.
initcall 0xc051d8e0 ran for 0 msecs: generic_ide_init+0x0/0x20()
Calling initcall 0xc051d9a0: ide_init+0x0/0x70()
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xffa0-0xffa7, BIOS settings: hda:pio, hdb:pio
    ide1: BM-DMA at 0xffa8-0xffaf, BIOS settings: hdc:DMA, hdd:pio
Probing IDE interface ide0...
Probing IDE interface ide1...
hdc: MAXTOR 6L080J4, ATA DISK drive
hdc: host max PIO4 wanted PIO255(auto-tune) selected PIO4
hdc: selected mode 0x42
ide1 at 0x170-0x177,0x376 on irq 15
initcall 0xc051d9a0: ide_init+0x0/0x70() returned 0.
initcall 0xc051d9a0 ran for 1465 msecs: ide_init+0x0/0x70()
Calling initcall 0xc051e1a0: ide_generic_init+0x0/0x10()
Probing IDE interface ide0...
initcall 0xc051e1a0: ide_generic_init+0x0/0x10() returned 0.
initcall 0xc051e1a0 ran for 546 msecs: ide_generic_init+0x0/0x10()
Calling initcall 0xc051e1b0: idedisk_init+0x0/0x10()
hdc: max request size: 128KiB
hdc: 156355584 sectors (80054 MB) w/1819KiB Cache, CHS=65535/16/63, UDMA(33)
hdc: cache flushes supported
 hdc: hdc1 hdc2 hdc3 hdc4 < hdc5 hdc6 >
initcall 0xc051e1b0: idedisk_init+0x0/0x10() returned 0.
initcall 0xc051e1b0 ran for 36 msecs: idedisk_init+0x0/0x10()
Calling initcall 0xc051e1c0: ide_cdrom_init+0x0/0x10()
initcall 0xc051e1c0: ide_cdrom_init+0x0/0x10() returned 0.
initcall 0xc051e1c0 ran for 0 msecs: ide_cdrom_init+0x0/0x10()
Calling initcall 0xc051e1d0: idetape_init+0x0/0x90()
initcall 0xc051e1d0: idetape_init+0x0/0x90() returned 0.
initcall 0xc051e1d0 ran for 0 msecs: idetape_init+0x0/0x90()
Calling initcall 0xc051e260: idefloppy_init+0x0/0x20()
ide-floppy driver 0.99.newide
initcall 0xc051e260: idefloppy_init+0x0/0x20() returned 0.
initcall 0xc051e260 ran for 0 msecs: idefloppy_init+0x0/0x20()
Calling initcall 0xc051e530: spi_transport_init+0x0/0x30()
initcall 0xc051e530: spi_transport_init+0x0/0x30() returned 0.
initcall 0xc051e530 ran for 0 msecs: spi_transport_init+0x0/0x30()
Calling initcall 0xc051e560: fc_transport_init+0x0/0x50()
initcall 0xc051e560: fc_transport_init+0x0/0x50() returned 0.
initcall 0xc051e560 ran for 1 msecs: fc_transport_init+0x0/0x50()
Calling initcall 0xc051e5b0: init_sd+0x0/0x90()
initcall 0xc051e5b0: init_sd+0x0/0x90() returned 0.
initcall 0xc051e5b0 ran for 1 msecs: init_sd+0x0/0x90()
Calling initcall 0xc051e640: init_sr+0x0/0x50()
initcall 0xc051e640: init_sr+0x0/0x50() returned 0.
initcall 0xc051e640 ran for 0 msecs: init_sr+0x0/0x50()
Calling initcall 0xc051e690: init_sg+0x0/0x150()
initcall 0xc051e690: init_sg+0x0/0x150() returned 0.
initcall 0xc051e690 ran for 0 msecs: init_sg+0x0/0x150()
Calling initcall 0xc051e7e0: cdrom_init+0x0/0x10()
initcall 0xc051e7e0: cdrom_init+0x0/0x10() returned 0.
initcall 0xc051e7e0 ran for 0 msecs: cdrom_init+0x0/0x10()
Calling initcall 0xc051e890: i8042_init+0x0/0x3f0()
pnp: the driver 'i8042 kbd' has been registered
pnp: match found with the PnP device '00:05' and the driver 'i8042 kbd'
pnp: the driver 'i8042 aux' has been registered
PNP: PS/2 Controller [PNP0303] at 0x60,0x64 irq 1
PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
serio: i8042 KBD port at 0x60,0x64 irq 1
initcall 0xc051e890: i8042_init+0x0/0x3f0() returned 0.
initcall 0xc051e890 ran for 2 msecs: i8042_init+0x0/0x3f0()
Calling initcall 0xc051ec80: serport_init+0x0/0x30()
initcall 0xc051ec80: serport_init+0x0/0x30() returned 0.
initcall 0xc051ec80 ran for 0 msecs: serport_init+0x0/0x30()
Calling initcall 0xc051ee60: mousedev_init+0x0/0x90()
mice: PS/2 mouse device common for all mice
initcall 0xc051ee60: mousedev_init+0x0/0x90() returned 0.
initcall 0xc051ee60 ran for 1 msecs: mousedev_init+0x0/0x90()
Calling initcall 0xc051eef0: atkbd_init+0x0/0x20()
initcall 0xc051eef0: atkbd_init+0x0/0x20() returned 0.
initcall 0xc051eef0 ran for 0 msecs: atkbd_init+0x0/0x20()
Calling initcall 0xc051ef10: psmouse_init+0x0/0x60()
input: AT Translated Set 2 keyboard as /class/input/input0
initcall 0xc051ef10: psmouse_init+0x0/0x60() returned 0.
initcall 0xc051ef10 ran for 36 msecs: psmouse_init+0x0/0x60()
Calling initcall 0xc051ef70: edac_init+0x0/0xb0()
EDAC MC: Ver: 2.1.0 Aug 21 2007
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_pci_dev_parity_clear()
EDAC DEBUG: edac_sysfs_setup_mc_kset()
EDAC DEBUG: edac_sysfs_setup_mc_kset() Registered '.../edac/mc' kobject
initcall 0xc051ef70: edac_init+0x0/0xb0() returned 0.
initcall 0xc051ef70 ran for 1 msecs: edac_init+0x0/0xb0()
Calling initcall 0xc051f020: amd76x_init+0x0/0x20()
initcall 0xc051f020: amd76x_init+0x0/0x20() returned 0.
initcall 0xc051f020 ran for 0 msecs: amd76x_init+0x0/0x20()
Calling initcall 0xc051f040: e7xxx_init+0x0/0x20()
initcall 0xc051f040: e7xxx_init+0x0/0x20() returned 0.
initcall 0xc051f040 ran for 0 msecs: e7xxx_init+0x0/0x20()
Calling initcall 0xc051f060: e752x_init+0x0/0x40()
initcall 0xc051f060: e752x_init+0x0/0x40() returned 0.
initcall 0xc051f060 ran for 0 msecs: e752x_init+0x0/0x40()
Calling initcall 0xc051f0a0: i82875p_init+0x0/0xf0()
EDAC DEBUG: 875p pci_get_device fail
initcall 0xc051f0a0: i82875p_init+0x0/0xf0() returned -19.
initcall 0xc051f0a0 ran for 0 msecs: i82875p_init+0x0/0xf0()
Calling initcall 0xc051f190: i82860_init+0x0/0xf0()
EDAC DEBUG: 860 pci_get_device fail
initcall 0xc051f190: i82860_init+0x0/0xf0() returned -19.
initcall 0xc051f190 ran for 0 msecs: i82860_init+0x0/0xf0()
Calling initcall 0xc051f280: r82600_init+0x0/0x20()
initcall 0xc051f280: r82600_init+0x0/0x20() returned 0.
initcall 0xc051f280 ran for 0 msecs: r82600_init+0x0/0x20()
Calling initcall 0xc051faa0: pci_eisa_init_module+0x0/0x20()
initcall 0xc051faa0: pci_eisa_init_module+0x0/0x20() returned 0.
initcall 0xc051faa0 ran for 0 msecs: pci_eisa_init_module+0x0/0x20()
Calling initcall 0xc051fac0: virtual_eisa_root_init+0x0/0x60()
EISA: Probing bus 0 at eisa.0
initcall 0xc051fac0: virtual_eisa_root_init+0x0/0x60() returned -1.
initcall 0xc051fac0 ran for 1 msecs: virtual_eisa_root_init+0x0/0x60()
initcall at 0xc051fac0: virtual_eisa_root_init+0x0/0x60(): returned with error code -1
Calling initcall 0xc051fbc0: cpufreq_stats_init+0x0/0xb0()
initcall 0xc051fbc0: cpufreq_stats_init+0x0/0xb0() returned 0.
initcall 0xc051fbc0 ran for 0 msecs: cpufreq_stats_init+0x0/0xb0()
Calling initcall 0xc05208f0: hid_init+0x0/0x10()
initcall 0xc05208f0: hid_init+0x0/0x10() returned 0.
initcall 0xc05208f0 ran for 0 msecs: hid_init+0x0/0x10()
Calling initcall 0xc0522350: flow_cache_init+0x0/0x180()
initcall 0xc0522350: flow_cache_init+0x0/0x180() returned 0.
initcall 0xc0522350 ran for 0 msecs: flow_cache_init+0x0/0x180()
Calling initcall 0xc0522510: llc_init+0x0/0x70()
initcall 0xc0522510: llc_init+0x0/0x70() returned 0.
initcall 0xc0522510 ran for 0 msecs: llc_init+0x0/0x70()
Calling initcall 0xc0522580: snap_init+0x0/0x40()
initcall 0xc0522580: snap_init+0x0/0x40() returned 0.
initcall 0xc0522580 ran for 0 msecs: snap_init+0x0/0x40()
Calling initcall 0xc0523810: xfrm4_beet_init+0x0/0x20()
initcall 0xc0523810: xfrm4_beet_init+0x0/0x20() returned 0.
initcall 0xc0523810 ran for 0 msecs: xfrm4_beet_init+0x0/0x20()
Calling initcall 0xc0523830: xfrm4_transport_init+0x0/0x20()
initcall 0xc0523830: xfrm4_transport_init+0x0/0x20() returned 0.
initcall 0xc0523830 ran for 0 msecs: xfrm4_transport_init+0x0/0x20()
Calling initcall 0xc0523850: xfrm4_tunnel_init+0x0/0x20()
initcall 0xc0523850: xfrm4_tunnel_init+0x0/0x20() returned 0.
initcall 0xc0523850 ran for 0 msecs: xfrm4_tunnel_init+0x0/0x20()
Calling initcall 0xc0523870: inet_diag_init+0x0/0x70()
initcall 0xc0523870: inet_diag_init+0x0/0x70() returned 0.
initcall 0xc0523870 ran for 0 msecs: inet_diag_init+0x0/0x70()
Calling initcall 0xc05238e0: tcp_diag_init+0x0/0x10()
initcall 0xc05238e0: tcp_diag_init+0x0/0x10() returned 0.
initcall 0xc05238e0 ran for 0 msecs: tcp_diag_init+0x0/0x10()
Calling initcall 0xc05238f0: cubictcp_register+0x0/0xb0()
TCP cubic registered
initcall 0xc05238f0: cubictcp_register+0x0/0xb0() returned 0.
initcall 0xc05238f0 ran for 0 msecs: cubictcp_register+0x0/0xb0()
Calling initcall 0xc0523b70: af_unix_init+0x0/0x80()
NET: Registered protocol family 1
initcall 0xc0523b70: af_unix_init+0x0/0x80() returned 0.
initcall 0xc0523b70 ran for 0 msecs: af_unix_init+0x0/0x80()
Calling initcall 0xc0523bf0: packet_init+0x0/0x60()
NET: Registered protocol family 17
initcall 0xc0523bf0: packet_init+0x0/0x60() returned 0.
initcall 0xc0523bf0 ran for 0 msecs: packet_init+0x0/0x60()
Calling initcall 0xc0523c50: ipsec_pfkey_init+0x0/0x90()
NET: Registered protocol family 15
initcall 0xc0523c50: ipsec_pfkey_init+0x0/0x90() returned 0.
initcall 0xc0523c50 ran for 0 msecs: ipsec_pfkey_init+0x0/0x90()
Calling initcall 0xc0523ce0: br_init+0x0/0xb0()
initcall 0xc0523ce0: br_init+0x0/0xb0() returned 0.
initcall 0xc0523ce0 ran for 0 msecs: br_init+0x0/0xb0()
Calling initcall 0xc0523e70: init_sunrpc+0x0/0x60()
initcall 0xc0523e70: init_sunrpc+0x0/0x60() returned 0.
initcall 0xc0523e70 ran for 0 msecs: init_sunrpc+0x0/0x60()
Calling initcall 0xc0523ed0: init_rpcsec_gss+0x0/0x40()
initcall 0xc0523ed0: init_rpcsec_gss+0x0/0x40() returned 0.
initcall 0xc0523ed0 ran for 0 msecs: init_rpcsec_gss+0x0/0x40()
Calling initcall 0xc0523f10: init_kerberos_module+0x0/0x29()
initcall 0xc0523f10: init_kerberos_module+0x0/0x29() returned 0.
initcall 0xc0523f10 ran for 0 msecs: init_kerberos_module+0x0/0x29()
Calling initcall 0xc050ec70: check_nmi_watchdog+0x0/0x1e0()
Testing NMI watchdog ... OK.
initcall 0xc050ec70: check_nmi_watchdog+0x0/0x1e0() returned 0.
initcall 0xc050ec70 ran for 75 msecs: check_nmi_watchdog+0x0/0x1e0()
Calling initcall 0xc050ec00: init_lapic_nmi_sysfs+0x0/0x40()
initcall 0xc050ec00: init_lapic_nmi_sysfs+0x0/0x40() returned 0.
initcall 0xc050ec00 ran for 0 msecs: init_lapic_nmi_sysfs+0x0/0x40()
Calling initcall 0xc0510690: balanced_irq_init+0x0/0x1e0()
Starting balanced_irq
initcall 0xc0510690: balanced_irq_init+0x0/0x1e0() returned 0.
initcall 0xc0510690 ran for 0 msecs: balanced_irq_init+0x0/0x1e0()
Calling initcall 0xc050efc0: io_apic_bug_finalize+0x0/0x20()
initcall 0xc050efc0: io_apic_bug_finalize+0x0/0x20() returned 0.
initcall 0xc050efc0 ran for 0 msecs: io_apic_bug_finalize+0x0/0x20()
Calling initcall 0xc0511760: print_ipi_mode+0x0/0x30()
Using IPI No-Shortcut mode
initcall 0xc0511760: print_ipi_mode+0x0/0x30() returned 0.
initcall 0xc0511760 ran for 0 msecs: print_ipi_mode+0x0/0x30()
Calling initcall 0xc0512310: disable_boot_consoles+0x0/0x50()
initcall 0xc0512310: disable_boot_consoles+0x0/0x50() returned 0.
initcall 0xc0512310 ran for 0 msecs: disable_boot_consoles+0x0/0x50()
Calling initcall 0xc0513ab0: taskstats_init+0x0/0x60()
initcall 0xc0513ab0: taskstats_init+0x0/0x60() returned 0.
initcall 0xc0513ab0 ran for 0 msecs: taskstats_init+0x0/0x60()
Calling initcall 0xc0518630: random32_reseed+0x0/0x60()
initcall 0xc0518630: random32_reseed+0x0/0x60() returned 0.
initcall 0xc0518630 ran for 0 msecs: random32_reseed+0x0/0x60()
Calling initcall 0xc0518e20: pci_sysfs_init+0x0/0x50()
initcall 0xc0518e20: pci_sysfs_init+0x0/0x50() returned 0.
initcall 0xc0518e20 ran for 0 msecs: pci_sysfs_init+0x0/0x50()
Calling initcall 0xc051a900: seqgen_init+0x0/0x10()
initcall 0xc051a900: seqgen_init+0x0/0x10() returned 0.
initcall 0xc051a900 ran for 0 msecs: seqgen_init+0x0/0x10()
Calling initcall 0xc030ad00: scsi_complete_async_scans+0x0/0x100()
initcall 0xc030ad00: scsi_complete_async_scans+0x0/0x100() returned 0.
initcall 0xc030ad00 ran for 0 msecs: scsi_complete_async_scans+0x0/0x100()
Calling initcall 0xc05203e0: edd_init+0x0/0x280()
BIOS EDD facility v0.16 2004-Jun-25, 6 devices found
initcall 0xc05203e0: edd_init+0x0/0x280() returned 0.
initcall 0xc05203e0 ran for 2 msecs: edd_init+0x0/0x280()
Calling initcall 0xc0522f30: tcp_congestion_default+0x0/0x10()
initcall 0xc0522f30: tcp_congestion_default+0x0/0x10() returned 0.
initcall 0xc0522f30 ran for 0 msecs: tcp_congestion_default+0x0/0x10()
RAMDISK: Compressed image found at block 0
RAMDISK: incomplete write (-28 != 32768) 4194304
EXT3-fs: INFO: recovery required on readonly filesystem.
EXT3-fs: write access will be enabled during recovery.
(fs/jbd/recovery.c, 255): journal_recover: JBD: recovery, exit status 0, recovered transactions 102287 to 102300
(fs/jbd/recovery.c, 257): journal_recover: JBD: Replayed 1011 and revoked 0/34 blocks
kjournald starting.  Commit interval 5 seconds
EXT3-fs: recovery complete.
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 296k freed
Write protecting the kernel read-only data: 976k
hostname used greatest stack depth: 6580 bytes left
uname used greatest stack depth: 6472 bytes left
mount used greatest stack depth: 5792 bytes left
hotplug used greatest stack depth: 5664 bytes left
hotplug used greatest stack depth: 5508 bytes left
EXT3 FS on hdc2, internal journal
Adding 1020116k swap on /dev/hdc3.  Priority:-1 extents:1 across:1020116k
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hdc1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
process `syslogd' is using obsolete setsockopt SO_BSDCOMPAT
BUG: unable to handle kernel NULL pointer dereference at virtual address 000002b0
 printing eip:
c0355075
*pde = 00000000
Oops: 0000 [#1]
SMP 
Modules linked in:
CPU:    0
EIP:    0060:[<c0355075>]    Not tainted VLI
EFLAGS: 00010246   (2.6.23-rc3 #3)
EIP is at net_rx_action+0x75/0x170
eax: 00000000   ebx: c1b6d298   ecx: 00000004   edx: 00000001
esi: 0000012c   edi: c054ada0   ebp: f5c1bb8c   esp: f5c1bb6c
ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Process rpc.statd (pid: 1958, ti=f5c1a000 task=f6bf0f60 task.ti=f5c1a000)
Stack: f5c1bb78 fffef555 f5c1bb84 c1b6d298 c1b6d298 00000001 c04f5f58 c054ada0 
       f5c1bba8 c01263c7 0000000a 00000000 00000046 c04e3760 00000000 f5c1bbb4 
       c0126497 00000202 f5c1bbd0 c01266f5 00000246 c04e3760 c04e38e0 c04e3760 
Call Trace:
 [<c0103bfa>] show_trace_log_lvl+0x1a/0x30
 [<c0103cb9>] show_stack_log_lvl+0xa9/0xd0
 [<c0103ec9>] show_registers+0x1e9/0x2f0
 [<c01040e1>] die+0x111/0x260
 [<c0115cdc>] do_page_fault+0x18c/0x6a0
 [<c03d203a>] error_code+0x72/0x78
 [<c01263c7>] __do_softirq+0x87/0x100
 [<c0126497>] do_softirq+0x57/0x60
 [<c01266f5>] local_bh_enable+0xb5/0x150
 [<c0355748>] dev_queue_xmit+0xa8/0x330
 [<c035b11f>] neigh_resolve_output+0xcf/0x250
 [<c036fc53>] ip_output+0x1d3/0x2c0
 [<c036e4ff>] ip_push_pending_frames+0x25f/0x400
 [<c038b643>] udp_push_pending_frames+0x153/0x340
 [<c038c8c4>] udp_sendmsg+0x324/0x780
 [<c0392b44>] inet_sendmsg+0x34/0x60
 [<c0347d55>] sock_sendmsg+0xc5/0xf0
 [<c034870f>] sys_sendto+0xbf/0xe0
 [<c0349050>] sys_socketcall+0x1b0/0x280
 [<c0102b52>] sysenter_past_esp+0x5f/0x99
 =======================
Code: e8 21 9d de ff fb 8b 5d ec 39 5d e0 0f 84 8f 00 00 00 85 f6 0f 8e ac 00 00 00 a1 40 60 4f c0 39 45 e4 0f 85 9e 00 00 00 8b 43 38 <8b> 80 b0 02 00 00 85 c0 74 74 8d 43 18 89 df e8 e7 c8 07 00 64 
EIP: [<c0355075>] net_rx_action+0x75/0x170 SS:ESP 0068:f5c1bb6c
Kernel panic - not syncing: Fatal exception in interrupt


^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox