iotop partly broken in Easy Dunfell and Bookworm
Running iotop (from "System" menu), there is a message:
CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO
This problem arrived with the 5.15 kernel. It is configured with CONFIG_TASK_DELAY_ACCT, but is not activated. It has to be activated with a kernel commandline parameter. Apparently, this change was made because this feature imposes a very slight performance overhead on I/O.
There are actually two variants of iotop. The original is written in python:
https://repo.or.cz/w/iotop.git
There is another, written in C:
https://github.com/Tomas-M/iotop
OE Dunfell and Debian Bookworm both have the python version, and both have the bug.
I checked OE master-next, they have changed to the C version. Unfortunately, I do not like the C version. The UI seems inferior, and the "-a" commandline option doesn't work properly.
So, in my OE fork (Quirky), I have bumped the python iotop to the latest version, which has a workaround for the bug -- fixes the display, but still requires the kernel commandline option to enable the feature. I have named the package 'iotop-py' to distinguish from the C version.
I Easy Bookworm cannot use the OE package, as it is compiled for python 3.8. Have to wait on the Debian iotop package maintainer to update it. Well, the OE package has a path /usr/lib/python3.8, could probably modify that and it would work in Bookworm.
EDIT:
I have created a iotop python-version PET for Easy Bookworm.
Tags: easy