LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 02-15-2022, 02:40 AM   #1
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 15.0
Posts: 625

Rep: Reputation: 301Reputation: 301Reputation: 301Reputation: 301
iotop : CONFIG_TASK_DELAY_ACCT not enabled in kernel


CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %

iotop is a pretty useful tool. But with the current (compact) kernel the above message is displayed. And it corrupts the screen output too. So request to Pat to consider enabling it at next kernel build in the new current tree.
 
Old 02-15-2022, 10:33 AM   #2
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 907

Rep: Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698
It is enabled on Slackware 15.0:

Code:
$ grep TASK_DELAY_ACCT /boot/config*
/boot/config:CONFIG_TASK_DELAY_ACCT=y
/boot/config-generic-5.15.19.x64:CONFIG_TASK_DELAY_ACCT=y
/boot/config-huge-5.15.19.x64:CONFIG_TASK_DELAY_ACCT=y
Edit: it's also enabled on Slackware 14.2:

Code:
$ grep TASK_DELAY_ACCT /boot/config*
/boot/config:CONFIG_TASK_DELAY_ACCT=y
/boot/config-generic-4.4.276.x64:CONFIG_TASK_DELAY_ACCT=y
/boot/config-generic-4.4.301.x64:CONFIG_TASK_DELAY_ACCT=y
/boot/config-huge-4.4.276.x64:CONFIG_TASK_DELAY_ACCT=y
/boot/config-huge-4.4.301.x64:CONFIG_TASK_DELAY_ACCT=y
Where did you get your kernel?

2nd edit: ... and it's also enabled on Slackware current:

Code:
$ grep TASK_DELAY_ACCT *
config-generic-5.16.9:CONFIG_TASK_DELAY_ACCT=y
config-generic-5.16.9.x64:CONFIG_TASK_DELAY_ACCT=y
config-generic-smp-5.16.9-smp:CONFIG_TASK_DELAY_ACCT=y
config-huge-5.16.9:CONFIG_TASK_DELAY_ACCT=y
config-huge-5.16.9.x64:CONFIG_TASK_DELAY_ACCT=y
config-huge-smp-5.16.9-smp:CONFIG_TASK_DELAY_ACCT=y
What version of Slackware are you running? What kernel version are you running?

3rd edit: I realized your actual question is about iotop. I have it installed and tested it and it runs fine on both Slackware 14.2 and 15.0.

Last edited by drumz; 02-15-2022 at 10:40 AM. Reason: More info (again)
 
Old 02-15-2022, 12:25 PM   #3
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 15.0
Posts: 625

Original Poster
Rep: Reputation: 301Reputation: 301Reputation: 301Reputation: 301
I am not running the huge kernel - I'm using the one that requires the initrd. But I am on the 15.0 version.

uname -a
Linux x1carbon.xxx 5.15.19 #1 SMP PREEMPT Wed Feb 2 01:50:51 CST 2022 x86_64 Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz GenuineIntel GNU/Linux

iotop --version
iotop 0.6

iotop was built from ponce's sbo repo

Last edited by Mark Pettit; 02-15-2022 at 12:27 PM.
 
Old 02-15-2022, 01:08 PM   #4
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 907

Rep: Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698Reputation: 698
Can you check:

Code:
$ cat /proc/sys/kernel/task_delayacct
You might have to:

Code:
# echo 1 > /proc/sys/kernel/task_delayacct
See https://github.com/Tomas-M/iotop/issues/21
 
1 members found this post helpful.
Old 02-15-2022, 01:31 PM   #5
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
Even when set to Y in kernel config, it's disabled by default. It doesn't seem to work to set it on the fly either with echo 1, and if you use the sysctl only processes started after will be accounted.

Append "delayacct" to the kernel command line.

https://www.kernel.org/doc/html/late...ccounting.html

Code:
Usage

Compile the kernel with:

CONFIG_TASK_DELAY_ACCT=y
CONFIG_TASKSTATS=y

Delay accounting is disabled by default at boot up. To enable, add:

delayacct

to the kernel boot options. The rest of the instructions below assume this has been done. Alternatively, use sysctl kernel.task_delayacct to switch the state at runtime. Note however that only tasks started after enabling it will have delayacct information.
P.S. I should say that I use iotop and all my kernels have the delayacct parameter appended. I can neither quantify nor qualify any performance hit from accounting overhead.

Last edited by TheRealGrogan; 02-15-2022 at 01:39 PM.
 
Old 02-15-2022, 02:32 PM   #6
bassmadrigal
LQ Guru
 
Registered: Nov 2003
Location: West Jordan, UT, USA
Distribution: Slackware
Posts: 8,792

Rep: Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657Reputation: 6657
In reading online, it seems like this might be an issue in iotop not detecting any sysctl changes. So even though delayacct might have been enabled via sysctl, the iotop on SBo doesn't detect that change. In the github issue linked, it seems that it might be tied to the python version of iotop (which is what SBo uses), but the repo in the linked bug report is apparently a c version that supposedly has the fix.

It might be worth looking into switching the python iotop on SBo to the C version of iotop as that has been continually updated (had a release 19 days ago) whereas the 0.6 python version was released 8 years ago (although, there is some git activity that could eventually turn into a release).

Maybe someone on 15.0 can check by building the c version of iotop and see if it works (I'm running an older kernel without the issue, so I can't check). Apparently some distros distribute both versions and call the C version iotop-c, but if the python version is effectively broken, I imagine we should probably just replace it with the ported version.
 
Old 02-15-2022, 10:47 PM   #7
Mark Pettit
Member
 
Registered: Dec 2008
Location: Cape Town, South Africa
Distribution: Slackware 15.0
Posts: 625

Original Poster
Rep: Reputation: 301Reputation: 301Reputation: 301Reputation: 301
$ cat /proc/sys/kernel/task_delayacct printed a 0

After running this : echo 1 > /proc/sys/kernel/task_delayacct
the iotop produced no error messages at all.

I will mark this as solved, but as usual 'bassmadrigal' has added some great insight. Thanks to 'drumz' as well.
 
  


Reply

Tags
current, iiotop, kernel



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Can't run iotop on the latest PCLinuxOS, kernel parameters missing Iron Mew Linux - Newbie 1 07-16-2015 01:30 AM
iotop - how to upgrade kernel 2.6.20, install kvm-12, install gcc 3.4.6 allancth Linux - Software 1 05-20-2013 11:57 PM
Disk I/O stats (iotop alternative?) omnivir Linux - Enterprise 1 01-25-2010 10:07 AM
Is there a iotop which reports top file io? MikeyCarter Linux - Software 1 06-25-2009 12:27 AM
LXer: Watching Hard Drive Activity With iotop On Ubuntu 8.10 And Debian Lenny LXer Syndicated Linux News 0 02-23-2009 06:40 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 11:49 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration