Re: HIGHMEM4G config for 1GB RAM on desktop?

From: Jens Axboe
Date: Wed Aug 04 2004 - 08:10:02 EST


On Wed, Aug 04 2004, Eric Bambach wrote:
> On Wednesday 04 August 2004 01:06 am, Jens Axboe wrote:
> > On Wed, Aug 04 2004, Con Kolivas wrote:
> > > Jens Axboe wrote:
> > > >On Mon, Aug 02 2004, Barry K. Nathan wrote:
> > > >>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote:
> > > >>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G
> > > >>>kernel configuration. After reading many posts on the subject, I
> > > >>> still don't know which setting is best for me.
> > >
> > > No idea what the performance hit is of highmem these days - it seems
> > > insignificant compared to 2.4 so I've had it enabled for 1Gb ram.
> > >
> > > >There's also the option of moving the mapping only slightly, so that all
> > > >of the 1G fits in low memory. That's the best option for 1G desktop
> > > >machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would
> > > >probably be enough.
> > > >
> > > >Then you can have your cake and eat it too.
> > >
> > > Something like this attached patch? Seems to work nicely. Thanks!
> > >
> > > Cheers,
> > > Con
> > >
> > > Index: linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S
> > > ===================================================================
> > > --- linux-2.6.8-rc2-mm2.orig/arch/i386/kernel/vmlinux.lds.S 2004-05-23
> > > 12:54:46.000000000 +1000 +++
> > > linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S 2004-08-04
> > > 00:20:02.219462913 +1000 @@ -11,7 +11,7 @@
> > > jiffies = jiffies_64;
> > > SECTIONS
> > > {
> > > - . = 0xC0000000 + 0x100000;
> > > + . = 0xB0000000 + 0x100000;
> > > /* read-only */
> > > _text = .; /* Text and read-only data */
> > > .text : {
> > > Index: linux-2.6.8-rc2-mm2/include/asm-i386/page.h
> > > ===================================================================
> > > --- linux-2.6.8-rc2-mm2.orig/include/asm-i386/page.h 2004-08-03
> > > 01:29:28.000000000 +1000 +++
> > > linux-2.6.8-rc2-mm2/include/asm-i386/page.h 2004-08-03 23:58:16.000000000
> > > +1000 @@ -123,9 +123,9 @@
> > > #endif /* __ASSEMBLY__ */
> > >
> > > #ifdef __ASSEMBLY__
> > > -#define __PAGE_OFFSET (0xC0000000)
> > > +#define __PAGE_OFFSET (0xB0000000)
> > > #else
> > > -#define __PAGE_OFFSET (0xC0000000UL)
> > > +#define __PAGE_OFFSET (0xB0000000UL)
> > > #endif
> >
> > Yup precisely. I agree that there probably isn't a whole lot of
> > performance hit on a 1GB, it just seems silly that we need highmem on
> > such a standard memory configuration these days. Especially when just
> > moving the offset slightly removes that need.
>
> As a desktop user with 1024MB ram I agree that HIMEM has a silly threshold and
> should not need to be enabled in this case. Its becoming common, especially
> with dual channel memory systems to use 2x512MB sticks. On a hunch I bet
> 2x512 is more common that 1x512 and 1x256 so why not merge this up? Who would
> we submit this patch to?

One way would be to ask Andrew what he thinks?

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/