Re: [PATCH 2/3] perf test: Cleanup daemon if test is interrupted.
On Thu, Mar 11, 2021 at 08:18:27AM -0800, Ian Rogers wrote: > On Thu, Mar 11, 2021 at 2:38 AM Jiri Olsa wrote: > > > > On Wed, Mar 10, 2021 at 12:41:17PM -0800, Ian Rogers wrote: > > > Reorder daemon_start and daemon_exit as the trap handler is added in > > > daemon_start referencing daemon_exit. > > > > makes sense, minor comments below > > > > > > > > Signed-off-by: Ian Rogers > > > --- > > > tools/perf/tests/shell/daemon.sh | 34 +++- > > > 1 file changed, 20 insertions(+), 14 deletions(-) > > > > > > diff --git a/tools/perf/tests/shell/daemon.sh > > > b/tools/perf/tests/shell/daemon.sh > > > index 66ad56b4e0a5..a02cedc76de6 100755 > > > --- a/tools/perf/tests/shell/daemon.sh > > > +++ b/tools/perf/tests/shell/daemon.sh > > > @@ -98,6 +98,23 @@ check_line_other() > > > fi > > > } > > > > > > +daemon_exit() > > > +{ > > > + local config=$1 > > > + > > > + local line=`perf daemon --config ${config} -x: | head -1` > > > + local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` > > > + > > > +# Reset trap handler. > > > +trap - SIGINT SIGTERM > > > > please keep the 'tabs' in here > > > > > + > > > + # stop daemon > > > + perf daemon stop --config ${config} > > > + > > > + # ... and wait for the pid to go away > > > + tail --pid=${pid} -f /dev/null > > > +} > > > + > > > daemon_start() > > > { > > > local config=$1 > > > @@ -105,6 +122,9 @@ daemon_start() > > > > > > perf daemon start --config ${config} > > > > > > +# Clean up daemon if interrupted. > > > +trap "daemon_exit ${config}; exit 4" SIGINT SIGTERM > > > > ditto, plus let's document exit values somewhere in comments, > > I think the next patch is adding exit 62, so that one as well > > Thanks, it might be easier to just have these as exit 1 - I pulled > values from the errno list. Do you have any preferences? yep, exit 1 seems enough jirka
Re: [PATCH 2/3] perf test: Cleanup daemon if test is interrupted.
On Thu, Mar 11, 2021 at 2:38 AM Jiri Olsa wrote: > > On Wed, Mar 10, 2021 at 12:41:17PM -0800, Ian Rogers wrote: > > Reorder daemon_start and daemon_exit as the trap handler is added in > > daemon_start referencing daemon_exit. > > makes sense, minor comments below > > > > > Signed-off-by: Ian Rogers > > --- > > tools/perf/tests/shell/daemon.sh | 34 +++- > > 1 file changed, 20 insertions(+), 14 deletions(-) > > > > diff --git a/tools/perf/tests/shell/daemon.sh > > b/tools/perf/tests/shell/daemon.sh > > index 66ad56b4e0a5..a02cedc76de6 100755 > > --- a/tools/perf/tests/shell/daemon.sh > > +++ b/tools/perf/tests/shell/daemon.sh > > @@ -98,6 +98,23 @@ check_line_other() > > fi > > } > > > > +daemon_exit() > > +{ > > + local config=$1 > > + > > + local line=`perf daemon --config ${config} -x: | head -1` > > + local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` > > + > > +# Reset trap handler. > > +trap - SIGINT SIGTERM > > please keep the 'tabs' in here > > > + > > + # stop daemon > > + perf daemon stop --config ${config} > > + > > + # ... and wait for the pid to go away > > + tail --pid=${pid} -f /dev/null > > +} > > + > > daemon_start() > > { > > local config=$1 > > @@ -105,6 +122,9 @@ daemon_start() > > > > perf daemon start --config ${config} > > > > +# Clean up daemon if interrupted. > > +trap "daemon_exit ${config}; exit 4" SIGINT SIGTERM > > ditto, plus let's document exit values somewhere in comments, > I think the next patch is adding exit 62, so that one as well Thanks, it might be easier to just have these as exit 1 - I pulled values from the errno list. Do you have any preferences? Ian > thanks, > jirka > > > + > > # wait for the session to ping > > local state="FAIL" > > while [ "${state}" != "OK" ]; do > > @@ -113,20 +133,6 @@ daemon_start() > > done > > } > > > > -daemon_exit() > > -{ > > - local config=$1 > > - > > - local line=`perf daemon --config ${config} -x: | head -1` > > - local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` > > - > > - # stop daemon > > - perf daemon stop --config ${config} > > - > > - # ... and wait for the pid to go away > > - tail --pid=${pid} -f /dev/null > > -} > > - > > test_list() > > { > > echo "test daemon list" > > -- > > 2.30.1.766.gb4fecdf3b7-goog > > >
Re: [PATCH 2/3] perf test: Cleanup daemon if test is interrupted.
On Wed, Mar 10, 2021 at 12:41:17PM -0800, Ian Rogers wrote: > Reorder daemon_start and daemon_exit as the trap handler is added in > daemon_start referencing daemon_exit. makes sense, minor comments below > > Signed-off-by: Ian Rogers > --- > tools/perf/tests/shell/daemon.sh | 34 +++- > 1 file changed, 20 insertions(+), 14 deletions(-) > > diff --git a/tools/perf/tests/shell/daemon.sh > b/tools/perf/tests/shell/daemon.sh > index 66ad56b4e0a5..a02cedc76de6 100755 > --- a/tools/perf/tests/shell/daemon.sh > +++ b/tools/perf/tests/shell/daemon.sh > @@ -98,6 +98,23 @@ check_line_other() > fi > } > > +daemon_exit() > +{ > + local config=$1 > + > + local line=`perf daemon --config ${config} -x: | head -1` > + local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` > + > +# Reset trap handler. > +trap - SIGINT SIGTERM please keep the 'tabs' in here > + > + # stop daemon > + perf daemon stop --config ${config} > + > + # ... and wait for the pid to go away > + tail --pid=${pid} -f /dev/null > +} > + > daemon_start() > { > local config=$1 > @@ -105,6 +122,9 @@ daemon_start() > > perf daemon start --config ${config} > > +# Clean up daemon if interrupted. > +trap "daemon_exit ${config}; exit 4" SIGINT SIGTERM ditto, plus let's document exit values somewhere in comments, I think the next patch is adding exit 62, so that one as well thanks, jirka > + > # wait for the session to ping > local state="FAIL" > while [ "${state}" != "OK" ]; do > @@ -113,20 +133,6 @@ daemon_start() > done > } > > -daemon_exit() > -{ > - local config=$1 > - > - local line=`perf daemon --config ${config} -x: | head -1` > - local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` > - > - # stop daemon > - perf daemon stop --config ${config} > - > - # ... and wait for the pid to go away > - tail --pid=${pid} -f /dev/null > -} > - > test_list() > { > echo "test daemon list" > -- > 2.30.1.766.gb4fecdf3b7-goog >
[PATCH 2/3] perf test: Cleanup daemon if test is interrupted.
Reorder daemon_start and daemon_exit as the trap handler is added in daemon_start referencing daemon_exit. Signed-off-by: Ian Rogers --- tools/perf/tests/shell/daemon.sh | 34 +++- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/tools/perf/tests/shell/daemon.sh b/tools/perf/tests/shell/daemon.sh index 66ad56b4e0a5..a02cedc76de6 100755 --- a/tools/perf/tests/shell/daemon.sh +++ b/tools/perf/tests/shell/daemon.sh @@ -98,6 +98,23 @@ check_line_other() fi } +daemon_exit() +{ + local config=$1 + + local line=`perf daemon --config ${config} -x: | head -1` + local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` + +# Reset trap handler. +trap - SIGINT SIGTERM + + # stop daemon + perf daemon stop --config ${config} + + # ... and wait for the pid to go away + tail --pid=${pid} -f /dev/null +} + daemon_start() { local config=$1 @@ -105,6 +122,9 @@ daemon_start() perf daemon start --config ${config} +# Clean up daemon if interrupted. +trap "daemon_exit ${config}; exit 4" SIGINT SIGTERM + # wait for the session to ping local state="FAIL" while [ "${state}" != "OK" ]; do @@ -113,20 +133,6 @@ daemon_start() done } -daemon_exit() -{ - local config=$1 - - local line=`perf daemon --config ${config} -x: | head -1` - local pid=`echo "${line}" | awk 'BEGIN { FS = ":" } ; { print $1 }'` - - # stop daemon - perf daemon stop --config ${config} - - # ... and wait for the pid to go away - tail --pid=${pid} -f /dev/null -} - test_list() { echo "test daemon list" -- 2.30.1.766.gb4fecdf3b7-goog