[Macchiato] [EXT] Network driver crash

Steve McIntyre steve at einval.com
Sun Mar 4 03:22:21 GMT 2018


Hi Stefan,

On Sat, Mar 03, 2018 at 08:12:19PM +0000, Stefan Chulski wrote:
>> 
>> It's clearly in the TX code rather than the RX code. Looking at the driver,
>> there's a set of per-cpu transmit queues and that warning about "wrong cpu"
>> looks quite worrying.

On an idle, just-booted system:

>Could you please send me output of
>cat /proc/interrupts

steve at mjolnir:~$ cat /proc/interrupts 
           CPU0       CPU1       CPU2       CPU3       
  1:          0          0          0          0     GICv2  25 Level     vgic
  3:       4148       3364       2992       2949     GICv2  30 Level     arch_timer
  4:          0          0          0          0     GICv2  27 Level     kvm guest timer
  7:        536       1027          0          0     GICv2  51 Level     ttyS0
  9:          0          0          0          0     GICv2  95 Level     ahci[f2540000.sata]
 10:         48     806328          0          0     GICv2  94 Level     xhci-hcd:usb1
 11:          0          0          0          0     GICv2  93 Level     xhci-hcd:usb3
 12:          0          0          0          0     GICv2 118 Level     mv64xxx_i2c
 13:          0          0          0          0     GICv2 119 Level     mv64xxx_i2c
 14:          0          0          0          0     GICv2  91 Level     f2760000.trng
 22:          0          0          0          0     GICv2  64 Level     armada8k-pcie, PCIe PME, aerdrv
 24:       3045          0       2465          0     GICv2 319 Level     ahci[f4540000.sata]
 26:          0          0          0          0     GICv2 344 Level     f4760000.trng
 27:          0          0          0          0      pMSI   0 Edge      f0400000.xor
 28:          0          0          0          0      pMSI 2048 Edge      f0420000.xor
 29:          0          0          0          0      pMSI 4096 Edge      f0440000.xor
 30:          0          0          0          0      pMSI 6144 Edge      f0460000.xor
 31:          0          0          0          0      pMSI 8192 Edge      f26a0000.xor
 32:          0          0          0          0      pMSI 10240 Edge      f26c0000.xor
 33:          0          0          0          0      pMSI 12288 Edge      f46a0000.xor
 34:          0          0          0          0      pMSI 14336 Edge      f46c0000.xor
 35:          0          0          0          0  f03f0100.interrupt-controller  17 Level     arm-pmu
 70:          0          0          0          0     GICv2 294 Level     eth2
 71:          0          0          0          0       MSI 524288 Edge      nvkm
IPI0:      1564       1754       1721       1879       Rescheduling interrupts
IPI1:      1065        735       1252       1831       Function call interrupts
IPI2:         0          0          0          0       CPU stop interrupts
IPI3:         0          0          0          0       CPU stop (for crash dump) interrupts
IPI4:         0          0          0          0       Timer broadcast interrupts
IPI5:         0          0          0          0       IRQ work interrupts
IPI6:         0          0          0          0       CPU wake-up interrupts
Err:          0

After some testing, I just see the "CPU3" column incrementing for eth2.

>And cat irq affinity for each eth2  interrupt.

The only eth2 interrupt I can see is 70.

steve at mjolnir:/proc/irq/70$ ls -l
total 0
-r--r--r-- 1 root root 0 Mar  4 03:08 affinity_hint
-r--r--r-- 1 root root 0 Mar  4 03:08 effective_affinity
-r--r--r-- 1 root root 0 Mar  4 03:08 effective_affinity_list
dr-xr-xr-x 2 root root 0 Mar  4 03:08 eth2
-r--r--r-- 1 root root 0 Mar  4 03:08 node
-rw-r--r-- 1 root root 0 Mar  4 03:08 smp_affinity
-rw-r--r-- 1 root root 0 Mar  4 03:08 smp_affinity_list
-r--r--r-- 1 root root 0 Mar  4 03:08 spurious
steve at mjolnir:/proc/irq/70$ for file in *; do ls -ld $file; cat $file; done
-r--r--r-- 1 root root 0 Mar  4 03:08 affinity_hint
0
-r--r--r-- 1 root root 0 Mar  4 03:08 effective_affinity
8
-r--r--r-- 1 root root 0 Mar  4 03:08 effective_affinity_list
3
dr-xr-xr-x 2 root root 0 Mar  4 03:08 eth2
cat: eth2: Is a directory
-r--r--r-- 1 root root 0 Mar  4 03:08 node
0
-rw-r--r-- 1 root root 0 Mar  4 03:08 smp_affinity
8
-rw-r--r-- 1 root root 0 Mar  4 03:08 smp_affinity_list
3
-r--r--r-- 1 root root 0 Mar  4 03:08 spurious
count 0
unhandled 0
last_unhandled 0 ms

Hope these help!

-- 
Steve McIntyre, Cambridge, UK.                                steve at einval.com
"Managing a volunteer open source project is a lot like herding
 kittens, except the kittens randomly appear and disappear because they
 have day jobs." -- Matt Mackall




More information about the Macchiato mailing list