public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86_64: simplify the memtest parameter setting
@ 2008-04-19  0:49 Yinghai Lu
  2008-04-19  1:57 ` Frans Pop
  0 siblings, 1 reply; 5+ messages in thread
From: Yinghai Lu @ 2008-04-19  0:49 UTC (permalink / raw)
  To: Ingo Molnar, Andrew Morton, Thomas Gleixner, H. Peter Anvin; +Cc: linux-kernel


use CONFIG_MEMTEST only. if it is set, will have memtest=0 (disabled)

need to have memtest=4 in command line to test more patterns.

Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com>

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 21825ea..42d6568 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -389,35 +389,19 @@ config PARAVIRT
 
 endif
 
-config MEMTEST_BOOTPARAM
-	bool "Memtest boot parameter"
+config MEMTEST
+	bool "Memtest"
 	depends on X86_64
 	default y
 	help
 	  This option adds a kernel parameter 'memtest', which allows memtest
-	  to be disabled at boot.  If this option is selected, memtest
-	  functionality can be disabled with memtest=0 on the kernel
-	  command line.  The purpose of this option is to allow a single
-	  kernel image to be distributed with memtest built in, but not
-	  necessarily enabled.
-
+	  to be set.
+		memtest=0, mean disabled; -- default
+		memtest=1, mean do 1 test pattern;
+		...
+		memtest=4, mean do 4 test patterns.
 	  If you are unsure how to answer this question, answer Y.
 
-config MEMTEST_BOOTPARAM_VALUE
-	int "Memtest boot parameter default value (0-4)"
-	depends on MEMTEST_BOOTPARAM
-	range 0 4
-	default 0
-	help
-	  This option sets the default value for the kernel parameter
-	  'memtest', which allows memtest to be disabled at boot.  If this
-	  option is set to 0 (zero), the memtest kernel parameter will
-	  default to 0, disabling memtest at bootup.  If this option is
-	  set to 4, the memtest kernel parameter will default to 4,
-	  enabling memtest at bootup, and use that as pattern number.
-
-	  If you are unsure how to answer this question, answer 0.
-
 config ACPI_SRAT
 	def_bool y
 	depends on X86_32 && ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c
index b67ede4..82a0319 100644
--- a/arch/x86/mm/init_64.c
+++ b/arch/x86/mm/init_64.c
@@ -432,7 +432,7 @@ static void __init init_gbpages(void)
 		direct_gbpages = 0;
 }
 
-#ifdef CONFIG_MEMTEST_BOOTPARAM
+#ifdef CONFIG_MEMTEST
 
 static void __init memtest(unsigned long start_phys, unsigned long size,
 				 unsigned pattern)
@@ -494,7 +494,8 @@ static void __init memtest(unsigned long start_phys, unsigned long size,
 
 }
 
-static int memtest_pattern __initdata = CONFIG_MEMTEST_BOOTPARAM_VALUE;
+/* default is disabled */
+static int memtest_pattern __initdata = 0;
 
 static int __init parse_memtest(char *arg)
 {

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86_64: simplify the memtest parameter setting
  2008-04-19  0:49 [PATCH] x86_64: simplify the memtest parameter setting Yinghai Lu
@ 2008-04-19  1:57 ` Frans Pop
  2008-04-19  2:15   ` Frans Pop
  0 siblings, 1 reply; 5+ messages in thread
From: Frans Pop @ 2008-04-19  1:57 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: mingo, akpm, tglx, hpa, linux-kernel

Yinghai Lu wrote:
> -config MEMTEST_BOOTPARAM
> -	bool "Memtest boot parameter"
> +config MEMTEST
> +	bool "Memtest"
>  depends on X86_64
>  default y

With this patch, this default no longer makes any sense.

>  help
>  This option adds a kernel parameter 'memtest', which allows memtest
> -	  to be disabled at boot.  If this option is selected, memtest
> -	  functionality can be disabled with memtest=0 on the kernel
> -	  command line.  The purpose of this option is to allow a single
> -	  kernel image to be distributed with memtest built in, but not
> -	  necessarily enabled.
> -
> +	  to be set.
> +		memtest=0, mean disabled; -- default
> +		memtest=1, mean do 1 test pattern;
> +		...
> +		memtest=4, mean do 4 test patterns.

s/mean/means/
s/; -- default/ (default)/ although that does not really make sense either

Maybe some explanation of what a "test pattern" is would be useful.

>  If you are unsure how to answer this question, answer Y.

Also makes no sense anymore.

Cheers,
FJP

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86_64: simplify the memtest parameter setting
  2008-04-19  1:57 ` Frans Pop
