Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Mar 2019 20:16:44 -0700
From:      Rebecca Cran <rebecca@bluestop.org>
To:        freebsd-stable@freebsd.org
Subject:   EHCI interrupt storm (~24000 per second) on 12.0 (Lynx Point chipset)
Message-ID:  <af8240ea-fed9-e030-0e3f-6c82c337fcf8@bluestop.org>

next in thread | raw e-mail | index | archive | help
I have an Intel Server board (it's a UEFI Development Kit system, based 
on the S1200V3RPS) that I recently upgraded to 12.0-RELEASE, and today 
noticed the intr task taking up too much CPU time. I can't say whether 
this is a regression from 11.x or not.

Looking at the output of "vmstat -i" there appears to be an interrupt storm:

bcran@muon:~ % vmstat -i
interrupt                          total       rate
irq4: uart0                          248          4
irq16: ehci0                         147          2
irq23: ehci1                     1689451      24000
cpu0:timer                          6398         91
cpu1:timer                          3696         53
cpu2:timer                          2246         32
cpu3:timer                          2386         34
cpu4:timer                          3152         45
cpu5:timer                          2341         33
cpu6:timer                         75101       1067
cpu7:timer                          1646         23
irq265: igb0:rxq0                    118          2
irq266: igb0:rxq1                    133          2
irq267: igb0:rxq2                     17          0
irq268: igb0:rxq3                    259          4
irq269: igb0:aq                        2          0
irq270: igb1:rxq0                      2          0
irq275: ahci0                      17450        248
Total                            1804793      25639


This is after I tried setting hw.usb.ehci.lostintrbug=1 in /boot/loader 
and rebooting.


The USB devices connected are:

bcran@muon:~ % sudo usbconfig
ugen1.1: <Intel EHCI root HUB> at usbus1, cfg=0 md=HOST spd=HIGH 
(480Mbps) pwr=SAVE (0mA)
ugen0.1: <Intel EHCI root HUB> at usbus0, cfg=0 md=HOST spd=HIGH 
(480Mbps) pwr=SAVE (0mA)
ugen1.2: <vendor 0x8087 product 0x8000> at usbus1, cfg=0 md=HOST 
spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen0.2: <vendor 0x8087 product 0x8008> at usbus0, cfg=0 md=HOST 
spd=HIGH (480Mbps) pwr=SAVE (0mA)
ugen1.3: <American Power Conversion Back-UPS XS 1300G FW:864.L9 .D USB 
FW:L9> at usbus1, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (2mA)


dmesg shows it being a Lynx Point USB controller:

ehci1: <Intel Lynx Point USB 2.0 controller USB-A> mem 
0xc2b29000-0xc2b293ff at device 29.0 on pci0
usbus1: EHCI version 1.0
usbus1 on ehci1

usbus1: 480Mbps High Speed USB v2.0


Strangely, em0 is failing to attach, but I guess that's unrelated?

em0: <Intel(R) PRO/1000 Network Connection> port 0x5040-0x505f mem 
0xc2b00000-0xc2b1ffff,0xc2b2b000-0xc2b2bfff at device 25.0 on pci0
em0: attach_pre capping queues at 1
em0: Setup of Shared code failed, error -2
em0: IFDI_ATTACH_PRE failed 6
device_attach: em0 attach returned 6


-- 

Rebecca Cran




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?af8240ea-fed9-e030-0e3f-6c82c337fcf8>