Skip to contentSkip to conversation

cpu_hotplug/cpuhotplug03.sh: Accurately select command name by -C option

PATCH New Xiao Yang 2 participants 5 messages Nov 16, 2018 – Jan 4, 2019

lore
Share & tools
lore

Xiao Yang

author
#0 lore raw

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
index 14ccf85..a8c76a0 100755
@@ -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
#1 lore raw

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.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

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/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
---------------------------------------------------------------------

Agree.

Quoted 1 line

I will try to update ps(1) manpage for command name length.

Good :).

Quoted 1 line
Quoted 3 lines
---
 .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh    | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

Kind regards,
Petr

author
#2 lore raw

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.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:
---------------------------------------------------------------------

Quoted 8 lines

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
---------------------------------------------------------------------

Agree.

Quoted 1 line

I will try to update ps(1) manpage for command name length.

Good :).

Quoted 1 line
Quoted 3 lines
---
  .../kernel/hotplug/cpu_hotplug/functional/cpuhotplug03.sh    | 12 ++++++++++--
  1 file changed, 10 insertions(+), 2 deletions(-)

Kind regards,
Petr

.

#3 lore raw

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: bb272580a6f3c192c61e307f9e341514d892d06e procps commit: 14005a371e5c14289e96a4927ffd1a827d3c9d85 procps commit: 2cfdbbe897f0d4e41460c7c2b92acfc5804652c8 kernel 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/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
---------------------------------------------------------------------

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

author
#4 lore raw

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: bb272580a6f3c192c61e307f9e341514d892d06e procps commit: 14005a371e5c14289e96a4927ffd1a827d3c9d85 procps commit: 2cfdbbe897f0d4e41460c7c2b92acfc5804652c8 kernel 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/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
---------------------------------------------------------------------

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>