@ 2008-04-19  2:15   ` Frans Pop
  2008-04-19  3:17     ` Yinghai Lu
  0 siblings, 1 reply; 5+ messages in thread
From: Frans Pop @ 2008-04-19  2:15 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: mingo, akpm, tglx, hpa, linux-kernel

On Saturday 19 April 2008, Frans Pop wrote:
> Yinghai Lu wrote:
> > -config MEMTEST_BOOTPARAM
> > -	bool "Memtest boot parameter"
> > +config MEMTEST
> > +	bool "Memtest"
> >  depends on X86_64
> >  default y
>
> With this patch, this default no longer makes any sense.
>
> >  help
> >  This option adds a kernel parameter 'memtest', which allows memtest
> > -	  to be disabled at boot.  If this option is selected, memtest
> > -	  functionality can be disabled with memtest=0 on the kernel
> > -	  command line.  The purpose of this option is to allow a single
> > -	  kernel image to be distributed with memtest built in, but not
> > -	  necessarily enabled.
> > -
> > +	  to be set.
> > +		memtest=0, mean disabled; -- default
> > +		memtest=1, mean do 1 test pattern;
> > +		...
> > +		memtest=4, mean do 4 test patterns.
>
> s/mean/means/
> s/; -- default/ (default)/

These are still good (IMO).

> Maybe some explanation of what a "test pattern" is would be useful.
>
> >  If you are unsure how to answer this question, answer Y.
>
> Also makes no sense anymore.

Oops. Just see I was too fast. After reading it again I see that the y/n 
value is correct after all.

However, it also means that the new description is probably too short.
The phrase "allows memtest to be set" does not really mean anything to a 
user who does not know what memtest really does. It also does not explain 
that memtest is a boot parameter.

Also, it should probably be made more explicit that no memtest is actually 
performed unless the memtest boot parameter is passed at the boot prompt.

Looks like 4 is the maximum possible value. This should be mentioned 
explicitly (here as well as in Documentation/kernel-parameters.txt).

Maybe something like this:
	This option allows a memory test to be executed when the system is
	booted. A memory test is only actually executed if the kernel boot
	parameter 'memtest' is passed.

	The value of that parameter is the number to times the test is
	performed:
		memtest=0: don't perform the test (default)
		memtest=1: perform the test once
		...
		memtest=4: perform the test 4 times (maximum).

	If you are unsure how to answer this question, answer Y.

Hmmm. The original description mentions "N patterns". If those patterns are 
actually different, then a different description is probably needed.

Sorry for the confusion.

