2005-03-25 22:01:12

by Dave Hansen

[permalink] [raw]
Subject: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options


With sparsemem and memory hotplug there are quite a few options that
we kept adding identically in several different architectures. This
new file allows some of these to be consolidated.

Signed-off-by: Andy Whitcroft <[email protected]>
Signed-off-by: Dave Hansen <[email protected]>
---

memhotplug-dave/mm/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++
1 files changed, 41 insertions(+)

diff -puN mm/Kconfig~A6-mm-Kconfig mm/Kconfig
--- memhotplug/mm/Kconfig~A6-mm-Kconfig 2005-03-25 08:08:22.000000000 -0800
+++ memhotplug-dave/mm/Kconfig 2005-03-25 08:08:22.000000000 -0800
@@ -0,0 +1,41 @@
+choice
+ prompt "Memory model"
+ default FLATMEM
+ default SPARSEMEM if ARCH_SPARSEMEM_DEFAULT
+ default DISCONTIGMEM if ARCH_DISCONTIGMEM_DEFAULT
+
+config FLATMEM
+ bool "Flat Memory"
+ depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE
+ help
+ This option allows you to change some of the ways that
+ Linux manages its memory internally. Most users will
+ only have one option here: FLATMEM. This is normal
+ and a correct option.
+
+ Some users of more advanced features like NUMA and
+ memory hotplug may have different options here.
+ DISCONTIGMEM is an more mature, better tested system,
+ but is incompatible with memory hotplug and may suffer
+ decreased performance over SPARSEMEM. If unsure between
+ "Sparse Memory" and "Discontiguous Memory", choose
+ "Discontiguous Memory".
+
+ If unsure, choose FLATMEM.
+
+config DISCONTIGMEM
+ bool "Discontigious Memory"
+ depends on ARCH_DISCONTIGMEM_ENABLE
+ help
+ If unsure, choose this option over "Sparse Memory".
+
+endchoice
+
+#
+# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
+# to represent different areas of memory. This variable allows
+# those dependencies to exist individually.
+#
+config NEED_MULTIPLE_NODES
+ def_bool y
+ depends on DISCONTIGMEM || NUMA
_


2005-03-26 03:01:29

by Randy.Dunlap

[permalink] [raw]
Subject: Re: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options

Dave Hansen wrote:
> With sparsemem and memory hotplug there are quite a few options that
> we kept adding identically in several different architectures. This
> new file allows some of these to be consolidated.
>
> Signed-off-by: Andy Whitcroft <[email protected]>
> Signed-off-by: Dave Hansen <[email protected]>
> ---
>
> memhotplug-dave/mm/Kconfig | 41 +++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 41 insertions(+)
>
> diff -puN mm/Kconfig~A6-mm-Kconfig mm/Kconfig
> --- memhotplug/mm/Kconfig~A6-mm-Kconfig 2005-03-25 08:08:22.000000000 -0800
> +++ memhotplug-dave/mm/Kconfig 2005-03-25 08:08:22.000000000 -0800
> @@ -0,0 +1,41 @@
> +choice
> + prompt "Memory model"
> + default FLATMEM
> + default SPARSEMEM if ARCH_SPARSEMEM_DEFAULT
> + default DISCONTIGMEM if ARCH_DISCONTIGMEM_DEFAULT
> +
> +config FLATMEM
> + bool "Flat Memory"
> + depends on !ARCH_DISCONTIGMEM_ENABLE || ARCH_FLATMEM_ENABLE
> + help
> + This option allows you to change some of the ways that
> + Linux manages its memory internally. Most users will
> + only have one option here: FLATMEM. This is normal
> + and a correct option.
> +
> + Some users of more advanced features like NUMA and
> + memory hotplug may have different options here.
> + DISCONTIGMEM is an more mature, better tested system,
> + but is incompatible with memory hotplug and may suffer
> + decreased performance over SPARSEMEM. If unsure between
> + "Sparse Memory" and "Discontiguous Memory", choose
Where is the "Sparse Memory" option? I didn't find it.

