After Fedora 33 update; kworker/u32:2+events _unbound killing my cpu

Fedora 33 install has machine slowing down to a crawl and hanging.

Had been using Fedora 32 kernel 5.8.13.200 without any issues.
Did a system update to kernel 5.9.10.100.fc2 and had many issues.
Main issue was os would slow to a crawl and become unresponsive.

The culprit seemed to be a process owned by root:
kworker/u32:2+events _unbound
taking up 36% of the cpu.

I started booting back to kernel 5.8.13.200 and all was stable again.

Did a full OS upgrade to 33. Booted into 33 and the same issue persists.
The same process kworker/u32:2+events _unbound now takes up 55% of the cpu and the system remain unresponsive.
I have had to reboot multiple times today with the same issue.
And, it doesn’t really take much time upon bootup for this issue to start happening.
To the point where my system is now unusable.

Any ideas on what this process is and whats causing it take so much of cpu usage?

One observation: It might have started when I entered an invalid keystroke at the terminal?
The terminal freezes cause the whole system freezes.
Not sure about this, but just an observation.

1 Like

IDK if this helps but kworker is kernel worker and you should look up it’s PID in /proc to get info

I can get the pid, but cant do much else since the system is very unresponsive and at a crawl.
Because keystrokes or mouse movements dont exactly register, It takes me minutes to just get the system to power off using the power menu.

I was hoping someone would know what that process does and what activates it to run as hot as it does.

… same issue for me …

Top shows β€œroot 20376 2 3 13:54 ? 00:00:48 [kworker/u8:1-events_unbound]” with heavy load. The system is nearly unusable.

With fedora 32 no such behavior could be observed.

My suspicion falls on the graphics driver nouveau because the problem often appears while viewing movies.
My onbord graphic card is a: 01:00.0 VGA compatible controller: NVIDIA Corporation GT216M [GeForce GT 330M] (rev a2)

with best regards, hu

1 Like

… I’ll try β€œacpi=off” as kernel-parameter in the grub config and wait if the issue repeats anymore …

1 Like

… β€œacpi=off” leads to a boot-process without boot-console and a wrong resolution with wayland / gnome …

In relation to my suspicion that the display card driver nouveau causes the problems, I turned off hyper threading in the BIOS and added β€œpci=biosirq” to the kernel parameters in grub configuration …

The laptop boots fine now again (with boot console and right resolution). The nouveau related interrupts looks like this:
grep nvkm /proc/interrupts
29: 0 (CPU 0) 103958 (CPU1) PCI-MSI 524288-edge nvkm

and not anymore like this before disabling hyper threading in the BIOS:
grep nvkm /proc/interrupts
29: 0 (CPU 0) 0 (CPU1) 1504756 (CPU 2) 0 (CPU 3) PCI-MSI 524288-edge nvkm

… I’ll wait and see what happens … I’ll report here …

… it was a try … no more … but the problem still exists …

I did some performance analyzing with perf while the error situation appears and get the following dump:

Samples: 57K of event 'cycles', Event count (approx.): 39393633680
  Children      Self  Command          Shared Object                             Symbol
+   77,49%     0,00%  kworker/u4:0+ev  [kernel.kallsyms]                         [k] ret_from_fork                       β—†
+   77,49%     0,00%  kworker/u4:0+ev  [kernel.kallsyms]                         [k] kthread                             β–’
+   77,49%     0,00%  kworker/u4:0+ev  [kernel.kallsyms]                         [k] worker_thread                       β–’
+   77,49%     0,00%  kworker/u4:0+ev  [kernel.kallsyms]                         [k] process_one_work                    β–’
+   77,49%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] nv50_disp_atomic_commit_tail        β–’
-   73,26%    73,10%  kworker/u4:0+ev  [kernel.kallsyms]                         [k] ioread32                            β–’
     73,10% ret_from_fork                                                                                                β–’
        kthread                                                                                                          β–’
        worker_thread                                                                                                    β–’
        process_one_work                                                                                                 β–’
      - nv50_disp_atomic_commit_tail                                                                                     β–’
         - 44,75% nv50_wndw_flush_set                                                                                    β–’
            - 29,07% base507c_ntfy_set                                                                                   β–’
               - nv50_dmac_wait                                                                                          β–’
                  - 22,31% nvif_timer_wait_test                                                                          β–’
                       nvif_device_time                                                                                  β–’
                       nvif_object_mthd                                                                                  β–’
                     - nvkm_ioctl                                                                                        β–’
                            - 22,31% nvkm_udevice_mthd                                                                       β–’
                           - nv04_timer_read                                                                             β–’
                                ioread32                                                                                 β–’
                    6,71% ioread32                                                                                       β–’
            - 15,67% base827c_image_set                                                                                  β–’
               - nv50_dmac_wait                                                                                          β–’
                  - 12,13% nvif_timer_wait_test                                                                          β–’
                       nvif_device_time                                                                                  β–’
                       nvif_object_mthd                                                                                  β–’
                     - nvkm_ioctl                                                                                        β–’
                        - 12,13% nvkm_udevice_mthd                                                                       β–’
                           - 12,12% nv04_timer_read                                                                      β–’
                                ioread32                                                                                 β–’
                    3,51% ioread32                                                                                       β–’
         - 15,77% nv50_disp_atomic_commit_wndw                                                                           β–’
              base507c_update                                                                                            β–’
            - nv50_dmac_wait
            - nv50_dmac_wait                                                                                             β–’
               - 12,29% nvif_timer_wait_test                                                                             β–’
                        nvif_device_time                                                                                     β–’
                    nvif_object_mthd                                                                                     β–’
                    nvkm_ioctl                                                                                           β–’
                  - nvkm_udevice_mthd                                                                                    β–’
                     - 12,29% nv04_timer_read                                                                            β–’
                          ioread32                                                                                       β–’
                 3,44% ioread32                                                                                          β–’
         - 12,59% base507c_ntfy_wait_begun                                                                               β–’
            - 8,10% nvif_timer_wait_test                                                                                 β–’
                 nvif_device_time                                                                                        β–’
                 nvif_object_mthd                                                                                        β–’
                 nvkm_ioctl                                                                                              β–’
               - nvkm_udevice_mthd                                                                                       β–’
                  - 8,10% nv04_timer_read                                                                                β–’
                       ioread32                                                                                          β–’
              4,47% ioread32                                                                                             β–’
+   62,36%     0,04%  kworker/u4:0+ev  [nouveau]                                 [k] nv50_dmac_wait                      β–’
+   56,97%     0,04%  kworker/u4:0+ev  [nouveau]                                 [k] nvif_timer_wait_test                β–’
+   56,91%     0,04%  kworker/u4:0+ev  [nouveau]                                 [k] nvif_device_time                    β–’
+   56,87%     0,15%  kworker/u4:0+ev  [nouveau]                                 [k] nvif_object_mthd                    β–’
+   56,24%     0,23%  kworker/u4:0+ev  [nouveau]                                 [k] nvkm_ioctl                          β–’
+   55,49%     0,23%  kworker/u4:0+ev  [nouveau]                                 [k] nvkm_udevice_mthd                   β–’
+   55,20%     0,25%  kworker/u4:0+ev  [nouveau]                                 [k] nv04_timer_read                     β–’
+   46,19%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] nv50_wndw_flush_set                 β–’
+   29,98%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] base507c_ntfy_set                   β–’
+   16,21%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] base827c_image_set                  β–’
+   16,17%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] nv50_disp_atomic_commit_wndw        β–’
+   16,17%     0,00%  kworker/u4:0+ev  [nouveau]                                 [k] base507c_update                     β–’
+   15,13%     0,03%  kworker/u4:0+ev  [nouveau]

It seems, that I’m not so wrong with my assessment. Since I don’t like NVIDA propriatory display drivers, I have to wait for updated nouveau kernel modules … you are welcome with any other suggestions …

This morning (12.12.2020) there was a kernel update in the fedora 33 update repository, so I switched from vmlinuz-5.9.12-200.fc33.x86_64 to 5.9.13-200.fc33.x86_64.
With this update there are many graphic related dependancies (like mesa-dri-drivers-20.2.4-1, mesa-libEGL-20.2.4-1, mesa-libGL-20.2.4-1, mesa-libOSMesa-20.2.4-1, mesa-libOpenCL-20.2.4-1, mesa-libgbm-20.2.4-1, mesa-libglapi-20.2.4-1, mesa-libxatracker-20.2.4-1, mesa-vulkan-drivers-20.2.3-1, …) included. I’ll cross my fingers …

Unfortunately the problem persists.

… I did the same as technog as workaround … downgrade the kernel to a previous well functioning version …

# uptime
11:21:28 up 14:52,  1 user,  load average: 0,69, 1,07, 0,74

# dnf list kernel.x68*
kernel.x86_64                  5.8.15-301.fc33                      @fedora 
kernel.x86_64                  5.9.11-200.fc33                      @updates
kernel.x86_64                  5.9.13-200.fc33                      @updates

# vi /etc/dnf/dnf.conf
[main]
gpgcheck=1
#installonly_limit=3
installonly_limit=0
clean_requirements_on_remove=True
#exclude=bluez*

# dnf -v downgrade kernel
# grubby --set-default /boot/vmlinuz-5.8.15-301.fc33.x86_64
# reboot

# grubby --info /boot/vmlinuz-5.8.15-301.fc33.x86_64
index=2
kernel="/boot/vmlinuz-5.8.15-301.fc33.x86_64"
args="ro vconsole.font=latarcyrheb-sun16 rhgb quiet root=/dev/sda3"
root="/dev/sda3"
initrd="/boot/initramfs-5.8.15-301.fc33.x86_64.img"
title="Fedora (5.8.15-301.fc33.x86_64) 33 (Thirty Three)"
id="9053981f084f4fd9842092076b1fe146-5.8.15-301.fc33.x86_64"

… solved (for me) … as soon as new kernels arrives, I can boot now into the new kernel and try if the problem still exists. Because of β€œinstallonly_limit=0” old kernels never will be removed by dnf and I have always a running fallback, until a new linux kernel will be released which worked fine again with my setup …

Like the previous comments, I was working under a 5.8 kernel. After the kernel was updated to anything 5.9 (or later) it started locking up with kworker events_unbound issues after anywhere from 15 minutes to an hour. And like the others, the only way out was to hit the reset hardware switch on my machine. Booting from the 5.8 kernel works without any issues. I used to run the NVIDIA drivers, but dropped those to try and clear this problem. Still happens without using anything NVIDIA (except the card, of course). Not doing custom builds of kernels. Simply running firefox alone, or virtualbox alone, or even just a terminal session alone with top running in it gives me the same issue of CPU being hogged by the events_unbound process. Sticking with the 5.8 kernel for now.

vmlinuz-5.8.15-301.fc33.x86_64: anything works fine, no kworker issue, no suspend to disk issue (AllowHibernation=no, AllowSuspend=yes)

vmlinuz-5.9.11-200.fc33.x86_64: kworker issue, suspend to disk issue unconfirmed

vmlinuz-5.9.12-200.fc33.x86_64: kworker issue, suspend to disk issue unconfirmed

vmlinuz-5.9.13-200.fc33.x86_64: kworker issue, suspend to disk issue unconfirmed

vmlinuz-5.9.14-200.fc33.x86_64: anything works fine, no kworker issue, no suspend to disk issue (AllowHibernation=no, AllowSuspend=yes)

vmlinuz-5.9.15-200.fc33.x86_64: kworker issue unconfirmed, computer unusable after suspend to disk (AllowHibernation=no, AllowSuspend=yes)