linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@osdl.org>
To: Jens Axboe <axboe@suse.de>
Cc: Byron Stanoszek <gandalf@winds.org>, Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>
Subject: Re: 2G memory split
Date: Tue, 10 Jan 2006 08:14:47 -0800 (PST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0601100804380.4939@g5.osdl.org> (raw)
In-Reply-To: <20060110143931.GM3389@suse.de>



On Tue, 10 Jan 2006, Jens Axboe wrote:
> 
> A newer version, trying to cater to the various comments in here.
> Changes:

Can we do one final cleanup? Do all the magic in _one_ place, namely the 
x86 Kconfig file.

Also, I don't think the NOHIGHMEM dependency is necessarily correct. A 
2G/2G split can be advantageous with a 16GB setup (you'll have more room 
for dentries etc), but you obviously want to have HIGHMEM for that..

Do it something like this:

	choice
		depends on EXPERIMENTAL
		prompt "Memory split"
		default DEFAULT_3G
		help
		  Select the wanted split between kernel and user memory.
		  If the address range available to the kernel is less than the
		  physical memory installed, the remaining memory will be available
		  as "high memory". Accessing high memory is a little more costly
		  than low memory, as it needs to be mapped into the kernel first.
		  Note that selecting anything but the default 3G/1G split will make
		  your kernel incompatible with binary only modules.

		config DEFAULT_3G
			bool "3G/1G user/kernel split"
		config DEFAULT_3G_OPT
			bool "3G/1G user/kernel split (for full 1G low memory)"
		config DEFAULT_2G
			bool "2G/2G user/kernel split"
		config DEFAULT_1G
			bool "1G/3G user/kernel split"
	endchoice

	config PAGE_OFFSET
		hex
		default 0xC0000000
		default 0xB0000000 if DEFAULT_3G_OPT
		default 0x78000000 if DEFAULT_2G
		default 0x40000000 if DEFAULT_1G

and then asm-i386/page.h can just do

	#define __PAGE_OFFSET ((unsigned long)CONFIG_PAGE_OFFSET)

and you're done.

If you ever want to change the offsets, you're only changing the Kconfig 
file, and as you can tell, the syntax is actually much _nicer_ that using 
the C preprocessor, since these kinds of choices is exactly what the 
Kconfig language is all about.

Please?

		Linus

  parent reply	other threads:[~2006-01-10 16:14 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-10 12:58 2G memory split Jens Axboe
2006-01-10 13:29 ` Ingo Molnar
2006-01-10 13:37   ` Jens Axboe
2006-01-10 13:43     ` Byron Stanoszek
2006-01-10 13:47       ` Jens Axboe
2006-01-10 14:39       ` Jens Axboe
2006-01-10 14:44         ` Ingo Molnar
2006-01-10 15:03           ` [PATCH] Address space split configuration Jens Axboe
2006-01-10 15:11             ` Mark Lord
2006-01-10 15:24             ` Mikael Pettersson
2006-01-10 16:14         ` Linus Torvalds [this message]
2006-01-10 16:40           ` 2G memory split Mark Lord
2006-01-10 16:52             ` Linus Torvalds
2006-01-10 18:33               ` Coywolf Qi Hunt
2006-01-10 17:07           ` Mark Lord
2006-01-10 17:28             ` Linus Torvalds
2006-01-10 17:32             ` Jens Axboe
2006-01-10 17:37               ` Mark Lord
2006-01-10 18:58                 ` Mark Lord
2006-01-10 19:16                   ` [PATCH ] VMSPLIT config options (with default config fixed) Mark Lord
2006-01-10 17:37                     ` Jeff V. Merkey
2006-01-10 19:27                     ` Jens Axboe
2006-01-11  1:13                     ` J.A. Magallon
2006-01-11 10:15                       ` Jens Axboe
2006-01-11 16:00                     ` Greg Norris
2006-01-11 17:13                       ` Mark Lord
2006-01-11 17:44                         ` Greg Norris
2006-02-05 18:42                         ` Barry K. Nathan
2006-02-01 22:23                     ` Herbert Poetzl
2006-02-02 11:04                       ` Ulrich Mueller
2006-02-02 20:55                         ` Jan Engelhardt
2006-02-03 22:39                           ` Mark Lord
2006-02-04 10:23                             ` Ulrich Mueller
2006-02-04 11:06                               ` Jan Engelhardt
2006-02-04 10:36                             ` Jens Axboe
2006-02-04 11:05                             ` Jan Engelhardt
2006-02-04 13:57                               ` Mark Lord
2006-02-05 15:32                                 ` J.A. Magallon
2006-02-05 15:38                               ` Arjan van de Ven
2006-02-05 21:14                                 ` Jan Engelhardt
2006-02-05 21:19                                   ` Arjan van de Ven
2006-02-06 14:56                                     ` Jan Engelhardt
2006-02-07  0:41                                       ` Herbert Poetzl
2006-02-07  2:51                                         ` Mark Rustad
2006-02-07  9:38                                         ` Bernd Petrovitsch
2006-02-07 12:19                                           ` RFC: add an ADVANCED_USER option Adrian Bunk
2006-02-07 14:05                                             ` Ulrich Mueller
2006-02-07 14:42                                               ` Adrian Bunk
2006-02-09 16:06                                                 ` Jan Engelhardt
2006-01-10 17:48             ` 2G memory split Bernd Eckenfels
2006-01-10 16:30               ` [PATCH] " Jeff V. Merkey
2006-01-10 18:50                 ` Lennart Sorensen
2006-01-10 17:13                   ` Jeff V. Merkey
2006-01-10 19:42               ` Jens Axboe
2006-01-10 20:17                 ` Bernd Eckenfels
2006-01-10 20:28                   ` Jens Axboe
2006-01-11  8:39                     ` Bernd Eckenfels
2006-01-11 10:06                       ` Jens Axboe
2006-01-10 18:14           ` Martin Bligh
2006-01-10 18:34             ` Linus Torvalds
2006-01-10 16:56               ` Jeff V. Merkey
2006-01-10 17:01                 ` Jeff V. Merkey
2006-01-10 18:45                 ` Mark Lord
2006-01-10 18:46                 ` Martin Bligh
2006-01-10 18:58                 ` Jens Axboe
2006-01-10 17:17                   ` Jeff V. Merkey
2006-01-10 20:55                 ` Alan Cox
2006-01-10 19:12                   ` Jeff V. Merkey
2006-01-10 21:02                     ` Jens Axboe
2006-01-10 19:30                       ` Jeff V. Merkey
2006-01-10 18:39               ` Martin Bligh
2006-01-10 18:55               ` Dave Hansen
2006-01-10 19:01                 ` Mark Lord
2006-01-10 19:05                   ` Dave Hansen
2006-01-10 17:07         ` Sergey Vlasov
2006-04-10 14:11           ` Kirill Korotaev
2006-04-10 14:39             ` Mark Lord
2006-01-10 18:28         ` Coywolf Qi Hunt
2006-01-10 13:47 ` Mikael Pettersson
2006-01-10 13:54   ` Jens Axboe
2006-01-10 14:09     ` Gerd Hoffmann
2006-01-10 14:21       ` Jens Axboe
2006-01-10 14:25       ` Jens Axboe
2006-01-10 20:42   ` Jan Engelhardt
2006-01-11  0:25     ` Con Kolivas
2006-01-10 14:12 ` Mark Lord
2006-01-10 14:22   ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.64.0601100804380.4939@g5.osdl.org \
    --to=torvalds@osdl.org \
    --cc=akpm@osdl.org \
    --cc=axboe@suse.de \
    --cc=gandalf@winds.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).