cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
PATCH 1/1 cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
Since procps v3.3.15, running cpuhotplug03.sh got the following error:
----------------------------------------------------------------------
cpuhotplug03 1 TINFO: Onlining CPU 1
cpuhotplug03 1 TBROK: No cpuhotplug_do_spin_loop processes found on any processor
----------------------------------------------------------------------
On procps v3.3.15, ps command name selection is extended to 64 characters so procps cannot trucate normal command name to 15 characters by default. In addition, normal command name is truncated to 16 characters and stored in /proc/<pid>/stat and /proc/<pid>/status in kernel.(except workqueue worker because it has been extended to 64 by kernel commit 6b59808)
References:
procps commit: bb272580a6f3c192c61e307f9e341514d892d06e procps commit: 14005a371e5c14289e96a4927ffd1a827d3c9d85 procps commit: 2cfdbbe897f0d4e41460c7c2b92acfc5804652c8 kernel commit: 6b59808bfe482642287ddf3fe9d4cccb10756652
Note:
I think the lastest ps(1) manpage for command name length is confused because kernel only extend workqueue worker name to 64 characters by commit 6b59808 and still truncate normal command name to 16 characters. e.g:
---------------------------------------------------------------------
cd /root/ltp/testcases/kernel/hotplug/cpu_hotplug/tools PATH=$PATH:$PWD cpuhotplug_do_spin_loop &
[1] 8732
cat /proc/8732/stat
8732 (cpuhotplug_do_s) ...
cat /proc/8732/status | grep Name
Name: cpuhotplug_do_s
---------------------------------------------------------------------
I will try to update ps(1) manpage for command name length.
--- .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
testcases/kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh +10 -2
@@ -119,12 +119,20 @@ until [ $LOOP_COUNT -gt $HOTPLUG03_LOOPS ]; do sleep 1 # Verify at least one process has migrated to the new CPU - ps -o psr -o command --no-headers -C cpuhotplug_do_spin_loop + # Since procps v3.3.15, we need to accurately select command name + # by -C option, because procps cannot trucate normal command name + # to 15 characters by default). + # References: + # procps commit: bb272580a6f3c192c61e307f9e341514d892d06e + # procps commit: 14005a371e5c14289e96a4927ffd1a827d3c9d85 + # procps commit: 2cfdbbe897f0d4e41460c7c2b92acfc5804652c8 + # kernel commit: 6b59808bfe482642287ddf3fe9d4cccb10756652 + ps -o psr -o command --no-headers -C cpuhotplug_do_s if [ $? -ne 0 ]; then tst_brkm TBROK "No cpuhotplug_do_spin_loop processes \ found on any processor" fi - NUM=`ps -o psr -o command --no-headers -C cpuhotplug_do_spin_loop \ + NUM=`ps -o psr -o command --no-headers -C cpuhotplug_do_s \ | sed -e "s/^ *//" | cut -d' ' -f 1 | grep "^${CPU_TO_TEST}$" \ | wc -l` if [ $NUM -lt 1 ]; then
Signature · 1 line
1.8.3.1
PATCH 1/1 cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
Hi Xiao,
Quoted 18 lines
Since procps v3.3.15, running
cpuhotplug03.shgot the following error:
----------------------------------------------------------------------
cpuhotplug03 1 TINFO: Onlining CPU 1
cpuhotplug03 1 TBROK: Nocpuhotplug_do_spin_loopprocesses found on any processor
----------------------------------------------------------------------On procps v3.3.15, ps command name selection is extended to 64 characters so procps cannot trucate normal command name to 15 characters by default. In addition, normal command name is truncated to 16 characters and stored in /proc/<pid>/stat and /proc/<pid>/status in kernel.(except workqueue worker because it has been extended to 64 by kernel commit 6b59808)
References:
procps commit:bb272580a6f3c192c61e307f9e341514d892d06eprocps commit:14005a371e5c14289e96a4927ffd1a827d3c9d85procps commit:2cfdbbe897f0d4e41460c7c2b92acfc5804652c8kernel commit:6b59808bfe482642287ddf3fe9d4cccb10756652
Quoted 14 lines
Note:
I think the lastest ps(1) manpage for command name length is confused because kernel only extend workqueue worker name to 64 characters by commit 6b59808 and still truncate normal command name to 16 characters. e.g:
---------------------------------------------------------------------
cd/root/ltp/testcases/kernel/hotplug/cpu_hotplug/toolsPATH=$PATH:$PWDcpuhotplug_do_spin_loop&
[1] 8732
cat/proc/8732/stat
8732 (cpuhotplug_do_s) ...
cat/proc/8732/status| grep Name
Name:cpuhotplug_do_s
---------------------------------------------------------------------
Agree.
Quoted 1 line
I will try to update ps(1) manpage for command name length.
Good :).
Quoted 1 line
Signed-off-by Xiao Yang <[email protected]>
Quoted 3 lines
--- .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
Kind regards,
Petr
PATCH 1/1 cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
Hi Petr,
Could you push this patch if nobody has objections. :-)
Best Regards,
Xiao Yang
Quoted 48 lines · Petr Vorel
Hi Xiao,
Quoted 21 lines
Since procps v3.3.15, running
cpuhotplug03.shgot the following error:
----------------------------------------------------------------------
cpuhotplug03 1 TINFO: Onlining CPU 1
cpuhotplug03 1 TBROK: Nocpuhotplug_do_spin_loopprocesses found on any processor
----------------------------------------------------------------------
On procps v3.3.15, ps command name selection is extended to 64 characters so procps cannot trucate normal command name to 15 characters by default. In addition, normal command name is truncated to 16 characters and stored in /proc/<pid>/stat and /proc/<pid>/status in kernel.(except workqueue worker because it has been extended to 64 by kernel commit 6b59808) References:
procps commit:bb272580a6f3c192c61e307f9e341514d892d06e
procps commit:14005a371e5c14289e96a4927ffd1a827d3c9d85
procps commit:2cfdbbe897f0d4e41460c7c2b92acfc5804652c8
kernel commit:6b59808bfe482642287ddf3fe9d4cccb10756652
Note:
I think the lastest ps(1) manpage for command name length is confused because kernel only extend workqueue worker name to 64 characters by commit 6b59808 and still truncate normal command name to 16 characters. e.g:
---------------------------------------------------------------------Quoted 8 lines
cd
/root/ltp/testcases/kernel/hotplug/cpu_hotplug/toolsPATH=$PATH:$PWD cpuhotplug_do_spin_loop&
[1] 8732
cat/proc/8732/stat
8732 (cpuhotplug_do_s) ...
cat/proc/8732/status| grep Name
Name:cpuhotplug_do_s
---------------------------------------------------------------------Agree.
Quoted 1 line
I will try to update ps(1) manpage for command name length.
Good :).
Quoted 1 line
Signed-off-by Xiao Yang<[email protected]>Acked-by Petr Vorel<[email protected]>Quoted 3 lines
--- .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)Kind regards,
Petr.
PATCH 1/1 cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
Hi Xiao,
...
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
References:
procps commit:bb272580a6f3c192c61e307f9e341514d892d06eprocps commit:14005a371e5c14289e96a4927ffd1a827d3c9d85procps commit:2cfdbbe897f0d4e41460c7c2b92acfc5804652c8kernel commit:6b59808bfe482642287ddf3fe9d4cccb10756652
Merged with minor changes: remove references from code and use standard references (short has + commit message) in commit message.
Thanks for your patch!.
Quoted 14 lines
Quoted 14 lines
Quoted 14 lines
Note:
I think the lastest ps(1) manpage for command name length is confused because kernel only extend workqueue worker name to 64 characters by commit 6b59808 and still truncate normal command name to 16 characters. e.g:
---------------------------------------------------------------------
cd/root/ltp/testcases/kernel/hotplug/cpu_hotplug/toolsPATH=$PATH:$PWD cpuhotplug_do_spin_loop&
[1] 8732
cat/proc/8732/stat
8732 (cpuhotplug_do_s) ...
cat/proc/8732/status| grep Name
Name:cpuhotplug_do_s
---------------------------------------------------------------------
Quoted 4 lines
Quoted 4 lines
Agree.
Quoted 1 line
I will try to update ps(1) manpage for command name length.
Good :).
Out of curiosity: have you reported it to procps upstream?
Kind regards,
Petr
PATCH 1/1 cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option
Quoted 8 lines · Petr Vorel
Hi Xiao,
...
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
References:
procps commit:bb272580a6f3c192c61e307f9e341514d892d06eprocps commit:14005a371e5c14289e96a4927ffd1a827d3c9d85procps commit:2cfdbbe897f0d4e41460c7c2b92acfc5804652c8kernel commit:6b59808bfe482642287ddf3fe9d4cccb10756652
Quoted 4 lines
Merged with minor changes: remove references from code and use standard references (short has + commit message) in commit message.
Thanks for your patch!.
Hi Petr,
Thanks for your push.
Quoted 14 lines
Quoted 14 lines
Quoted 14 lines
Quoted 14 lines
Note:
I think the lastest ps(1) manpage for command name length is confused because kernel only extend workqueue worker name to 64 characters by commit 6b59808 and still truncate normal command name to 16 characters. e.g:
---------------------------------------------------------------------
cd/root/ltp/testcases/kernel/hotplug/cpu_hotplug/toolsPATH=$PATH:$PWD cpuhotplug_do_spin_loop&
[1] 8732
cat/proc/8732/stat
8732 (cpuhotplug_do_s) ...
cat/proc/8732/status| grep Name
Name:cpuhotplug_do_s
---------------------------------------------------------------------
Quoted 4 lines
Quoted 3 lines
Quoted 3 lines
Agree.
Quoted 1 line
I will try to update ps(1) manpage for command name length.
Good :).
Out of curiosity: have you reported it to procps upstream?
I have reported and sent a fix patch to procps mail list(i.e. [email protected]), but it
seems that nobody reveiws and pushes it. I am going to ping. :-)
Please see attachment for our fix patch.
Best Regards,
Xiao Yang
Quoted 6 lines
Kind regards,
Petr
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 0001-docs-Correct-ps.1-for-command-name-length.patch
URL: <http://lists.linux.it/pipermail/ltp/attachments/20190104/b5db03ce/attachment-0001.ksh>