Re: [PATCH tip/core/rcu 21/45] torture: Report diagnostics from qemu

From: Paul E. McKenney
Date: Tue May 13 2014 - 19:04:01 EST


On Wed, May 07, 2014 at 02:59:11PM -0700, josh@xxxxxxxxxxxxxxxx wrote:
> On Mon, Apr 28, 2014 at 05:25:09PM -0700, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> >
> > The current script does record qemu diagnostics, but the user has to
> > know where to look for them. This commit therefore puts them into the
> > Warnings file so that kvm-recheck.sh will display them. This change is
> > especially useful if you are in the habit of killing the qemu process
> > when you realize that you messed something up, but then later on wonder
> > why the process terminated early.
> >
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> A couple of issues below.
>
> > @@ -172,6 +172,14 @@ do
> > if test $kruntime -lt $seconds
> > then
> > echo Completed in $kruntime vs. $seconds >> $resdir/Warnings 2>&1
> > + grep "^(qemu) qemu:" $resdir/kvm-test-1-run.sh.out >> $resdir/Warnings 2>&1
> > + killpid="`grep "^(qemu) qemu: terminating on signal [0-9]* from pid" $resdir/kvm-test-1-run.sh.out`"
>
> You already searched for lines like this and put them in Warnings in the
> previous line, so you don't need to search the entire output. Also, you
> use grep here and sed below; you could just use sed here to directly
> obtain the PID:
>
> killpid="$(sed -n "s/^(qemu) qemu: terminating on signal [0-9]* from pid \([0-9]*\).*$/\1/p" $resdir/Warnings)"
>
> > + if test -n "$killpid"
> > + then
> > + pscmd="`echo $killpid | sed -e 's/^.*from pid/ps -ef | grep/'`"
> > + echo $pscmd >> $resdir/Warnings
> > + echo $pscmd | sh >> $resdir/Warnings 2>&1
> > + fi
>
> Grepping for a PID is a bad idea; it'll turn up anything that contains
> that PID anywhere on the line, including as a substring. Given the
> above change to obtain a numeric $killpid, you can instead pass the PID
> to ps directly:
> if test -n "$killpid"
> then
> ps -fp $killpid >> $resdir/Warnings 2>&1
> fi

All good points! What can I say? 30-year-old habits die hard. ;-)

Giving it a spin... Very nice, applied!

Thanx, Paul

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/