]>
Commit | Line | Data |
---|---|---|
e6d11017 JR |
1 | Cleanup one_highpage_init() as in 2.5. |
2 | Author: Christoph Hellwig <hch@sgi.com> | |
3 | ||
4 | --- linux-2.4.20-pre5/arch/i386/mm/init.c Tue Aug 20 11:36:59 2002 | |
5 | +++ linux/arch/i386/mm/init.c Fri Sep 6 13:14:37 2002 | |
6 | @@ -442,21 +442,14 @@ static inline int page_kills_ppro(unsign | |
7 | #ifdef CONFIG_HIGHMEM | |
8 | void __init one_highpage_init(struct page *page, int pfn, int bad_ppro) | |
9 | { | |
10 | - if (!page_is_ram(pfn)) { | |
11 | + if (page_is_ram(pfn) && !(bad_ppro && page_kills_ppro(pfn))) { | |
12 | + ClearPageReserved(page); | |
13 | + set_bit(PG_highmem, &page->flags); | |
14 | + set_page_count(page, 1); | |
15 | + __free_page(page); | |
16 | + totalhigh_pages++; | |
17 | + } else | |
18 | SetPageReserved(page); | |
19 | - return; | |
20 | - } | |
21 | - | |
22 | - if (bad_ppro && page_kills_ppro(pfn)) { | |
23 | - SetPageReserved(page); | |
24 | - return; | |
25 | - } | |
26 | - | |
27 | - ClearPageReserved(page); | |
28 | - set_bit(PG_highmem, &page->flags); | |
29 | - atomic_set(&page->count, 1); | |
30 | - __free_page(page); | |
31 | - totalhigh_pages++; | |
32 | } | |
33 | #endif /* CONFIG_HIGHMEM */ | |
34 |