Cheers,
FJP

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86_64: simplify the memtest parameter setting
  2008-04-19  2:15   ` Frans Pop
@ 2008-04-19  3:17     ` Yinghai Lu
  2008-04-19  8:20       ` Stefan Richter
  0 siblings, 1 reply; 5+ messages in thread
From: Yinghai Lu @ 2008-04-19  3:17 UTC (permalink / raw)
  To: Frans Pop; +Cc: Yinghai Lu, mingo, akpm, tglx, hpa, linux-kernel

On Fri, Apr 18, 2008 at 7:15 PM, Frans Pop <elendil@planet.nl> wrote:
> On Saturday 19 April 2008, Frans Pop wrote:
>  > Yinghai Lu wrote:
>  > > -config MEMTEST_BOOTPARAM
>  > > -   bool "Memtest boot parameter"
>  > > +config MEMTEST
>  > > +   bool "Memtest"
>  > >  depends on X86_64
>  > >  default y
>  >
>  > With this patch, this default no longer makes any sense.
>  >
>  > >  help
>  > >  This option adds a kernel parameter 'memtest', which allows memtest
>  > > -     to be disabled at boot.  If this option is selected, memtest
>  > > -     functionality can be disabled with memtest=0 on the kernel
>  > > -     command line.  The purpose of this option is to allow a single
>  > > -     kernel image to be distributed with memtest built in, but not
>  > > -     necessarily enabled.
>  > > -
>  > > +     to be set.
>  > > +           memtest=0, mean disabled; -- default
>  > > +           memtest=1, mean do 1 test pattern;
>  > > +           ...
>  > > +           memtest=4, mean do 4 test patterns.
>  >
>  > s/mean/means/
>  > s/; -- default/ (default)/
>
>  These are still good (IMO).
>
>
>  > Maybe some explanation of what a "test pattern" is would be useful.
>  >
>  > >  If you are unsure how to answer this question, answer Y.
>  >
>  > Also makes no sense anymore.
>
>  Oops. Just see I was too fast. After reading it again I see that the y/n
>  value is correct after all.
>
>  However, it also means that the new description is probably too short.
>  The phrase "allows memtest to be set" does not really mean anything to a
>  user who does not know what memtest really does. It also does not explain
>  that memtest is a boot parameter.
>
>  Also, it should probably be made more explicit that no memtest is actually
>  performed unless the memtest boot parameter is passed at the boot prompt.
>
>  Looks like 4 is the maximum possible value. This should be mentioned
>  explicitly (here as well as in Documentation/kernel-parameters.txt).

current it only support 4 pattern, will try to move memtester pattern
into it later...

YH

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] x86_64: simplify the memtest parameter setting
  2008-04-19  3:17     ` Yinghai Lu
@ 2008-04-19  8:20       ` Stefan Richter
  0 siblings, 0 replies; 5+ messages in thread
From: Stefan Richter @ 2008-04-19  8:20 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: Frans Pop, Yinghai Lu, mingo, akpm, tglx, hpa, linux-kernel

> On Fri, Apr 18, 2008 at 7:15 PM, Frans Pop <elendil@planet.nl> wrote:
>>  the new description is probably too short.
>>  The phrase "allows memtest to be set" does not really mean anything to a
>>  user who does not know what memtest really does. It also does not explain
>>  that memtest is a boot parameter.
>>
>>  Also, it should probably be made more explicit that no memtest is actually
>>  performed unless the memtest boot parameter is passed at the boot prompt.
>>
>>  Looks like 4 is the maximum possible value. This should be mentioned
>>  explicitly (here as well as in Documentation/kernel-parameters.txt).

To add to this:  The help text should IMO contain
   - that a test for faulty RAM is being added if Y,
   - that this feature can be controlled by the boot parameter
     (and, per the parameter's default, is normally off),
   - how many loops with which data patterns are performed depending
     on the boot parameter value,
   - how long this might take (so that nobody who hears of this for
     the first time enables it e.g. on a server which is supposed to
     not take too long to reboot),
   - how reliable the results of this test are (I presume that some
     faults can only be found by many repeated re-runs of the memory
     tester),
   - that saying Y slightly (?) increases the size of the kernel image
     but does not influence the kernel size after boot-up is completed.

Thanks,
-- 
Stefan Richter
-=====-==--- -=-- =--==
http://arcgraph.de/sr/

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2008-04-19  8:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-19  0:49 [PATCH] x86_64: simplify the memtest parameter setting Yinghai Lu
2008-04-19  1:57 ` Frans Pop
2008-04-19  2:15   ` Frans Pop
2008-04-19  3:17     ` Yinghai Lu
2008-04-19  8:20       ` Stefan Richter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox