[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140513230345.GY18164@linux.vnet.ibm.com>
Date: Tue, 13 May 2014 16:03:45 -0700
From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To: josh@...htriplett.org
Cc: linux-kernel@...r.kernel.org, mingo@...nel.org,
laijs@...fujitsu.com, dipankar@...ibm.com,
akpm@...ux-foundation.org, mathieu.desnoyers@...icios.com,
niv@...ibm.com, tglx@...utronix.de, peterz@...radead.org,
rostedt@...dmis.org, dhowells@...hat.com, edumazet@...gle.com,
darren@...art.com, fweisbec@...il.com, oleg@...hat.com, sbw@....edu
Subject: Re: [PATCH tip/core/rcu 21/45] torture: Report diagnostics from qemu
On Wed, May 07, 2014 at 02:59:11PM -0700, josh@...htriplett.org wrote:
> On Mon, Apr 28, 2014 at 05:25:09PM -0700, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> >
> > 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@...ux.vnet.ibm.com>
>
> 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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists