linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-23  2:26 Can a page be HighMem without having the HighMem flag set? Nigel Cunningham
@ 2004-01-23  2:26 ` William Lee Irwin III
  2004-01-23  2:46   ` Nigel Cunningham
  2004-01-23  3:30   ` Nigel Cunningham
  0 siblings, 2 replies; 7+ messages in thread
From: William Lee Irwin III @ 2004-01-23  2:26 UTC (permalink / raw)
  To: Nigel Cunningham; +Cc: Linux Memory Management

On Fri, Jan 23, 2004 at 03:26:53PM +1300, Nigel Cunningham wrote:
> I guess the subject says it all, but I'll give more detail:
> I'm working on Suspend on a 8 cpu ("8 way"?) SMP box at OSDL, which has
> something in excess of 4GB, but I'm only using 4 at the moment:
> Warning only 4GB will be used.
> Use a PAE enabled kernel.
> 3200MB HIGHMEM available.
> 896MB LOWMEM available.
> When suspending, I am seeing pages that don't have the HighMem flag set,
> but for which page_address returns zero.
> I looked at kmap, and noticed that it tests for page <
> highmem_start_page; I guess this is the way to do it?

You have found a bug. Could you chase down the inconsistency please?


-- wli
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

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

* Can a page be HighMem without having the HighMem flag set?
@ 2004-01-23  2:26 Nigel Cunningham
  2004-01-23  2:26 ` William Lee Irwin III
  0 siblings, 1 reply; 7+ messages in thread
From: Nigel Cunningham @ 2004-01-23  2:26 UTC (permalink / raw)
  To: Linux Memory Management

[-- Attachment #1: Type: text/plain, Size: 655 bytes --]

Hi.

I guess the subject says it all, but I'll give more detail:

I'm working on Suspend on a 8 cpu ("8 way"?) SMP box at OSDL, which has
something in excess of 4GB, but I'm only using 4 at the moment:

Warning only 4GB will be used.
Use a PAE enabled kernel.
3200MB HIGHMEM available.
896MB LOWMEM available.

When suspending, I am seeing pages that don't have the HighMem flag set,
but for which page_address returns zero.

I looked at kmap, and noticed that it tests for page <
highmem_start_page; I guess this is the way to do it?

Regards,

Nigel
-- 
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-23  2:26 ` William Lee Irwin III
@ 2004-01-23  2:46   ` Nigel Cunningham
  2004-01-23  3:30   ` Nigel Cunningham
  1 sibling, 0 replies; 7+ messages in thread
From: Nigel Cunningham @ 2004-01-23  2:46 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: Linux Memory Management

[-- Attachment #1: Type: text/plain, Size: 939 bytes --]

Okay. I'll see what I can do.

Regards,

Nigel

On Fri, 2004-01-23 at 15:26, William Lee Irwin III wrote:
> On Fri, Jan 23, 2004 at 03:26:53PM +1300, Nigel Cunningham wrote:
> > I guess the subject says it all, but I'll give more detail:
> > I'm working on Suspend on a 8 cpu ("8 way"?) SMP box at OSDL, which has
> > something in excess of 4GB, but I'm only using 4 at the moment:
> > Warning only 4GB will be used.
> > Use a PAE enabled kernel.
> > 3200MB HIGHMEM available.
> > 896MB LOWMEM available.
> > When suspending, I am seeing pages that don't have the HighMem flag set,
> > but for which page_address returns zero.
> > I looked at kmap, and noticed that it tests for page <
> > highmem_start_page; I guess this is the way to do it?
> 
> You have found a bug. Could you chase down the inconsistency please?
> 
> 
> -- wli
-- 
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-23  2:26 ` William Lee Irwin III
  2004-01-23  2:46   ` Nigel Cunningham
@ 2004-01-23  3:30   ` Nigel Cunningham
  2004-01-23 23:30     ` Nigel Cunningham
  1 sibling, 1 reply; 7+ messages in thread
From: Nigel Cunningham @ 2004-01-23  3:30 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: Linux Memory Management

[-- Attachment #1: Type: text/plain, Size: 159 bytes --]

Dollars to donuts it's a bug in my code, not the HighMem code :>

Nigel

-- 
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-23  3:30   ` Nigel Cunningham
@ 2004-01-23 23:30     ` Nigel Cunningham
  2004-01-24  0:04       ` William Lee Irwin III
  0 siblings, 1 reply; 7+ messages in thread
From: Nigel Cunningham @ 2004-01-23 23:30 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: Linux Memory Management

[-- Attachment #1: Type: text/plain, Size: 925 bytes --]

Hi all.

At boot I get:

<4> BIOS-e820: 0000000000000000 - 000000000009e000 (usable)
<4> BIOS-e820: 000000000009e000 - 00000000000a0000 (reserved)
<4> BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
<4> BIOS-e820: 0000000000100000 - 00000000efff6500 (usable)
<4> BIOS-e820: 00000000efff6500 - 00000000f0000000 (ACPI data)
<4> BIOS-e820: 00000000fffb0000 - 0000000100000000 (reserved)
<4> BIOS-e820: 0000000100000000 - 0000000400000000 (usable)

It's the pages efff6000- which are causing me grief. if I understand
things correctly, page_is_ram is returning 0 for those pages, and as a
result they get marked reserved and not HighMem by one_highpage_init.

I suppose, then, that I need to check for and ignore pages >
highstart_pfn where PageHighMem is not set/Reserved is set. (Either
okay?).

Regards,

Nigel
-- 
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-23 23:30     ` Nigel Cunningham
@ 2004-01-24  0:04       ` William Lee Irwin III
  2004-01-24  0:20         ` Nigel Cunningham
  0 siblings, 1 reply; 7+ messages in thread
From: William Lee Irwin III @ 2004-01-24  0:04 UTC (permalink / raw)
  To: Nigel Cunningham; +Cc: Linux Memory Management

On Sat, Jan 24, 2004 at 12:30:29PM +1300, Nigel Cunningham wrote:
> <4> BIOS-e820: 0000000000000000 - 000000000009e000 (usable)
> <4> BIOS-e820: 000000000009e000 - 00000000000a0000 (reserved)
> <4> BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved)
> <4> BIOS-e820: 0000000000100000 - 00000000efff6500 (usable)
> <4> BIOS-e820: 00000000efff6500 - 00000000f0000000 (ACPI data)
> <4> BIOS-e820: 00000000fffb0000 - 0000000100000000 (reserved)
> <4> BIOS-e820: 0000000100000000 - 0000000400000000 (usable)
> It's the pages efff6000- which are causing me grief. if I understand
> things correctly, page_is_ram is returning 0 for those pages, and as a
> result they get marked reserved and not HighMem by one_highpage_init.
> I suppose, then, that I need to check for and ignore pages >
> highstart_pfn where PageHighMem is not set/Reserved is set. (Either
> okay?).

If it's reserved, most/all bets are off -- only the "owner" of the thing
understands what it is. Some more formally-defined semantics for reserved
are needed, but 2.6 is unlikely to get them soon.


-- wli
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

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

* Re: Can a page be HighMem without having the HighMem flag set?
  2004-01-24  0:04       ` William Lee Irwin III
@ 2004-01-24  0:20         ` Nigel Cunningham
  0 siblings, 0 replies; 7+ messages in thread
From: Nigel Cunningham @ 2004-01-24  0:20 UTC (permalink / raw)
  To: William Lee Irwin III; +Cc: Linux Memory Management

[-- Attachment #1: Type: text/plain, Size: 967 bytes --]

That's fine. I'll just ignore those pages for the sake of suspending and
resuming. I've just successfully suspended with those changes, but
suspending is the easy part.... resuming worked too :>

Regards,

Nigel

On Sat, 2004-01-24 at 13:04, William Lee Irwin III wrote:
> > It's the pages efff6000- which are causing me grief. if I understand
> > things correctly, page_is_ram is returning 0 for those pages, and as a
> > result they get marked reserved and not HighMem by one_highpage_init.
> > I suppose, then, that I need to check for and ignore pages >
> > highstart_pfn where PageHighMem is not set/Reserved is set. (Either
> > okay?).
> 
> If it's reserved, most/all bets are off -- only the "owner" of the thing
> understands what it is. Some more formally-defined semantics for reserved
> are needed, but 2.6 is unlikely to get them soon.
> 
> 
> -- wli
-- 
My work on Software Suspend is graciously brought to you by
LinuxFund.org.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

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

end of thread, other threads:[~2004-01-24  0:17 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-23  2:26 Can a page be HighMem without having the HighMem flag set? Nigel Cunningham
2004-01-23  2:26 ` William Lee Irwin III
2004-01-23  2:46   ` Nigel Cunningham
2004-01-23  3:30   ` Nigel Cunningham
2004-01-23 23:30     ` Nigel Cunningham
2004-01-24  0:04       ` William Lee Irwin III
2004-01-24  0:20         ` Nigel Cunningham

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