Commit f3f33555 authored by Michal Berger's avatar Michal Berger Committed by Konrad Sztyber
Browse files

scripts/perf: Drop MONITOR_RESOURCES_PIDS[@]



This list is in practice available only to a process which started
the monitors - every other process that calls to
signal_monitor_resources() relies solely on the .pid file.

Change-Id: Ie239c1ae9e921d6babca45deba79febdba3dabad
Signed-off-by: default avatarMichal Berger <michal.berger@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22698


Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent 60417794
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -20,7 +20,6 @@ start_monitor_resources() {
		# collect-bmc-pm requires root privileges
		sudo -E "$_pmdir/$monitor" -d "$PM_OUTPUTDIR" \
			-l -p "monitor.${0##*/}.$(date +%s)" &
		MONITOR_RESOURCES_PIDS["$monitor"]=$!
	done
	# Give our monitors some time to setup their traps
	sleep 1
@@ -43,15 +42,12 @@ signal_monitor_resources() {
	for monitor in "${MONITOR_RESOURCES[@]}"; do
		if [[ -e $PM_OUTPUTDIR/$monitor.pid ]]; then
			pid=$(< "$PM_OUTPUTDIR/$monitor.pid")
		elif [[ -n ${MONITOR_RESOURCES_PIDS["$monitor"]} ]]; then
			pid=${MONITOR_RESOURCES_PIDS["$monitor"]}
		else
			continue
		fi

		if ! sudo kill "-$signal" "$pid"; then
			rm -f "$PM_OUTPUTDIR/$monitor.pid"
			unset -v "MONITOR_RESOURCES_PIDS[$monitor]"
		fi 2> /dev/null
	done
}
@@ -79,7 +75,5 @@ elif [[ $PM_OS == Linux && $(< /sys/class/dmi/id/chassis_vendor) != QEMU && ! -e
	MONITOR_RESOURCES+=(collect-cpu-temp)
	MONITOR_RESOURCES+=(collect-bmc-pm)
fi
# For tracking - each monitor should handle its own .pid file
declare -A MONITOR_RESOURCES_PIDS=()

mkdir -p "$PM_OUTPUTDIR"