linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: x86: memtest bootparam
       [not found] <200804181717.m3IHHicT031344@hera.kernel.org>
@ 2008-04-18 21:52 ` Andrew Morton
  2008-04-18 22:07   ` Yinghai Lu
  2008-04-19 13:33   ` Pavel Machek
  0 siblings, 2 replies; 9+ messages in thread
From: Andrew Morton @ 2008-04-18 21:52 UTC (permalink / raw)
  To: Yinghai Lu, Ingo Molnar; +Cc: Linux Kernel Mailing List

On Fri, 18 Apr 2008 17:17:44 GMT
Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:

> Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
> Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
> Parent:     9b967106da0357ef8b08847dce35584a04134f20
> Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
> AuthorDate: Fri Mar 21 18:56:19 2008 -0700
> Committer:  Ingo Molnar <mingo@elte.hu>
> CommitDate: Thu Apr 17 17:41:21 2008 +0200
> 
>     x86: memtest bootparam
>     
> ...
>
>  
> +	memtest=	[KNL,X86_64] Enable memtest
> +			Format: <integer>
> +			range: 0,4 : pattern number
> +			default : 0 <disable>

OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
vaguely aware of its existence.

>  
> +config MEMTEST_BOOTPARAM
> +	bool "Memtest boot parameter"
> +	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.
> +
> +	  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.

These seem pointless.  Why not just unconditionally implement memtest=? 
All the code for that should be __init anyway so we're hardly saving
anything here.



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

* Re: x86: memtest bootparam
  2008-04-18 21:52 ` x86: memtest bootparam Andrew Morton
@ 2008-04-18 22:07   ` Yinghai Lu
  2008-04-18 23:32     ` Andrew Morton
  2008-04-19 13:33   ` Pavel Machek
  1 sibling, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2008-04-18 22:07 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Yinghai Lu, Ingo Molnar, Linux Kernel Mailing List

On Fri, Apr 18, 2008 at 2:52 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Fri, 18 Apr 2008 17:17:44 GMT
>  Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
>
>  > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > Parent:     9b967106da0357ef8b08847dce35584a04134f20
>  > Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
>  > AuthorDate: Fri Mar 21 18:56:19 2008 -0700
>  > Committer:  Ingo Molnar <mingo@elte.hu>
>  > CommitDate: Thu Apr 17 17:41:21 2008 +0200
>  >
>  >     x86: memtest bootparam
>  >
>  > ...
>  >
>  >
>  > +     memtest=        [KNL,X86_64] Enable memtest
>  > +                     Format: <integer>
>  > +                     range: 0,4 : pattern number
>  > +                     default : 0 <disable>
>
>  OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
>  vaguely aware of its existence.

need one text file in Documentation ?

>
>  >
>  > +config MEMTEST_BOOTPARAM
>  > +     bool "Memtest boot parameter"
>  > +     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.
>  > +
>  > +       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.
>
>  These seem pointless.  Why not just unconditionally implement memtest=?
>  All the code for that should be __init anyway so we're hardly saving
>  anything here.

also
for big box, like 64g above, that will take a while.

YH

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

* Re: x86: memtest bootparam
  2008-04-18 22:07   ` Yinghai Lu
@ 2008-04-18 23:32     ` Andrew Morton
  2008-04-19  0:03       ` Yinghai Lu
  0 siblings, 1 reply; 9+ messages in thread
From: Andrew Morton @ 2008-04-18 23:32 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: yhlu.kernel.send, mingo, linux-kernel

On Fri, 18 Apr 2008 15:07:46 -0700
"Yinghai Lu" <yhlu.kernel@gmail.com> wrote:

> On Fri, Apr 18, 2008 at 2:52 PM, Andrew Morton
> <akpm@linux-foundation.org> wrote:
> > On Fri, 18 Apr 2008 17:17:44 GMT
> >  Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
> >
> >  > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
> >  > Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
> >  > Parent:     9b967106da0357ef8b08847dce35584a04134f20
> >  > Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
> >  > AuthorDate: Fri Mar 21 18:56:19 2008 -0700
> >  > Committer:  Ingo Molnar <mingo@elte.hu>
> >  > CommitDate: Thu Apr 17 17:41:21 2008 +0200
> >  >
> >  >     x86: memtest bootparam
> >  >
> >  > ...
> >  >
> >  >
> >  > +     memtest=        [KNL,X86_64] Enable memtest
> >  > +                     Format: <integer>
> >  > +                     range: 0,4 : pattern number
> >  > +                     default : 0 <disable>
> >
> >  OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
> >  vaguely aware of its existence.
> 
> need one text file in Documentation ?

Well if there was a single CONFIG_MEMTEST then it would probably be
sufficent to document it all within the Kconfig help for that option.

But there isn't a CONFIG_MEMTEST.  It appears that the presence or absence
of the memtest feature is controlled by CONFIG_MEMTEST_BOOTPARAM which
makes no sense at all!

> >  These seem pointless.  Why not just unconditionally implement memtest=?
> >  All the code for that should be __init anyway so we're hardly saving
> >  anything here.
> 
> also
> for big box, like 64g above, that will take a while.

So... such users shouldn't add the memtest= boot parameter?


I'd suggest the following:

- Add a CONFIG_MEMTEST.  No other config variable needed.

- Put all the memtest code inside #ifdef CONFIG_MEMTEST.

- As part of that memtest code, implement the memtest= boot option

- Make the memtest feature default to "off" if memtest= was not provided.


That's all very simple and conventional?

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

* Re: x86: memtest bootparam
  2008-04-18 23:32     ` Andrew Morton
@ 2008-04-19  0:03       ` Yinghai Lu
  0 siblings, 0 replies; 9+ messages in thread
From: Yinghai Lu @ 2008-04-19  0:03 UTC (permalink / raw)
  To: Andrew Morton; +Cc: yhlu.kernel.send, mingo, linux-kernel

On Fri, Apr 18, 2008 at 4:32 PM, Andrew Morton
<akpm@linux-foundation.org> wrote:
> On Fri, 18 Apr 2008 15:07:46 -0700
>  "Yinghai Lu" <yhlu.kernel@gmail.com> wrote:
>
>  > On Fri, Apr 18, 2008 at 2:52 PM, Andrew Morton
>  > <akpm@linux-foundation.org> wrote:
>  > > On Fri, 18 Apr 2008 17:17:44 GMT
>  > >  Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
>  > >
>  > >  > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > >  > Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > >  > Parent:     9b967106da0357ef8b08847dce35584a04134f20
>  > >  > Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
>  > >  > AuthorDate: Fri Mar 21 18:56:19 2008 -0700
>  > >  > Committer:  Ingo Molnar <mingo@elte.hu>
>  > >  > CommitDate: Thu Apr 17 17:41:21 2008 +0200
>  > >  >
>  > >  >     x86: memtest bootparam
>  > >  >
>  > >  > ...
>  > >  >
>  > >  >
>  > >  > +     memtest=        [KNL,X86_64] Enable memtest
>  > >  > +                     Format: <integer>
>  > >  > +                     range: 0,4 : pattern number
>  > >  > +                     default : 0 <disable>
>  > >
>  > >  OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
>  > >  vaguely aware of its existence.
>  >
>  > need one text file in Documentation ?
>
>  Well if there was a single CONFIG_MEMTEST then it would probably be
>  sufficent to document it all within the Kconfig help for that option.
>
>  But there isn't a CONFIG_MEMTEST.  It appears that the presence or absence
>  of the memtest feature is controlled by CONFIG_MEMTEST_BOOTPARAM which
>  makes no sense at all!
>
>
>  > >  These seem pointless.  Why not just unconditionally implement memtest=?
>  > >  All the code for that should be __init anyway so we're hardly saving
>  > >  anything here.
>  >
>  > also
>  > for big box, like 64g above, that will take a while.
>
>  So... such users shouldn't add the memtest= boot parameter?
>
>
>  I'd suggest the following:
>
>  - Add a CONFIG_MEMTEST.  No other config variable needed.
>
>  - Put all the memtest code inside #ifdef CONFIG_MEMTEST.
>
>  - As part of that memtest code, implement the memtest= boot option
>
>  - Make the memtest feature default to "off" if memtest= was not provided.
>
>
>  That's all very simple and conventional?

ok, I will produce one patch. it will be

memtest=0 ==> disable
memtest=4 ==> will run 4 test pattern

YH

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

* Re: x86: memtest bootparam
  2008-04-18 21:52 ` x86: memtest bootparam Andrew Morton
  2008-04-18 22:07   ` Yinghai Lu
@ 2008-04-19 13:33   ` Pavel Machek
  2008-04-19 20:54     ` Yinghai Lu
  1 sibling, 1 reply; 9+ messages in thread
From: Pavel Machek @ 2008-04-19 13:33 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Yinghai Lu, Ingo Molnar, Linux Kernel Mailing List

Hi!

> Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
> 
> > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
> > Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
> > Parent:     9b967106da0357ef8b08847dce35584a04134f20
> > Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
> > AuthorDate: Fri Mar 21 18:56:19 2008 -0700
> > Committer:  Ingo Molnar <mingo@elte.hu>
> > CommitDate: Thu Apr 17 17:41:21 2008 +0200
> > 
> >     x86: memtest bootparam
> >     
> > ...
> >
> >  
> > +	memtest=	[KNL,X86_64] Enable memtest
> > +			Format: <integer>
> > +			range: 0,4 : pattern number
> > +			default : 0 <disable>
> 
> OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
> vaguely aware of its existence.

Actually it would be nice if memtest was global, not x86-specific,
feature.

I had some fun with arm running with 256mb, when only 128mb was
present. It booted succesfully...

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

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

* Re: x86: memtest bootparam
  2008-04-19 13:33   ` Pavel Machek
@ 2008-04-19 20:54     ` Yinghai Lu
  2008-04-21 14:17       ` Ingo Molnar
  0 siblings, 1 reply; 9+ messages in thread
From: Yinghai Lu @ 2008-04-19 20:54 UTC (permalink / raw)
  To: Pavel Machek
  Cc: Andrew Morton, Yinghai Lu, Ingo Molnar, Linux Kernel Mailing List

On Sat, Apr 19, 2008 at 6:33 AM, Pavel Machek <pavel@ucw.cz> wrote:
> Hi!
>
>
>  > Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:
>  >
>  > > Gitweb:     http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > > Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
>  > > Parent:     9b967106da0357ef8b08847dce35584a04134f20
>  > > Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
>  > > AuthorDate: Fri Mar 21 18:56:19 2008 -0700
>  > > Committer:  Ingo Molnar <mingo@elte.hu>
>  > > CommitDate: Thu Apr 17 17:41:21 2008 +0200
>  > >
>  > >     x86: memtest bootparam
>  > >
>  > > ...
>  > >
>  > >
>  > > +   memtest=        [KNL,X86_64] Enable memtest
>  > > +                   Format: <integer>
>  > > +                   range: 0,4 : pattern number
>  > > +                   default : 0 <disable>
>  >
>  > OK.  Did the new memtest feature get documented anywhere, btw?  I'm only
>  > vaguely aware of its existence.
>
>  Actually it would be nice if memtest was global, not x86-specific,
>  feature.
>
>  I had some fun with arm running with 256mb, when only 128mb was
>  present. It booted succesfully...

depends if you have find_e820_area_size in you platform. that need
reserve_early...

maybe we need to make reserve_early generic at first.

YH

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

* Re: x86: memtest bootparam
  2008-04-19 20:54     ` Yinghai Lu
@ 2008-04-21 14:17       ` Ingo Molnar
  2008-04-21 16:38         ` Yinghai Lu
  0 siblings, 1 reply; 9+ messages in thread
From: Ingo Molnar @ 2008-04-21 14:17 UTC (permalink / raw)
  To: Yinghai Lu
  Cc: Pavel Machek, Andrew Morton, Yinghai Lu, Linux Kernel Mailing List


* Yinghai Lu <yhlu.kernel@gmail.com> wrote:

> >  > OK.  Did the new memtest feature get documented anywhere, btw?  
> >  > I'm only vaguely aware of its existence.
> >
> >  Actually it would be nice if memtest was global, not x86-specific, 
> >  feature.
> >
> >  I had some fun with arm running with 256mb, when only 128mb was 
> >  present. It booted succesfully...
> 
> depends if you have find_e820_area_size in you platform. that need 
> reserve_early...
> 
> maybe we need to make reserve_early generic at first.

e820 is very x86 specific - i think the proper interface would be to 
move the memtest feature to the bootmem subsystem. I.e. to run it once 
all the early reservations have been flushed into bootmem - but before 
we free all bootmem pages into the page allocator.

this still leaves a rather large amount of RAM to be tested, and keeps 
it all cross-arch as well. Hm?

	Ingo

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

* Re: x86: memtest bootparam
  2008-04-21 14:17       ` Ingo Molnar
@ 2008-04-21 16:38         ` Yinghai Lu
  0 siblings, 0 replies; 9+ messages in thread
From: Yinghai Lu @ 2008-04-21 16:38 UTC (permalink / raw)
  To: Ingo Molnar
  Cc: Pavel Machek, Andrew Morton, Yinghai Lu, Linux Kernel Mailing List

On Mon, Apr 21, 2008 at 7:17 AM, Ingo Molnar <mingo@elte.hu> wrote:
>
> * Yinghai Lu <yhlu.kernel@gmail.com> wrote:
>
> > >  > OK.  Did the new memtest feature get documented anywhere, btw?
> > >  > I'm only vaguely aware of its existence.
> > >
> > >  Actually it would be nice if memtest was global, not x86-specific,
> > >  feature.
> > >
> > >  I had some fun with arm running with 256mb, when only 128mb was
> > >  present. It booted succesfully...
> >
> > depends if you have find_e820_area_size in you platform. that need
> > reserve_early...
> >
> > maybe we need to make reserve_early generic at first.
>
> e820 is very x86 specific - i think the proper interface would be to
> move the memtest feature to the bootmem subsystem. I.e. to run it once
> all the early reservations have been flushed into bootmem - but before
> we free all bootmem pages into the page allocator.
>
> this still leaves a rather large amount of RAM to be tested, and keeps
> it all cross-arch as well. Hm?

sounds good, and arch part only need to check region that bootdata use
for bootmem allocation.

YH

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

* Re: x86: memtest bootparam
       [not found] ` <ak6MP-3wY-1@gated-at.bofh.it>
@ 2008-04-19 10:50   ` Bodo Eggert
  0 siblings, 0 replies; 9+ messages in thread
From: Bodo Eggert @ 2008-04-19 10:50 UTC (permalink / raw)
  To: Andrew Morton, Yinghai Lu, Ingo Molnar, Linux Kernel Mailing List

Andrew Morton <akpm@linux-foundation.org> wrote:
> Linux Kernel Mailing List <linux-kernel@vger.kernel.org> wrote:

>> Gitweb:    
>>http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c64df70793a9c344874eb4af19f85e0662d2d3ee
>> Commit:     c64df70793a9c344874eb4af19f85e0662d2d3ee
>> Author:     Yinghai Lu <yhlu.kernel.send@gmail.com>
>> Committer:  Ingo Molnar <mingo@elte.hu>
>> 
>>     x86: memtest bootparam

>> +    memtest=        [KNL,X86_64] Enable memtest
>> +                    Format: <integer>
>> +                    range: 0,4 : pattern number
>> +                    default : 0 <disable>

What about running multiple tests?

I'd use e.g. a bitmask: memtest=0xE will run test 2, 3 and 4.


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

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

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <200804181717.m3IHHicT031344@hera.kernel.org>
2008-04-18 21:52 ` x86: memtest bootparam Andrew Morton
2008-04-18 22:07   ` Yinghai Lu
2008-04-18 23:32     ` Andrew Morton
2008-04-19  0:03       ` Yinghai Lu
2008-04-19 13:33   ` Pavel Machek
2008-04-19 20:54     ` Yinghai Lu
2008-04-21 14:17       ` Ingo Molnar
2008-04-21 16:38         ` Yinghai Lu
     [not found] <ak6MP-3wY-3@gated-at.bofh.it>
     [not found] ` <ak6MP-3wY-1@gated-at.bofh.it>
2008-04-19 10:50   ` Bodo Eggert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).