2006-08-12 05:27:48

by Nishanth Aravamudan

[permalink] [raw]
Subject: VMPLIT question

While building a newer kernel for a server (which had been running
2.6.12 or so), I spent some time looking for how to set the VMSPLIT
.config options. I searched in menuconfig for VMSPLIT and was given a
few responses, all similar to this:

│ Symbol: VMSPLIT_3G [=n]
│ Prompt: 3G/1G user/kernel split
│ Defined at arch/i386/Kconfig:488
│ Depends on: <choice>

Since depending on "<choice>" is less than helpful, I did an rgrep and
found what it actually depends on:

depends on EXPERIMENTAL && !X86_PAE
prompt "Memory split" if EMBEDDED
default VMSPLIT_3G

and was able to determine that I needed the patch recently submitted by
Dave Hansen to enable VMSPLIT for highmem kernels. Is there a reason
that menuconfig is not able to tell me this, i.e. this is a known
limitation of the choice syntax?

Thanks,
Nish

--
Nishanth Aravamudan <[email protected]>
IBM Linux Technology Center


2006-08-12 19:16:22

by Nishanth Aravamudan

[permalink] [raw]
Subject: Re: VMPLIT question

On 12.08.2006 [07:44:35 -0700], Dave Hansen wrote:
> On Fri, 2006-08-11 at 22:27 -0700, Nishanth Aravamudan wrote:
> > While building a newer kernel for a server (which had been running
> > 2.6.12 or so), I spent some time looking for how to set the VMSPLIT
> > .config options. I searched in menuconfig for VMSPLIT and was given a
> > few responses, all similar to this:
> >
> > ??????? Symbol: VMSPLIT_3G [=n]
> > ??????? Prompt: 3G/1G user/kernel split
> > ??????? Defined at arch/i386/Kconfig:488
> > ??????? Depends on: <choice>
> >
> > Since depending on "<choice>" is less than helpful, I did an rgrep and
> > found what it actually depends on:
> >
> > depends on EXPERIMENTAL && !X86_PAE
> > prompt "Memory split" if EMBEDDED
> > default VMSPLIT_3G
> >
> > and was able to determine that I needed the patch recently submitted by
> > Dave Hansen to enable VMSPLIT for highmem kernels. Is there a reason
> > that menuconfig is not able to tell me this, i.e. this is a known
> > limitation of the choice syntax?
>
> You need to ask for help with the high-level option, not the actual
> "choice":

The "high-level option" being ...? What did you search for in menuconfig
to get the following? And, in any case, how is it useful to return a
"(null)" symbol name?

> ??? Symbol: (null) [=y] ???
> ??? Prompt: Memory split ???
> ??? Defined at arch/i386/Kconfig:494 ???
> ??? Depends on: EXPERIMENTAL && !X86_PAE && EMBEDDED ???
> ??? Location: ???
> ??? -> Processor type and features ???
> ??? Selected by: EXPERIMENTAL && !X86_PAE && EMBEDDED && m ???

Thanks,
Nish

--
Nishanth Aravamudan <[email protected]>
IBM Linux Technology Center

2006-08-14 16:59:35

by Dave Hansen

[permalink] [raw]
Subject: Re: VMPLIT question

On Sat, 2006-08-12 at 12:16 -0700, Nishanth Aravamudan wrote:
> > You need to ask for help with the high-level option, not the actual
> > "choice":
>
> The "high-level option" being ...?

In menuconfig, at least:

"Memory split (3G/1G user/kernel split) --->"

Inside of "Processor type and features".

> What did you search for in menuconfig
> to get the following? And, in any case, how is it useful to return a
> "(null)" symbol name?

The trouble is that the help text is associated with the top-level
"choice" Kconfig entry, not the _individual_ choices. There is no
symbol associated with the top-level one. It might be useful to allow
help text to be associated with individual "choice" entries, to display
that text in the high-level option, and to replace the "null" symbol
with something that says "this choice can select any of these symbols:
FOO, BAR, etc..."

I'm sure the Kconfig folks take patches. :P

-- Dave

2006-08-14 17:09:06

by Nishanth Aravamudan

[permalink] [raw]
Subject: Re: VMPLIT question

On 14.08.2006 [09:59:06 -0700], Dave Hansen wrote:
> On Sat, 2006-08-12 at 12:16 -0700, Nishanth Aravamudan wrote:
> > > You need to ask for help with the high-level option, not the actual
> > > "choice":
> >
> > The "high-level option" being ...?
>
> In menuconfig, at least:
>
> "Memory split (3G/1G user/kernel split) --->"
>
> Inside of "Processor type and features".

I think you missed the point. If you don't know that the "Memory Split"
submenu is hidden unless you enable EMBEDDED && EXPERIMENTAL and are
!X86_PAE (the latter was the problem here, until I applied your patch),
then this is not helpful. You'll do what I did, and search for VMSPLIT
in menuconfig and get the results I pasted in my first mail, which as I
said then are less than helpful.

> > What did you search for in menuconfig to get the following? And, in
> > any case, how is it useful to return a "(null)" symbol name?
>
> The trouble is that the help text is associated with the top-level
> "choice" Kconfig entry, not the _individual_ choices. There is no
> symbol associated with the top-level one. It might be useful to allow
> help text to be associated with individual "choice" entries, to
> display that text in the high-level option, and to replace the "null"
> symbol with something that says "this choice can select any of these
> symbols: FOO, BAR, etc..."

Right, I gathered as much...

> I'm sure the Kconfig folks take patches. :P

And that's what I had Roman and Sam on the Cc, as I wanted their input
if this was a worthwhile change.

Thanks,
Nish

--
Nishanth Aravamudan <[email protected]>
IBM Linux Technology Center

2006-08-14 17:12:33

by Sam Ravnborg

[permalink] [raw]
Subject: Re: VMPLIT question

On Mon, Aug 14, 2006 at 10:07:18AM -0700, Nishanth Aravamudan wrote:

> > I'm sure the Kconfig folks take patches. :P
>
> And that's what I had Roman and Sam on the Cc, as I wanted their input
> if this was a worthwhile change.

IMO this would be nice to have fixed - but this part of kconfig is
really Roman's area.

Sam