* CONFIG_HIGHMEM4G and 1GB RAM
@ 2007-04-28 20:26 Bradley Chapman
2007-04-30 7:17 ` Andrew Morton
0 siblings, 1 reply; 7+ messages in thread
From: Bradley Chapman @ 2007-04-28 20:26 UTC (permalink / raw)
To: linux-kernel
After installing a second 512MB SODIMM into my laptop, I noticed that
my 2.6.18.3 kernel only detected and used 896MB of the resulting 1GB,
and informed me that I needed to enable high memory in order to access
the remaining 127MB.
While doing so, I noticed that the help text stated that enabling high
memory (in my case, CONFIG_HIGHMEM4G) should only be done if the
system the kernel is running on has more than 1GB, but less than 4GB -
it said that systems with 1GB should leave it off, which resulted in
an eighth of the installed memory going missing. A bit more research
found a three year old thread on this list where it was stated that
enabling CONFIG_HIGHMEM4G sometimes slows the system down due to
sometimes undesirable changes to the way the kernel sets up the memory
map.
Basically, all I want to know is whether or not enabling
CONFIG_HIGHMEM4G for a laptop that has exactly 1GB of RAM will result
in any performance degradation.
TIA,
Brad
P.S: Direct replies please - I'm not subscribed to the list.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
2007-04-28 20:26 CONFIG_HIGHMEM4G and 1GB RAM Bradley Chapman
@ 2007-04-30 7:17 ` Andrew Morton
2007-04-30 7:40 ` William Lee Irwin III
0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2007-04-30 7:17 UTC (permalink / raw)
To: Bradley Chapman; +Cc: linux-kernel
On Sat, 28 Apr 2007 21:26:42 +0100 "Bradley Chapman" <kakadu@gmail.com> wrote:
> After installing a second 512MB SODIMM into my laptop, I noticed that
> my 2.6.18.3 kernel only detected and used 896MB of the resulting 1GB,
> and informed me that I needed to enable high memory in order to access
> the remaining 127MB.
>
> While doing so, I noticed that the help text stated that enabling high
> memory (in my case, CONFIG_HIGHMEM4G) should only be done if the
> system the kernel is running on has more than 1GB, but less than 4GB -
> it said that systems with 1GB should leave it off, which resulted in
> an eighth of the installed memory going missing. A bit more research
> found a three year old thread on this list where it was stated that
> enabling CONFIG_HIGHMEM4G sometimes slows the system down due to
> sometimes undesirable changes to the way the kernel sets up the memory
> map.
>
> Basically, all I want to know is whether or not enabling
> CONFIG_HIGHMEM4G for a laptop that has exactly 1GB of RAM will result
> in any performance degradation.
>
I would expect the advantages of the additional 128MB to considerably
outweigh the cost of turning on CONFIG_HIGHMEM4G.
That cost will be a little extra CPU consumption inside the kernel, but the
great majority of CPU consumption usually happens in userspace anyway.
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
2007-04-30 7:17 ` Andrew Morton
@ 2007-04-30 7:40 ` William Lee Irwin III
2007-04-30 22:18 ` Matt Keenan
0 siblings, 1 reply; 7+ messages in thread
From: William Lee Irwin III @ 2007-04-30 7:40 UTC (permalink / raw)
To: Andrew Morton; +Cc: Bradley Chapman, linux-kernel
On Sat, 28 Apr 2007 21:26:42 +0100 "Bradley Chapman" <kakadu@gmail.com> wrote:
>> Basically, all I want to know is whether or not enabling
>> CONFIG_HIGHMEM4G for a laptop that has exactly 1GB of RAM will result
>> in any performance degradation.
On Mon, Apr 30, 2007 at 12:17:55AM -0700, Andrew Morton wrote:
> I would expect the advantages of the additional 128MB to considerably
> outweigh the cost of turning on CONFIG_HIGHMEM4G.
> That cost will be a little extra CPU consumption inside the kernel, but the
> great majority of CPU consumption usually happens in userspace anyway.
The CONFIG_VMSPLIT config options were merged for such cases.
It should be able to split on any 4MB-aligned boundary in
CONFIG_HIGHMEM4G. CONFIG_VMSPLIT_3G_OPT appears to do something of
this sort to use an entire 1GB RAM with minimal user address space
reduction.
This is an ELF ABI violation but the number of major applications
that break is apparently low.
-- wli
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
2007-04-30 7:40 ` William Lee Irwin III
@ 2007-04-30 22:18 ` Matt Keenan
2007-04-30 22:45 ` William Lee Irwin III
2007-05-12 11:08 ` Alejandro Riveira Fernández
0 siblings, 2 replies; 7+ messages in thread
From: Matt Keenan @ 2007-04-30 22:18 UTC (permalink / raw)
To: William Lee Irwin III; +Cc: Andrew Morton, Bradley Chapman, linux-kernel
William Lee Irwin III wrote:
> On Sat, 28 Apr 2007 21:26:42 +0100 "Bradley Chapman" <kakadu@gmail.com> wrote:
>
>>> Basically, all I want to know is whether or not enabling
>>> CONFIG_HIGHMEM4G for a laptop that has exactly 1GB of RAM will result
>>> in any performance degradation.
>>>
>
> On Mon, Apr 30, 2007 at 12:17:55AM -0700, Andrew Morton wrote:
>
>> I would expect the advantages of the additional 128MB to considerably
>> outweigh the cost of turning on CONFIG_HIGHMEM4G.
>> That cost will be a little extra CPU consumption inside the kernel, but the
>> great majority of CPU consumption usually happens in userspace anyway.
>>
>
> The CONFIG_VMSPLIT config options were merged for such cases.
>
> It should be able to split on any 4MB-aligned boundary in
> CONFIG_HIGHMEM4G. CONFIG_VMSPLIT_3G_OPT appears to do something of
> this sort to use an entire 1GB RAM with minimal user address space
> reduction.
>
> This is an ELF ABI violation but the number of major applications
> that break is apparently low.
>
>
wine and some java implementations being two of the big caveats.
Matt
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
2007-04-30 22:18 ` Matt Keenan
@ 2007-04-30 22:45 ` William Lee Irwin III
2007-05-12 11:08 ` Alejandro Riveira Fernández
1 sibling, 0 replies; 7+ messages in thread
From: William Lee Irwin III @ 2007-04-30 22:45 UTC (permalink / raw)
To: Matt Keenan; +Cc: Andrew Morton, Bradley Chapman, linux-kernel
William Lee Irwin III wrote:
>> The CONFIG_VMSPLIT config options were merged for such cases.
>> It should be able to split on any 4MB-aligned boundary in
>> CONFIG_HIGHMEM4G. CONFIG_VMSPLIT_3G_OPT appears to do something of
>> this sort to use an entire 1GB RAM with minimal user address space
>> reduction.
>> This is an ELF ABI violation but the number of major applications
>> that break is apparently low.
On Mon, Apr 30, 2007 at 11:18:28PM +0100, Matt Keenan wrote:
> wine and some java implementations being two of the big caveats.
Understand that when I say this, I remain one of the more staunch
critics of the ABI-violating aspect of the CONFIG_VMSPLIT options.
I would be more in favor of reorganizing the kernel virtual address
space for the case of 1GB laptops. The primary reason it now requires
highmem is that otherwise vmallocspace would alias ZONE_NORMAL, which
is not handled.
The way to handle the aliasing is simple except for the case of vmap();
simply allocate the backing pages for vmalloc() from the virtual
address range aliasing it. IOW, implement vmalloc() as __get_free_pages(),
save for supporting cases beyond power-of-two alignment. vmap() must
carry out a similar reservation to obtain a virtually contiguous range
of memory; however, it must not use the underlying pages. Instead, it
must map the physical pages specified by the caller in the range of
virtual address space reserved in tandem with the physically contiguous
allocation. The physical pages underlying the virtual mapping window,
without a way to window into them as per CONFIG_HIGHMEM, merely stay
reserved until the virtual mapping established by vmap() that clashes
with their static virtual mapping is undone.
In such a manner the static virtualspace reservation for vmallocspace
can be eliminated, and the case of 1GB laptops handled efficiently with
neither highmem nor ABI violations.
If this sounds invasive or difficult, that's because it probably is.
Taking this idea seriously is indicative of the gravity I consider
the issues of laptop/desktop users to have.
-- wli
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
@ 2007-05-01 5:06 Al Boldi
0 siblings, 0 replies; 7+ messages in thread
From: Al Boldi @ 2007-05-01 5:06 UTC (permalink / raw)
To: linux-kernel
William Lee Irwin III wrote:
>> The CONFIG_VMSPLIT config options were merged for such cases.
>> It should be able to split on any 4MB-aligned boundary in
>> CONFIG_HIGHMEM4G. CONFIG_VMSPLIT_3G_OPT appears to do something of
>> this sort to use an entire 1GB RAM with minimal user address space
>> reduction.
>> This is an ELF ABI violation but the number of major applications
>> that break is apparently low.
On Mon, Apr 30, 2007 at 11:18:28PM +0100, Matt Keenan wrote:
> wine and some java implementations being two of the big caveats.
If this is really true, then I think it critical to be mentioned in the
Kconfig help text.
Thanks!
--
Al
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: CONFIG_HIGHMEM4G and 1GB RAM
2007-04-30 22:18 ` Matt Keenan
2007-04-30 22:45 ` William Lee Irwin III
@ 2007-05-12 11:08 ` Alejandro Riveira Fernández
1 sibling, 0 replies; 7+ messages in thread
From: Alejandro Riveira Fernández @ 2007-05-12 11:08 UTC (permalink / raw)
To: Matt Keenan
Cc: William Lee Irwin III, Andrew Morton, Bradley Chapman,
linux-kernel
El Mon, 30 Apr 2007 23:18:28 +0100
Matt Keenan <tank.en.mate@gmail.com> escribió:
> William Lee Irwin III wrote:
> > The CONFIG_VMSPLIT config options were merged for such cases.
> >
> > It should be able to split on any 4MB-aligned boundary in
> > CONFIG_HIGHMEM4G. CONFIG_VMSPLIT_3G_OPT appears to do something of
> > this sort to use an entire 1GB RAM with minimal user address space
> > reduction.
> >
> > This is an ELF ABI violation but the number of major applications
> > that break is apparently low.
> >
> >
> wine and some java implementations being two of the big caveats.
I'm happily using java6-jre and wine (latest versions) on self compiled
vanilla kernels with CONFIG_VMSPLIT_3G_OPT=y
For the record i use wine for utorrrent and SwitcherCADIII/LTspice and
java for sancho (front end to mldonkey). Some may think it is not a
heavy use
>
> Matt
>
Alejandro
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2007-05-12 11:08 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-04-28 20:26 CONFIG_HIGHMEM4G and 1GB RAM Bradley Chapman
2007-04-30 7:17 ` Andrew Morton
2007-04-30 7:40 ` William Lee Irwin III
2007-04-30 22:18 ` Matt Keenan
2007-04-30 22:45 ` William Lee Irwin III
2007-05-12 11:08 ` Alejandro Riveira Fernández
-- strict thread matches above, loose matches on Subject: below --
2007-05-01 5:06 Al Boldi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox