lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150513172824.GJ6776@linux.vnet.ibm.com>
Date:	Wed, 13 May 2015 10:28:25 -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,
	tglx@...utronix.de, peterz@...radead.org, rostedt@...dmis.org,
	dhowells@...hat.com, edumazet@...gle.com, dvhart@...ux.intel.com,
	fweisbec@...il.com, oleg@...hat.com, bobby.prani@...il.com
Subject: Re: [PATCH tip/core/rcu 11/13] rcutorture: Update
 TREE_RCU-kconfig.txt

On Tue, May 12, 2015 at 06:06:43PM -0700, josh@...htriplett.org wrote:
> On Tue, May 12, 2015 at 03:58:11PM -0700, Paul E. McKenney wrote:
> > From: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
> > 
> > This commit updates TREE_RCU-kconfig.txt to reflect changes in RCU's
> > Kconfig setup.  This commit also updates rcutorture's Kconfig fragments
> > to account for Kconfig parameters that are now driven directly off of
> > other Kconfig parameters.
> > 
> > Reported-by: Pranith Kumar <bobby.prani@...il.com>
> > Signed-off-by: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
> 
> Can you please explain the #CHECK# prefix that this adds to several of
> the configs?

I added the following paragraph to the commit log:

	The #CHECK# prefix tells the rcutorture scripts to take no action
	to try to set the Kconfig parameter, but to check that it does
	in fact get set.  This is useful for verifying that Kconfig
	parameters that are supposed to be automatically set do in fact
	get set to the required values.

Does that help?

							Thanx, Paul

> >  .../selftests/rcutorture/configs/rcu/TASKS01       |  3 +-
> >  .../selftests/rcutorture/configs/rcu/TINY02        |  2 +-
> >  .../selftests/rcutorture/configs/rcu/TREE04        |  2 +-
> >  .../selftests/rcutorture/configs/rcu/TREE05        |  2 +-
> >  .../selftests/rcutorture/configs/rcu/TREE06        |  2 +-
> >  .../selftests/rcutorture/configs/rcu/TREE07        |  2 +-
> >  .../selftests/rcutorture/configs/rcu/TREE08        |  2 +-
> >  .../selftests/rcutorture/doc/TREE_RCU-kconfig.txt  | 36 ++++++++--------------
> >  8 files changed, 21 insertions(+), 30 deletions(-)
> > 
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TASKS01 b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01
> > index 9318de8d5e88..2cc0e60eba6e 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TASKS01
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TASKS01
> > @@ -5,5 +5,6 @@ CONFIG_PREEMPT_NONE=n
> >  CONFIG_PREEMPT_VOLUNTARY=n
> >  CONFIG_PREEMPT=y
> >  CONFIG_DEBUG_LOCK_ALLOC=y
> > -CONFIG_PROVE_RCU=y
> > +CONFIG_PROVE_LOCKING=n
> > +#CHECK#CONFIG_PROVE_RCU=n
> >  CONFIG_RCU_EXPERT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TINY02 b/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > index 36e41df3d27a..f1892e0371c9 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TINY02
> > @@ -8,7 +8,7 @@ CONFIG_NO_HZ_IDLE=n
> >  CONFIG_NO_HZ_FULL=n
> >  CONFIG_RCU_TRACE=y
> >  CONFIG_PROVE_LOCKING=y
> > -CONFIG_PROVE_RCU=y
> > +#CHECK#CONFIG_PROVE_RCU=y
> >  CONFIG_DEBUG_LOCK_ALLOC=y
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> >  CONFIG_PREEMPT_COUNT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 b/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > index d34e4b05941f..3f5112751cda 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE04
> > @@ -17,6 +17,6 @@ CONFIG_RCU_FANOUT=4
> >  CONFIG_RCU_FANOUT_LEAF=4
> >  CONFIG_RCU_NOCB_CPU=n
> >  CONFIG_DEBUG_LOCK_ALLOC=n
> > -CONFIG_RCU_CPU_STALL_INFO=y
> > +CONFIG_RCU_CPU_STALL_INFO=n
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> >  CONFIG_RCU_EXPERT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE05 b/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > index 2f9b93a777dd..c04dfea6fd21 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE05
> > @@ -16,7 +16,7 @@ CONFIG_RCU_NOCB_CPU=y
> >  CONFIG_RCU_NOCB_CPU_NONE=y
> >  CONFIG_DEBUG_LOCK_ALLOC=y
> >  CONFIG_PROVE_LOCKING=y
> > -CONFIG_PROVE_RCU=y
> > +#CHECK#CONFIG_PROVE_RCU=y
> >  CONFIG_RCU_CPU_STALL_INFO=n
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> >  CONFIG_RCU_EXPERT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE06 b/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > index f7b2e87af79a..f51d2c73a68e 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE06
> > @@ -17,7 +17,7 @@ CONFIG_RCU_FANOUT_LEAF=6
> >  CONFIG_RCU_NOCB_CPU=n
> >  CONFIG_DEBUG_LOCK_ALLOC=y
> >  CONFIG_PROVE_LOCKING=y
> > -CONFIG_PROVE_RCU=y
> > +#CHECK#CONFIG_PROVE_RCU=y
> >  CONFIG_RCU_CPU_STALL_INFO=n
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=y
> >  CONFIG_RCU_EXPERT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE07 b/tools/testing/selftests/rcutorture/configs/rcu/TREE07
> > index ce18d597b553..f422af4ff5a3 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE07
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE07
> > @@ -17,6 +17,6 @@ CONFIG_RCU_FANOUT=2
> >  CONFIG_RCU_FANOUT_LEAF=2
> >  CONFIG_RCU_NOCB_CPU=n
> >  CONFIG_DEBUG_LOCK_ALLOC=n
> > -CONFIG_RCU_CPU_STALL_INFO=y
> > +CONFIG_RCU_CPU_STALL_INFO=n
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> >  CONFIG_RCU_EXPERT=y
> > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE08 b/tools/testing/selftests/rcutorture/configs/rcu/TREE08
> > index fc1fed642917..a24d2ca30646 100644
> > --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE08
> > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE08
> > @@ -18,7 +18,7 @@ CONFIG_RCU_NOCB_CPU=y
> >  CONFIG_RCU_NOCB_CPU_ALL=y
> >  CONFIG_DEBUG_LOCK_ALLOC=n
> >  CONFIG_PROVE_LOCKING=y
> > -CONFIG_PROVE_RCU=y
> > +#CHECK#CONFIG_PROVE_RCU=y
> >  CONFIG_RCU_CPU_STALL_INFO=n
> >  CONFIG_RCU_BOOST=n
> >  CONFIG_DEBUG_OBJECTS_RCU_HEAD=n
> > diff --git a/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt
> > index ec03c883db00..b24c0004fc49 100644
> > --- a/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt
> > +++ b/tools/testing/selftests/rcutorture/doc/TREE_RCU-kconfig.txt
> > @@ -12,13 +12,12 @@ CONFIG_NO_HZ_IDLE -- Do those not otherwise specified. (Groups of two.)
> >  CONFIG_NO_HZ_FULL -- Do two, one with CONFIG_NO_HZ_FULL_SYSIDLE.
> >  CONFIG_NO_HZ_FULL_SYSIDLE -- Do one.
> >  CONFIG_PREEMPT -- Do half.  (First three and #8.)
> > -CONFIG_PROVE_LOCKING -- Do all but two, covering CONFIG_PROVE_RCU and not.
> > -CONFIG_PROVE_RCU -- Do all but one under CONFIG_PROVE_LOCKING.
> > +CONFIG_PROVE_LOCKING -- Do several, covering CONFIG_DEBUG_LOCK_ALLOC=y and not.
> > +CONFIG_PROVE_RCU -- Hardwired to CONFIG_PROVE_LOCKING.
> >  CONFIG_RCU_BOOST -- one of PREEMPT_RCU.
> >  CONFIG_RCU_KTHREAD_PRIO -- set to 2 for _BOOST testing.
> > -CONFIG_RCU_CPU_STALL_INFO -- Do one.
> > -CONFIG_RCU_FANOUT -- Cover hierarchy as currently, but overlap with others.
> > -CONFIG_RCU_FANOUT_EXACT -- Do one.
> > +CONFIG_RCU_CPU_STALL_INFO -- Now default, avoid at least twice.
> > +CONFIG_RCU_FANOUT -- Cover hierarchy, but overlap with others.
> >  CONFIG_RCU_FANOUT_LEAF -- Do one non-default.
> >  CONFIG_RCU_FAST_NO_HZ -- Do one, but not with CONFIG_RCU_NOCB_CPU_ALL.
> >  CONFIG_RCU_NOCB_CPU -- Do three, see below.
> > @@ -27,28 +26,19 @@ CONFIG_RCU_NOCB_CPU_NONE -- Do one.
> >  CONFIG_RCU_NOCB_CPU_ZERO -- Do one.
> >  CONFIG_RCU_TRACE -- Do half.
> >  CONFIG_SMP -- Need one !SMP for PREEMPT_RCU.
> > +!RCU_EXPERT -- Do a few, but these have to be vanilla configurations.
> >  RCU-bh: Do one with PREEMPT and one with !PREEMPT.
> >  RCU-sched: Do one with PREEMPT but not BOOST.
> >  
> >  
> > -Hierarchy:
> > -
> > -TREE01.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=8, CONFIG_RCU_FANOUT_EXACT=n.
> > -TREE02.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=3, CONFIG_RCU_FANOUT_EXACT=n,
> > -	CONFIG_RCU_FANOUT_LEAF=3.
> > -TREE03.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=4, CONFIG_RCU_FANOUT_EXACT=n,
> > -	CONFIG_RCU_FANOUT_LEAF=4.
> > -TREE04.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=2, CONFIG_RCU_FANOUT_EXACT=n,
> > -	CONFIG_RCU_FANOUT_LEAF=2.
> > -TREE05.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=6, CONFIG_RCU_FANOUT_EXACT=n
> > -	CONFIG_RCU_FANOUT_LEAF=6.
> > -TREE06.	CONFIG_NR_CPUS=8, CONFIG_RCU_FANOUT=6, CONFIG_RCU_FANOUT_EXACT=y
> > -	CONFIG_RCU_FANOUT_LEAF=6.
> > -TREE07.	CONFIG_NR_CPUS=16, CONFIG_RCU_FANOUT=2, CONFIG_RCU_FANOUT_EXACT=n,
> > -	CONFIG_RCU_FANOUT_LEAF=2.
> > -TREE08.	CONFIG_NR_CPUS=16, CONFIG_RCU_FANOUT=3, CONFIG_RCU_FANOUT_EXACT=y,
> > -	CONFIG_RCU_FANOUT_LEAF=2.
> > -TREE09.	CONFIG_NR_CPUS=1.
> > +Boot parameters:
> > +
> > +nohz_full - do at least one.
> > +maxcpu -- do at least one.
> > +rcupdate.rcu_self_test_bh -- Do at least one each, offloaded and not.
> > +rcupdate.rcu_self_test_sched -- Do at least one each, offloaded and not.
> > +rcupdate.rcu_self_test -- Do at least one each, offloaded and not.
> > +rcutree.rcu_fanout_exact -- Do at least one.
> >  
> >  
> >  Kconfig Parameters Ignored:
> > -- 
> > 1.8.1.5
> > 
> 

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