public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* 2.4.25-rc1: BUG: wrong zone alignment, it will crash
@ 2004-02-06 10:34 Michael Frank
  2004-02-06 13:44 ` Marcelo Tosatti
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Frank @ 2004-02-06 10:34 UTC (permalink / raw)
  To: linux-kernel

As with 2.4.24, using the highmem option causes the BUG message.

This is a kernel ex BK without any patches.

Linux version 2.4.25-rc1 (root@mhfl4) (gcc version 2.95.3 20010315 (release)) #5 Fri Feb 6 17:27:18 HKT 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001eff0000 (usable)
 BIOS-e820: 000000001eff0000 - 000000001eff3000 (ACPI NVS)
 BIOS-e820: 000000001eff3000 - 000000001f000000 (ACPI data)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
300MB HIGHMEM available.
195MB LOWMEM available.
On node 0 totalpages: 126960
zone(0): 4096 pages.
zone(1): 46064 pages.
zone(2): 76800 pages.
BUG: wrong zone alignment, it will crash
Kernel command line: vga=0xf07 root=/dev/hda4 console=tty0 console=ttyS0,115200n8r devfs=nomount nousb acpi=off highmem=300m
Initializing CPU#0
Detected 2399.771 MHz processor.
Console: colour VGA+ 80x60
Calibrating delay loop... 4784.12 BogoMIPS
Memory: 498696k/507840k available (1589k kernel code, 8756k reserved, 676k data, 120k init, 307200k highmem)

The kernel seems to experience stability problems.

How to resolve?

Michael


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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 10:34 2.4.25-rc1: BUG: wrong zone alignment, it will crash Michael Frank
@ 2004-02-06 13:44 ` Marcelo Tosatti
  2004-02-06 14:45   ` Michael Frank
  0 siblings, 1 reply; 7+ messages in thread
From: Marcelo Tosatti @ 2004-02-06 13:44 UTC (permalink / raw)
  To: Michael Frank; +Cc: linux-kernel



On Fri, 6 Feb 2004, Michael Frank wrote:

> As with 2.4.24, using the highmem option causes the BUG message.
>
> This is a kernel ex BK without any patches.
>
> Linux version 2.4.25-rc1 (root@mhfl4) (gcc version 2.95.3 20010315 (release)) #5 Fri Feb 6 17:27:18 HKT 2004
> BIOS-provided physical RAM map:
>  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
>  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
>  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
>  BIOS-e820: 0000000000100000 - 000000001eff0000 (usable)
>  BIOS-e820: 000000001eff0000 - 000000001eff3000 (ACPI NVS)
>  BIOS-e820: 000000001eff3000 - 000000001f000000 (ACPI data)
>  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
> 300MB HIGHMEM available.
> 195MB LOWMEM available.
> On node 0 totalpages: 126960
> zone(0): 4096 pages.
> zone(1): 46064 pages.
> zone(2): 76800 pages.
> BUG: wrong zone alignment, it will crash
> Kernel command line: vga=0xf07 root=/dev/hda4 console=tty0 console=ttyS0,115200n8r devfs=nomount nousb acpi=off highmem=300m
> Initializing CPU#0
> Detected 2399.771 MHz processor.
> Console: colour VGA+ 80x60
> Calibrating delay loop... 4784.12 BogoMIPS
> Memory: 498696k/507840k available (1589k kernel code, 8756k reserved, 676k data, 120k init, 307200k highmem)
>
> The kernel seems to experience stability problems.

Michael,

This is totally bogus, you dont have highmem available. Dont use highmem=.


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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 13:44 ` Marcelo Tosatti
@ 2004-02-06 14:45   ` Michael Frank
  2004-02-06 15:36     ` Rik van Riel
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Frank @ 2004-02-06 14:45 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: linux-kernel

On Friday 06 February 2004 21:44, Marcelo Tosatti wrote:
> 
> On Fri, 6 Feb 2004, Michael Frank wrote:
> 
> > As with 2.4.24, using the highmem option causes the BUG message.
> >
> > This is a kernel ex BK without any patches.
> >
> > Linux version 2.4.25-rc1 (root@mhfl4) (gcc version 2.95.3 20010315 (release)) #5 Fri Feb 6 17:27:18 HKT 2004
> > BIOS-provided physical RAM map:
> >  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
> >  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
> >  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
> >  BIOS-e820: 0000000000100000 - 000000001eff0000 (usable)
> >  BIOS-e820: 000000001eff0000 - 000000001eff3000 (ACPI NVS)
> >  BIOS-e820: 000000001eff3000 - 000000001f000000 (ACPI data)
> >  BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
> > 300MB HIGHMEM available.
> > 195MB LOWMEM available.
> > On node 0 totalpages: 126960
> > zone(0): 4096 pages.
> > zone(1): 46064 pages.
> > zone(2): 76800 pages.
> > BUG: wrong zone alignment, it will crash
> > Kernel command line: vga=0xf07 root=/dev/hda4 console=tty0 console=ttyS0,115200n8r devfs=nomount nousb acpi=off highmem=300m
> > Initializing CPU#0
> > Detected 2399.771 MHz processor.
> > Console: colour VGA+ 80x60
> > Calibrating delay loop... 4784.12 BogoMIPS
> > Memory: 498696k/507840k available (1589k kernel code, 8756k reserved, 676k data, 120k init, 307200k highmem)
> >
> > The kernel seems to experience stability problems.
> 
> Michael,
> 
> This is totally bogus, you dont have highmem available. Dont use highmem=.
> 
> 
> 

Marcello,

Thanks for your reply.

It is supposed to work, just a bug in the zone alignment code.

Also 2.6.2 has same problem.

I have have to use HIGHMEM emulation for testing.

Regards
Michqel

Linux version 2.6.2 (mhf@mhfl4) (gcc version 2.95.3 20010315 (release)) #1 Fri Feb 6 19:46:34 HKT 2004
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000001eff0000 (usable)
 BIOS-e820: 000000001eff0000 - 000000001eff3000 (ACPI NVS)
 BIOS-e820: 000000001eff3000 - 000000001f000000 (ACPI data)
 BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
300MB HIGHMEM available.
195MB LOWMEM available.
On node 0 totalpages: 126960
  DMA zone: 4096 pages, LIFO batch:1
  Normal zone: 46064 pages, LIFO batch:11
  HighMem zone: 76800 pages, LIFO batch:16
BUG: wrong zone alignment, it will crash
DMI 2.3 present.
Building zonelist for node : 0
Kernel command line: vga=0xf07 root=/dev/hda4  console=tty0 console=ttyS0,115200n8r devfs=nomount nousb acpi=off highmem=300m
Initializing CPU#0
PID hash table entries: 2048 (order 11: 16384 bytes)
Detected 2400.068 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x60
Memory: 498224k/507840k available (1930k kernel code, 8592k reserved, 986k data, 160k init, 307200k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 4734.97 BogoMIPS
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: Trace cache: 12K uops, L1 D cache: 8K
CPU: L2 cache: 512K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU#0: Intel P4/Xeon Extended MCE MSRs (12) available
CPU: Intel(R) Pentium(R) 4 CPU 2.40GHz stepping 07
Enabling fast FPU save and restore... done.



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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 14:45   ` Michael Frank
@ 2004-02-06 15:36     ` Rik van Riel
  2004-02-06 16:46       ` Michael Frank
  0 siblings, 1 reply; 7+ messages in thread
From: Rik van Riel @ 2004-02-06 15:36 UTC (permalink / raw)
  To: Michael Frank; +Cc: Marcelo Tosatti, linux-kernel

On Fri, 6 Feb 2004, Michael Frank wrote:

> > > 300MB HIGHMEM available.
> > > 195MB LOWMEM available.
> > > On node 0 totalpages: 126960
> > > zone(0): 4096 pages.
> > > zone(1): 46064 pages.
> > > zone(2): 76800 pages.
> > > BUG: wrong zone alignment, it will crash

> It is supposed to work, just a bug in the zone alignment code.

The error isn't in the kernel, it's between the chair and the keyboard.
You have created a lowmem zone of a size that doesn't correctly
align with the largest blocks used by the buddy allocator.

> I have have to use HIGHMEM emulation for testing.

Then you'll need to choose a different size for the highmem=
parameter, one that doesn't cause an unaligned boundary.

Alternatively, you could submit a patch so the highmem= boot
option parsing code does the aligning for you.

However, that would simply be an improvement to the kernel and
nothing like a bug you can demand to get fixed now.

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 15:36     ` Rik van Riel
@ 2004-02-06 16:46       ` Michael Frank
  2004-02-06 17:07         ` Randy.Dunlap
  0 siblings, 1 reply; 7+ messages in thread
From: Michael Frank @ 2004-02-06 16:46 UTC (permalink / raw)
  To: Rik van Riel, Jens Axboe; +Cc: Marcelo Tosatti, linux-kernel

On Friday 06 February 2004 23:36, Rik van Riel wrote:
> On Fri, 6 Feb 2004, Michael Frank wrote:
> 
> > > > 300MB HIGHMEM available.
> > > > 195MB LOWMEM available.
> > > > On node 0 totalpages: 126960
> > > > zone(0): 4096 pages.
> > > > zone(1): 46064 pages.
> > > > zone(2): 76800 pages.
> > > > BUG: wrong zone alignment, it will crash
> 
> > It is supposed to work, just a bug in the zone alignment code.
> 
> The error isn't in the kernel, it's between the chair and the keyboard.
> You have created a lowmem zone of a size that doesn't correctly
> align with the largest blocks used by the buddy allocator.
> 
> > I have have to use HIGHMEM emulation for testing.
> 
> Then you'll need to choose a different size for the highmem=
> parameter, one that doesn't cause an unaligned boundary.

Which is not user friendly and does not match the documentation.

> 
> Alternatively, you could submit a patch so the highmem= boot
> option parsing code does the aligning for you.

OK, will do. I'll produce and test a patch.

> 
> However, that would simply be an improvement to the kernel and
> nothing like a bug you can demand to get fixed now.

OK, Please note that I only passed on the message produced by the kernel 
  BUG: wrong zone alignment, it will crash 

Perhaps the kernel should have reported it as "Invalid value for highmem" 
instead of "BUG" ;)

Thank you

Michael



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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 16:46       ` Michael Frank
@ 2004-02-06 17:07         ` Randy.Dunlap
  2004-02-06 18:35           ` Michael Frank
  0 siblings, 1 reply; 7+ messages in thread
From: Randy.Dunlap @ 2004-02-06 17:07 UTC (permalink / raw)
  To: Michael Frank; +Cc: riel, axboe, marcelo.tosatti, linux-kernel

On Sat, 7 Feb 2004 00:46:31 +0800 Michael Frank <mhf@linuxmail.org> wrote:

| On Friday 06 February 2004 23:36, Rik van Riel wrote:
| > On Fri, 6 Feb 2004, Michael Frank wrote:
| > 
| > > > > 300MB HIGHMEM available.
| > > > > 195MB LOWMEM available.
| > > > > On node 0 totalpages: 126960
| > > > > zone(0): 4096 pages.
| > > > > zone(1): 46064 pages.
| > > > > zone(2): 76800 pages.
| > > > > BUG: wrong zone alignment, it will crash
| > 
| > > It is supposed to work, just a bug in the zone alignment code.
| > 
| > The error isn't in the kernel, it's between the chair and the keyboard.
| > You have created a lowmem zone of a size that doesn't correctly
| > align with the largest blocks used by the buddy allocator.
| > 
| > > I have have to use HIGHMEM emulation for testing.
| > 
| > Then you'll need to choose a different size for the highmem=
| > parameter, one that doesn't cause an unaligned boundary.
| 
| Which is not user friendly and does not match the documentation.

Interesting boot option... but what doc. are you referring to?


| > Alternatively, you could submit a patch so the highmem= boot
| > option parsing code does the aligning for you.
| 
| OK, will do. I'll produce and test a patch.

Please include an update to Documentation/kernel-parameters.txt .

| > However, that would simply be an improvement to the kernel and
| > nothing like a bug you can demand to get fixed now.
| 
| OK, Please note that I only passed on the message produced by the kernel 
|   BUG: wrong zone alignment, it will crash 
| 
| Perhaps the kernel should have reported it as "Invalid value for highmem" 
| instead of "BUG" ;)

How does this option work?  Does it just fake highmem_pages of
low memory as being in high memory?

--
~Randy
kernel-janitors project:  http://janitor.kernelnewbies.org/

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

* Re: 2.4.25-rc1: BUG: wrong zone alignment, it will crash
  2004-02-06 17:07         ` Randy.Dunlap
