High CPU usage of 1H-kblockd kworkers on 6.8.12 compared to 5.4.233 with isolcpus
From: Marcin Wielgosz
Date: Thu Jan 23 2025 - 09:39:17 EST
Greetings,
I've noticed much higher CPU consumption of 1H-kblockd workers on
isolated cores on kernel 6.8.12 (Ubuntu 24).
Relevant kernel params: isolcpus=nohz,domain,managed_irq,4-23,28-47
skew_tick=1 nohz=on nohz_full=4-23,28-47 rcu_nocb_poll
rcu_nocbs=4-23,28-47 irqaffinity=0-3,24-27.
All workqueues (/sys/devices/virtual/workqueue/*/cpumask) are set to
'0,00040003' which excludes isolated cores. All IRQs including those
for NVMEs are assigned to cores 24-25.
I ran a script to poll /sys/kernel/debug/sched/debug every second for
10 minutes on both kernels and extracted running times for cores
4-6(isolated). 1H-blocked workers accumulated 0.12% CPU compared to
0.02-0.03% on 5.4.233(Ubuntu 18) under the same conditions. There is
only one DPDK thread running on each core. These threads don't make
any calls to block devices, syscalls nor FS.
I expected all kblockd workers to be either offloaded to housekeeping
cores or inactive on isolated cores. Is there a way to remedy this?
Kind regards,
Marcin Wielgosz