> + "Discontiguous Memory".
> +
> + If unsure, choose FLATMEM.
> +
> +config DISCONTIGMEM
> + bool "Discontigious Memory"
> + depends on ARCH_DISCONTIGMEM_ENABLE
> + help
> + If unsure, choose this option over "Sparse Memory".
Same question....

> +endchoice
> +
> +#
> +# Both the NUMA code and DISCONTIGMEM use arrays of pg_data_t's
> +# to represent different areas of memory. This variable allows
> +# those dependencies to exist individually.
> +#
> +config NEED_MULTIPLE_NODES
> + def_bool y
> + depends on DISCONTIGMEM || NUMA


--
~Randy

2005-03-26 19:01:08

by Dave Hansen

[permalink] [raw]
Subject: Re: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options

On Fri, 2005-03-25 at 19:00 -0800, Randy.Dunlap wrote:
...
> > +config DISCONTIGMEM
> > + bool "Discontigious Memory"
> > + depends on ARCH_DISCONTIGMEM_ENABLE
> > + help
> > + If unsure, choose this option over "Sparse Memory".
> Same question....

It's in the third patch in the series. They were all together at one
point and I was trying to be lazy, but you caught me :)

-- Dave

2005-03-26 20:56:57

by Randy.Dunlap

[permalink] [raw]
Subject: Re: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options

Dave Hansen wrote:
> On Fri, 2005-03-25 at 19:00 -0800, Randy.Dunlap wrote:
> ...
>
>>>+config DISCONTIGMEM
>>>+ bool "Discontigious Memory"
>>>+ depends on ARCH_DISCONTIGMEM_ENABLE
>>>+ help
>>>+ If unsure, choose this option over "Sparse Memory".
>>
>>Same question....
>
>
> It's in the third patch in the series. They were all together at one
> point and I was trying to be lazy, but you caught me :)

I wasn't trying to catch you, but I've already looked at
all 4 patches in the series and I still can't find an
option that is labeled/described as "Sparse Memory"....
The word "sparse" isn't even in patch 3/4... maybe
there is something missing?

--
~Randy

2005-03-26 21:08:33

by Dave Hansen

[permalink] [raw]
Subject: Re: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options

On Sat, 2005-03-26 at 12:56 -0800, Randy.Dunlap wrote:
> I wasn't trying to catch you, but I've already looked at
> all 4 patches in the series and I still can't find an
> option that is labeled/described as "Sparse Memory"....
> The word "sparse" isn't even in patch 3/4... maybe
> there is something missing?

Nope, you're not missing anything. I'm just a little mixed up. You can
find the actual "Sparse Memory" option in this patch:

http://sr71.net/patches/2.6.12/2.6.12-rc1-mhp2/broken-out/B-sparse-151-add-to-mm-Kconfig.patch

I could easily remove the references to it in the patches that I posted
RFC, but I hoped that they would get in quickly enough that it wouldn't
matter. Also, the help option does say that all of the options probably
won't show up. So, users shouldn't be horribly confused if they don't
see the sparsemem option.

-- Dave

2005-03-26 21:38:45

by Randy.Dunlap

[permalink] [raw]
Subject: Re: [RFC][PATCH 1/4] create mm/Kconfig for arch-independent memory options

Dave Hansen wrote:
> On Sat, 2005-03-26 at 12:56 -0800, Randy.Dunlap wrote:
>
>>I wasn't trying to catch you, but I've already looked at
>>all 4 patches in the series and I still can't find an
>>option that is labeled/described as "Sparse Memory"....
>>The word "sparse" isn't even in patch 3/4... maybe
>>there is something missing?
>
>
> Nope, you're not missing anything. I'm just a little mixed up. You can
> find the actual "Sparse Memory" option in this patch:
>
> http://sr71.net/patches/2.6.12/2.6.12-rc1-mhp2/broken-out/B-sparse-151-add-to-mm-Kconfig.patch
>
> I could easily remove the references to it in the patches that I posted
> RFC, but I hoped that they would get in quickly enough that it wouldn't
> matter. Also, the help option does say that all of the options probably
> won't show up. So, users shouldn't be horribly confused if they don't
> see the sparsemem option.

OK, thanks for the clarifications.

--
~Randy