mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22)
@ 2003-09-21 20:10 Matt Hahnfeld
  2003-09-21 20:35 ` Mikael Pettersson
  0 siblings, 1 reply; 4+ messages in thread
From: Matt Hahnfeld @ 2003-09-21 20:10 UTC (permalink / raw)
  To: linux-kernel

I have an ASUS P4P800-VM motherboard with 2 sticks of 512mb PC3200 and
a single 2.4 ghz P4 processor.  The kernel is vanilla 2.4.22 configured
for SMP (hyperthreading).

When I use a kernel with high memory support off, I get good
performance (despite not being able to use some of my memory).  When I
enable CONFIG_HIGHMEM4G the remaining memory is detected, but the
machine takes a big performance hit and starts running very slow --
ie. kernel compilation looks like it would take 5 days instead of 5
minutes.  /proc/meminfo doesn't look particularly strange and no
strange log messages show up -- everything just runs slow...

CONFIG_HIGHMEM64G produces the same results...

Any suggestions?


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22)
  2003-09-21 20:10 SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22) Matt Hahnfeld
@ 2003-09-21 20:35 ` Mikael Pettersson
  2003-09-21 21:07   ` Matt Hahnfeld
  0 siblings, 1 reply; 4+ messages in thread
From: Mikael Pettersson @ 2003-09-21 20:35 UTC (permalink / raw)
  To: Matt Hahnfeld; +Cc: linux-kernel

Matt Hahnfeld writes:
 > I have an ASUS P4P800-VM motherboard with 2 sticks of 512mb PC3200 and
 > a single 2.4 ghz P4 processor.  The kernel is vanilla 2.4.22 configured
 > for SMP (hyperthreading).
 > 
 > When I use a kernel with high memory support off, I get good
 > performance (despite not being able to use some of my memory).  When I
 > enable CONFIG_HIGHMEM4G the remaining memory is detected, but the
 > machine takes a big performance hit and starts running very slow --
 > ie. kernel compilation looks like it would take 5 days instead of 5
 > minutes.  /proc/meminfo doesn't look particularly strange and no
 > strange log messages show up -- everything just runs slow...
 > 
 > CONFIG_HIGHMEM64G produces the same results...
 > 
 > Any suggestions?

Sounds like maybe the high RAM isn't cacheable.
What does /proc/mtrr and dmesg look like?

Have you verified that you're running the latest BIOS?

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22)
  2003-09-21 20:35 ` Mikael Pettersson
@ 2003-09-21 21:07   ` Matt Hahnfeld
  2003-09-21 21:42     ` Mikael Pettersson
  0 siblings, 1 reply; 4+ messages in thread
From: Matt Hahnfeld @ 2003-09-21 21:07 UTC (permalink / raw)
  To: Mikael Pettersson; +Cc: linux-kernel

Mikael --

Thanks for the help!

I have posted my /proc/mtrr and /proc/meminfo to
http://www.layover.com/matt/kernel/ .

The "lowmem" ones are when HIGHMEM was disabled, the "highmem" ones are
2.4.22 with CONF_HIGHMEM4G.  /proc/mtrr looks exatly the same whether or
not highmem is enabled.

I have the newest stable bios from Asus as of yesterday.

What should I see if the high memory isn't cachable?

On Sun, 21 Sep 2003, Mikael Pettersson wrote:

> Matt Hahnfeld writes:
>  > I have an ASUS P4P800-VM motherboard with 2 sticks of 512mb PC3200 and
>  > a single 2.4 ghz P4 processor.  The kernel is vanilla 2.4.22 configured
>  > for SMP (hyperthreading).
>  >
>  > When I use a kernel with high memory support off, I get good
>  > performance (despite not being able to use some of my memory).  When I
>  > enable CONFIG_HIGHMEM4G the remaining memory is detected, but the
>  > machine takes a big performance hit and starts running very slow --
>  > ie. kernel compilation looks like it would take 5 days instead of 5
>  > minutes.  /proc/meminfo doesn't look particularly strange and no
>  > strange log messages show up -- everything just runs slow...
>  >
>  > CONFIG_HIGHMEM64G produces the same results...
>  >
>  > Any suggestions?
>
> Sounds like maybe the high RAM isn't cacheable.
> What does /proc/mtrr and dmesg look like?
>
> Have you verified that you're running the latest BIOS?
>



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22)
  2003-09-21 21:07   ` Matt Hahnfeld
@ 2003-09-21 21:42     ` Mikael Pettersson
  0 siblings, 0 replies; 4+ messages in thread
From: Mikael Pettersson @ 2003-09-21 21:42 UTC (permalink / raw)
  To: Matt Hahnfeld; +Cc: linux-kernel

Matt Hahnfeld writes:
 > Mikael --
 > 
 > Thanks for the help!
 > 
 > I have posted my /proc/mtrr and /proc/meminfo to
 > http://www.layover.com/matt/kernel/ .

Hmm, I wanted the list to seem them because I'm not myself
very good at decoding memory maps and mtrrs.

Anyway, Matt's E820 map is

BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e8000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000003f730000 (usable)
 BIOS-e820: 000000003f730000 - 000000003f740000 (ACPI data)
 BIOS-e820: 000000003f740000 - 000000003f7f0000 (ACPI NVS)
 BIOS-e820: 000000003f7f0000 - 000000003f800000 (reserved)
 BIOS-e820: 00000000ffb80000 - 0000000100000000 (reserved)
119MB HIGHMEM available.
896MB LOWMEM available.

while his /proc/mtrr is

reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0x20000000 ( 512MB), size= 256MB: write-back, count=1
reg02: base=0x30000000 ( 768MB), size= 128MB: write-back, count=1
reg03: base=0x38000000 ( 896MB), size=  64MB: write-back, count=1
reg04: base=0x3c000000 ( 960MB), size=  32MB: write-back, count=1
reg05: base=0x3e000000 ( 992MB), size=  16MB: write-back, count=1

Hmm, it looks like your mtrr mappings end just before 0x3f000000,
but your E820 map marked 0x3f000000 to 0x3f730000 as "usable".

This probably means that some piece of memory the kernel is using
isn't cached. No wonders your performance sucks.

The BIOS seems to have done a poor job here. I guess the safest
workaround is to pass a mem= parameter to the kernel, causing
it to skip that problematic uncached portion.

mem=1008M perhaps?

/Mikael

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-09-21 21:42 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-21 20:10 SLOW machine when HIGHMEM enabled (1gb memory, kernel 2.4.22) Matt Hahnfeld
2003-09-21 20:35 ` Mikael Pettersson
2003-09-21 21:07   ` Matt Hahnfeld
2003-09-21 21:42     ` Mikael Pettersson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®