Re: [PATCH tip/core/rcu 07/45] torture: Allow variations of "defconfig" to be specified
From: Paul E. McKenney
Date: Wed May 07 2014 - 19:52:50 EST
On Wed, May 07, 2014 at 02:22:19PM -0700, josh@xxxxxxxxxxxxxxxx wrote:
> On Mon, Apr 28, 2014 at 05:24:55PM -0700, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>
> >
> > Some environments require some variation on "make defconfig" to initialize
> > the .config file. This commit therefore adds a --defconfig argument to
> > allow this to be specified. The default value is of course "defconfig".
> >
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxxxxxxxxxx>
>
> <bikeshed color="blue">
> "--defconfig randconfig" or "--defconfig allyesconfig" or similar seems
> rather odd; how about calling it --kconfig or similar?
> </bikeshed>
Some day I am going to have to feed that to a browser and see what
happens. ;-)
I must confess that I hadn't considered feeding randconfig or allyesconfig
to that argument, partly because I figured that I would have to also
supply Kconfig constraints in those cases in order to ensure that the
resulting kernel would actually run under qemu. I was instead thinking
in terms of a --configs option beginning with "RAND", which would pick
up the Kconfig constraints from the appropriate configs directory,
for example:
tools/testing/selftests/rcutorture/configs/rcu/RAND1
That said, I haven't thought that far down that path.
So for the --defconfig argument, I was thinking more in terms of things
like pseries_defconfig or versatile_defconfig.
Thanx, Paul
> > tools/testing/selftests/rcutorture/bin/configinit.sh | 2 +-
> > tools/testing/selftests/rcutorture/bin/kvm.sh | 8 ++++++++
> > 2 files changed, 9 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/testing/selftests/rcutorture/bin/configinit.sh b/tools/testing/selftests/rcutorture/bin/configinit.sh
> > index a1be6e62add1..9c3f3d39b934 100755
> > --- a/tools/testing/selftests/rcutorture/bin/configinit.sh
> > +++ b/tools/testing/selftests/rcutorture/bin/configinit.sh
> > @@ -62,7 +62,7 @@ grep '^grep' < $T/u.sh > $T/upd.sh
> > echo "cat - $c" >> $T/upd.sh
> > make mrproper
> > make $buildloc distclean > $builddir/Make.distclean 2>&1
> > -make $buildloc defconfig > $builddir/Make.defconfig.out 2>&1
> > +make $buildloc $TORTURE_DEFCONFIG > $builddir/Make.defconfig.out 2>&1
> > mv $builddir/.config $builddir/.config.sav
> > sh $T/upd.sh < $builddir/.config.sav > $builddir/.config
> > cp $builddir/.config $builddir/.config.new
> > diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
> > index a52a077ee258..59945b7793d9 100644
> > --- a/tools/testing/selftests/rcutorture/bin/kvm.sh
> > +++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
> > @@ -38,6 +38,7 @@ dur=30
> > dryrun=""
> > KVM="`pwd`/tools/testing/selftests/rcutorture"; export KVM
> > PATH=${KVM}/bin:$PATH; export PATH
> > +TORTURE_DEFCONFIG=defconfig
> > TORTURE_INITRD="$KVM/initrd"; export TORTURE_INITRD
> > RCU_KMAKE_ARG=""; export RCU_KMAKE_ARG
> > TORTURE_SUITE=rcu
> > @@ -56,6 +57,7 @@ usage () {
> > echo " --configs \"config-file list\""
> > echo " --cpus N"
> > echo " --datestamp string"
> > + echo " --defconfig string"
> > echo " --dryrun sched|script"
> > echo " --duration minutes"
> > echo " --interactive"
> > @@ -96,6 +98,11 @@ do
> > ds=$2
> > shift
> > ;;
> > + --defconfig)
> > + checkarg --defconfig "defconfigtype" "$#" "$2" '^[^/][^/]*$' '^--'
> > + TORTURE_DEFCONFIG=$2
> > + shift
> > + ;;
> > --dryrun)
> > checkarg --dryrun "sched|script" $# "$2" 'sched\|script' '^--'
> > dryrun=$2
> > @@ -259,6 +266,7 @@ END {
> > # Generate a script to execute the tests in appropriate batches.
> > cat << ___EOF___ > $T/script
> > TORTURE_SUITE="$TORTURE_SUITE"; export TORTURE_SUITE
> > +TORTURE_DEFCONFIG="$TORTURE_DEFCONFIG"; export TORTURE_DEFCONFIG
> > ___EOF___
> > awk < $T/cfgcpu.pack \
> > -v CONFIGDIR="$CONFIGFRAG/$kversion/" \
> > --
> > 1.8.1.5
> >
>
--
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/