@ 2004-02-06 18:35           ` Michael Frank
  0 siblings, 0 replies; 7+ messages in thread
From: Michael Frank @ 2004-02-06 18:35 UTC (permalink / raw)
  To: Randy.Dunlap; +Cc: riel, axboe, marcelo.tosatti, linux-kernel

On Saturday 07 February 2004 01:07, Randy.Dunlap wrote:
> On Sat, 7 Feb 2004 00:46:31 +0800 Michael Frank <mhf@linuxmail.org> wrote:
> 
> | On Friday 06 February 2004 23:36, Rik van Riel wrote:
> | > On Fri, 6 Feb 2004, Michael Frank wrote:
> | > 
> | > > > > 300MB HIGHMEM available.
> | > > > > 195MB LOWMEM available.
> | > > > > On node 0 totalpages: 126960
> | > > > > zone(0): 4096 pages.
> | > > > > zone(1): 46064 pages.
> | > > > > zone(2): 76800 pages.
> | > > > > BUG: wrong zone alignment, it will crash
> | > 
> | > > It is supposed to work, just a bug in the zone alignment code.
> | > 
> | > The error isn't in the kernel, it's between the chair and the keyboard.
> | > You have created a lowmem zone of a size that doesn't correctly
> | > align with the largest blocks used by the buddy allocator.
> | > 
> | > > I have have to use HIGHMEM emulation for testing.
> | > 
> | > Then you'll need to choose a different size for the highmem=
> | > parameter, one that doesn't cause an unaligned boundary.
> | 
> | Which is not user friendly and does not match the documentation.
> 
> Interesting boot option...  but what doc. are you referring to?

Line 863 of 2.4.2[45]/arch/i386/setup.c

/*
 * highmem=size forces highmem to be exactly 'size' bytes.
 * This works even on boxes that have no highmem otherwise.
 * This also works to reduce highmem size on bigger boxes.
 */
else if (!memcmp(from, "highmem=", 8))
	highmem_pages = memparse(from+8, &from) >> PAGE_SHIFT;

> 
> 
> | > Alternatively, you could submit a patch so the highmem= boot
> | > option parsing code does the aligning for you.
> | 
> | OK, will do. I'll produce and test a patch.
> 
> Please include an update to Documentation/kernel-parameters.txt .

Sure.

> 
> | > However, that would simply be an improvement to the kernel and
> | > nothing like a bug you can demand to get fixed now.
> | 
> | OK, Please note that I only passed on the message produced by the kernel 
> |   BUG: wrong zone alignment, it will crash 
> | 
> | Perhaps the kernel should have reported it as "Invalid value for highmem" 
> | instead of "BUG" ;)
> 
> How does this option work?  Does it just fake highmem_pages of
> low memory as being in high memory?

Sort of, it maps some pages into highmem zone instead of lowmem zone.

Regards
Michael


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

end of thread, other threads:[~2004-02-06 18:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-02-06 10:34 2.4.25-rc1: BUG: wrong zone alignment, it will crash Michael Frank
2004-02-06 13:44 ` Marcelo Tosatti
2004-02-06 14:45   ` Michael Frank
2004-02-06 15:36     ` Rik van Riel
2004-02-06 16:46       ` Michael Frank
2004-02-06 17:07         ` Randy.Dunlap
2004-02-06 18:35           ` Michael Frank

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