is_highmem() and WANT_PAGE_VIRTUAL (was: Re: Linux 2.6.8-rc1)

Geert Uytterhoeven
2004-07-12T11:30:39Z

On Sun, 11 Jul 2004, Linus Torvalds wrote:
> Andy Whitcroft:
> o convert uses of ZONE_HIGHMEM to is_highmem

| --- reference/mm/page_alloc.c 2004-07-07 18:08:56.000000000 +0100
| +++ current/mm/page_alloc.c 2004-07-07 18:10:15.000000000 +0100
| @@ -1421,7 +1421,7 @@ void __init memmap_init_zone(struct page
| INIT_LIST_HEAD(&page->lru);
| #ifdef WANT_PAGE_VIRTUAL
| /* The shift won't overflow because ZONE_NORMAL is below 4G. */
| - if (zone != ZONE_HIGHMEM)
| + if (!is_highmem(zone))
| set_page_address(page, __va(start_pfn << PAGE_SHIFT));
| #endif
| start_pfn++;

The above change is incorrect, since zone is an unsigned long, while
is_highmem() takes a struct zone *.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds