Comment 10 for bug 1931001

Revision history for this message
paul janssen (pauluswaulus) wrote : Re: kernel: watchdog: BUG: soft lockup - CPU#3 stuck for 22s!

Possible work around (not a fix), blacklist module i2c_i801. It works for me ...

Since I noticed a high amount of CPU time spent in interrupt handling I looked at /proc/interrupts (right after the slow boot and slow login):
$ cat /proc/interrupts
            CPU0 CPU1
   0: 9 0 IR-IO-APIC 2-edge timer
   1: 0 249 IR-IO-APIC 1-edge i8042
   8: 1 0 IR-IO-APIC 8-fasteoi rtc0
   9: 0 1017 IR-IO-APIC 9-fasteoi acpi
  14: 0 591 IR-IO-APIC 14-fasteoi INT3453:00, INT3453:01, INT3453:03
  15: 0 0 IR-IO-APIC 15-fasteoi INT3453:02
  20: 190734634 0 IR-IO-APIC 20-fasteoi i801_smbus
  31: 8350 0 IR-IO-APIC 31-fasteoi idma64.0, i2c_designware.0
  39: 0 84628 IR-IO-APIC 39-fasteoi mmc0
 120: 0 0 DMAR-MSI 0-edge dmar0
 121: 0 0 DMAR-MSI 1-edge dmar1
 122: 0 0 IR-PCI-MSI 311296-edge PCIe PME
 123: 0 0 IR-PCI-MSI 315392-edge PCIe PME
 124: 0 0 IR-PCI-MSI 317440-edge PCIe PME
 125: 0 0 IR-PCI-MSI 294912-edge ahci[0000:00:12.0]
 126: 0 3 IR-PCI-MSI 1048576-edge rtsx_pci
 127: 4171 0 IR-PCI-MSI 344064-edge xhci_hcd
 128: 0 296 INT3453:00 18 ELAN0503:00
 129: 0 0 IR-PCI-MSI 1050624-edge enp2s0f1
 130: 0 44 IR-PCI-MSI 245760-edge mei_me
 131: 18279 0 IR-PCI-MSI 1572864-edge ath10k_pci
 132: 0 669 IR-PCI-MSI 229376-edge snd_hda_intel:card0
 NMI: 690 49 Non-maskable interrupts
 LOC: 693366 704015 Local timer interrupts
 SPU: 0 0 Spurious interrupts
 PMI: 690 49 Performance monitoring interrupts
 IWI: 31340 91937 IRQ work interrupts
 RTR: 0 0 APIC ICR read retries
 RES: 23071 21772 Rescheduling interrupts
 CAL: 10091 3666 Function call interrupts
 TLB: 2750 4570 TLB shootdowns
 TRM: 0 0 Thermal event interrupts
 THR: 0 0 Threshold APIC interrupts
 DFR: 0 0 Deferred Error APIC interrupts
 MCE: 0 0 Machine check exceptions
 MCP: 10 11 Machine check polls
 ERR: 0
 MIS: 0
 PIN: 0 0 Posted-interrupt notification event
 NPI: 0 0 Nested posted-interrupt event
 PIW: 0 0 Posted-interrupt wakeup event

This lead me to the module i801_smbus which depends on i2c_i801 module (found this out using lsmod).
Following this ~similar~ issue (https://bbs.archlinux.org/viewtopic.php?id=254885) I decided to give blacklisting i2c_i801 a try.

I added "module_blacklist=i2c_i801" to the kernel parameters (via edit action in grub boot menu), and "viola!" the problem was gone.

Note: I do not fully understand the consequences of not having the i2C_i801 and i801_smbus modules.

The ?better? way (not via kernel parameter) to blacklist the module permanently seems to be described here (https://www.thegeekdiary.com/centos-rhel-how-to-disable-and-blacklist-linux-kernel-module-to-prevent-it-from-loading-automatically/)