1From 988ca784d4840c87509e770a21d5d22105af8668 Mon Sep 17 00:00:00 2001 2From: Mingli Yu <mingli.yu@windriver.com> 3Date: Fri, 5 Nov 2021 11:18:07 +0800 4Subject: [PATCH] bootchartd.in: make sure only one bootchartd process 5 6When boot with "init=/sbin/bootchartd" as below: 7 # runqemu qemux86 bootparams="init=/sbin/bootchartd" 8 9There are two bootchartd process after boot [1]. 10 # ps -ef | grep bootchart 11root 101 1 0 03:27 ? 00:00:00 /bin/sh /sbin/bootchartd 12root 103 101 8 03:27 ? 00:00:02 /lib64/bootchart/bootchart-collector 50 13root 106 1 0 03:27 ? 00:00:00 /bin/sh /sbin/bootchartd 14root 792 106 0 03:27 ? 00:00:00 /lib64/bootchart/bootchart-collector --usleep 1000000 15root 794 725 0 03:27 ttyS0 00:00:00 grep bootchart 16 17 # /sbin/bootchartd stop 18[bootchart] bootchart-collector started as pid 596 with 2 args: 19[bootchart] '--dump' 20[bootchart] '/tmp/bootchart.3lXpVDAq3v' 21[bootchart] Extracting profile data from pid 204 22[bootchart] map 0xbed9a000 -> 0xbedbb000 size: 132k from 'bed9a000' 'bedbb000' 23[bootchart] read 135168 bytes of 135168 24[bootchart] reading 150 chunks (of 150) ... 25[bootchart] wrote 18760 kbB 26[bootchart] bootchart-collector pid: 596 unmounted proc / clean exit 27 28But there still one process exist after the above stop command finish. 29 # ps -ef | grep bootchartd 30root 202 1 0 09:09 ? 00:00:00 /bin/sh /sbin/bootchartd 31root 629 516 0 09:10 ? 00:00:00 grep bootchartd 32 33Remove the wait_boot which used to wait the boot process to finish to 34make sure only one bootchartd process and meanwhile we don't need the 35wait_boot logic because we either use "/sbin/bootchartd stop" to stop 36the bootchartd manually or install package bootchartd-stop-initscript 37altogether with bootchart2 to stop bootchartd automatically after boot. 38 39After patch: 40 # ps -ef | grep bootchart 41 root 101 1 0 03:36 ? 00:00:00 /bin/sh /sbin/bootchartd 42 root 103 101 6 03:36 ? 00:00:04 /lib64/bootchart/bootchart-collector 50 43 root 596 592 0 03:37 ttyS0 00:00:00 grep bootchart 44 45[1] https://github.com/xrmx/bootchart/issues/94 46 47Upstream-Status: Submitted [https://github.com/xrmx/bootchart/pull/95] 48 49Signed-off-by: Mingli Yu <mingli.yu@windriver.com> 50--- 51 bootchartd.in | 1 - 52 1 file changed, 1 deletion(-) 53 54diff --git a/bootchartd.in b/bootchartd.in 55index 7979ef9..f0e466d 100755 56--- a/bootchartd.in 57+++ b/bootchartd.in 58@@ -183,7 +183,6 @@ if [ $$ -eq 1 ]; then 59 else # running inside the main system 60 echo "bootchart: no initrd used; starting" 61 start & 62- wait_boot & 63 # wait a little, until the collector is going, before allowing 64 # the rest of the system to charge ahead, so we catch it 65 $USLEEP 250000 66-- 672.17.1 68 69