mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@kernel.org>
To: Frederic Weisbecker <frederic@kernel.org>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/3] torture: Update bare metal advices to latest kvm.sh options
Date: Fri, 7 May 2021 13:37:42 -0700	[thread overview]
Message-ID: <20210507203742.GA975577@paulmck-ThinkPad-P17-Gen-1> (raw)
In-Reply-To: <20210506131510.51488-4-frederic@kernel.org>

On Thu, May 06, 2021 at 03:15:10PM +0200, Frederic Weisbecker wrote:
> kvm.sh is perfectly able to build a new kernel config from an existing
> one instead of using a defconfig. All we need to do is to pass:
> 
> 	--defconfig oldconfig
> 
> This is much easier than manually modifying a .config from a
> ConfigFragment file.
> 
> Then with the latest parameters that got added on kvm.sh, it's now
> easy to build a bare metal .config for a cross target for example:
> 
> 	./kvm.sh --configs "TREE01" --defconfig oldconfig --configonly
> 		--cmdline-to-config --kmake-arg ARCH=arm64 --no-initrd
> 
> After that all we need to do is to build the updated .config and run
> the resulting image.
> 
> Update bare metal advices to propose that.
> 
> Signed-off-by: Frederic Weisbecker <frederic@kernel.org>

I am inclined to let you take the lead on this part of the file given
that I take other approaches to bare-metal rcutorture runs.

A few comments below, mostly wordsmithing.

							Thanx, Paul

> ---
>  .../rcutorture/bin/kvm-test-1-run.sh          | 21 ++++++++++---------
>  1 file changed, 11 insertions(+), 10 deletions(-)
> 
> diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
> index 6df9efc77469..47d69668ab37 100755
> --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
> +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
> @@ -190,27 +190,28 @@ echo To run this scenario on bare metal: >> $resdir/bare-metal
>  echo >> $resdir/bare-metal
>  echo " 1." Set your bare-metal build tree to the state shown in this file: >> $resdir/bare-metal
>  echo "   " $testid_txt >> $resdir/bare-metal
> -echo " 2." Update your bare-metal build tree"'"s .config based on this file: >> $resdir/bare-metal
> -echo "   " $resdir/ConfigFragment >> $resdir/bare-metal
> -echo " 3." Make the bare-metal kernel"'"s build system aware of your .config updates: >> $resdir/bare-metal
> -echo "   " $ 'yes "" | make oldconfig' >> $resdir/bare-metal
> -echo " 4." Build your bare-metal kernel. >> $resdir/bare-metal
> +echo " 2." Prepare your bare-metal build tree"'"s .config on your root kernel directory >> $resdir/bare-metal
> +echo " 3." Run this scenario with "'--defconfig oldconfig --configonly --no-initrd'" >> $resdir/bare-metal
> +echo " 4." If you"'"re cross compiling then append the appropriate make arguments >> $resdir/bare-metal

In this case, I think that "you are" is going to be nicer than the fun
with quoting quotes.  ;-)

> +echo "   " eg: "'--kmake-arg ARCH=arm64'" >> $resdir/bare-metal
>  echo " 5." Boot your bare-metal kernel with the following parameters: >> $resdir/bare-metal
>  echo "   " $kboot_args >> $resdir/bare-metal
>  echo " 6." Start the test with the following command: >> $resdir/bare-metal
>  echo "   " $ modprobe $TORTURE_MOD $modprobe_args >> $resdir/bare-metal
>  echo " 7." After some time, end the test with the following command: >> $resdir/bare-metal
>  echo "   " $ rmmod $TORTURE_MOD >> $resdir/bare-metal
> -echo " 8." Copy your bare-metal kernel"'"s .config file, overwriting this file: >> $resdir/bare-metal
> +echo " 8." Alternatively if you run rcutorture in a built-in fashion and your kernel arguments are already >> $resdir/bare-metal

"Alternatively,"

Also "if you run rcutorture built in" should work.

> +echo "   " hardcoded in the kernel config, skip the previous 5/6/7 steps and append to kvm.sh arguments: >> $resdir/bare-metal

I suggest letting them know before step 5 that they might be able to skip
step 5.  ;-)

For example, something like: "5. If you run rcutorture as a module,
do steps 6-8, otherwise skip to step 9."

> +echo "   " --cmdline-to-config >> $resdir/bare-metal
> +echo "   " Then simply boot your kernel and wait for the end of the tests >> $resdir/bare-metal
> +echo " 9." Copy your bare-metal kernel"'"s .config file, overwriting this file: >> $resdir/bare-metal
>  echo "   " $resdir/.config >> $resdir/bare-metal
> -echo " 9." Copy the console output from just before the modprobe to just after >> $resdir/bare-metal
> +echo "10." Copy the console output from just before the modprobe to just after >> $resdir/bare-metal
>  echo "   " the rmmod into this file: >> $resdir/bare-metal

But if running built-in, we need the entire console output, correct?

>  echo "   " $resdir/console.log >> $resdir/bare-metal
> -echo "10." Check for runtime errors using the following command: >> $resdir/bare-metal
> +echo "11." Check for runtime errors using the following command: >> $resdir/bare-metal
>  echo "   " $ tools/testing/selftests/rcutorture/bin/kvm-recheck.sh `dirname $resdir` >> $resdir/bare-metal
>  echo >> $resdir/bare-metal
> -echo Some of the above steps may be skipped if you build your bare-metal >> $resdir/bare-metal
> -echo kernel here: `head -n 1 $testid_txt | sed -e 's/^Build directory: //'`  >> $resdir/bare-metal
>  
>  echo $QEMU $qemu_args -m $TORTURE_QEMU_MEM -kernel $KERNEL -append \"$qemu_append $boot_args\" $TORTURE_QEMU_GDB_ARG > $resdir/qemu-cmd
>  echo "# TORTURE_SHUTDOWN_GRACE=$TORTURE_SHUTDOWN_GRACE" >> $resdir/qemu-cmd
> -- 
> 2.25.1
> 

      reply	other threads:[~2021-05-07 20:37 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-06 13:15 [PATCH 0/3] torture: Update bare metal config generation Frederic Weisbecker
2021-05-06 13:15 ` [PATCH 1/3] torture: Add --cmdline-to-config parameter to kvm.sh Frederic Weisbecker
2021-05-07 19:20   ` Paul E. McKenney
2021-05-17 10:42     ` Frederic Weisbecker
2021-05-17 20:40       ` Paul E. McKenney
2021-05-06 13:15 ` [PATCH 2/3] torture: Add --configonly parameter for kvm.sh Frederic Weisbecker
2021-05-07 20:29   ` Paul E. McKenney
2021-05-17 10:55     ` Frederic Weisbecker
2021-05-06 13:15 ` [PATCH 3/3] torture: Update bare metal advices to latest kvm.sh options Frederic Weisbecker
2021-05-07 20:37   ` Paul E. McKenney [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210507203742.GA975577@paulmck-ThinkPad-P17-Gen-1 \
    --to=paulmck@kernel.org \
    --cc=frederic@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®