Commit cbe37d093707762fc0abb280781e6a82a9d8d568

Authored by Badari Pulavarty
Committed by Linus Torvalds
1 parent 73219d1780

[PATCH] mm: remove PG_highmem

Remove PG_highmem, to save a page flag.  Use is_highmem() instead.  It'll
generate a little more code, but we don't use PageHigheMem() in many places.

Signed-off-by: Badari Pulavarty <pbadari@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

Showing 7 changed files with 15 additions and 22 deletions Side-by-side Diff

... ... @@ -169,7 +169,6 @@
169 169 struct page *page = &mem_map[pfn];
170 170  
171 171 ClearPageReserved(page);
172   - set_bit(PG_highmem, &page->flags);
173 172 set_page_count(page, 1);
174 173 __free_page(page);
175 174 totalram_pages++;
... ... @@ -269,7 +269,6 @@
269 269 {
270 270 if (page_is_ram(pfn) && !(bad_ppro && page_kills_ppro(pfn))) {
271 271 ClearPageReserved(page);
272   - set_bit(PG_highmem, &page->flags);
273 272 set_page_count(page, 1);
274 273 __free_page(page);
275 274 totalhigh_pages++;
... ... @@ -232,7 +232,6 @@
232 232 #ifdef CONFIG_LIMITED_DMA
233 233 set_page_address(page, lowmem_page_address(page));
234 234 #endif
235   - set_bit(PG_highmem, &page->flags);
236 235 set_page_count(page, 1);
237 236 __free_page(page);
238 237 totalhigh_pages++;
... ... @@ -469,7 +469,6 @@
469 469 struct page *page = mem_map + pfn;
470 470  
471 471 ClearPageReserved(page);
472   - set_bit(PG_highmem, &page->flags);
473 472 set_page_count(page, 1);
474 473 __free_page(page);
475 474 totalhigh_pages++;
arch/sparc/mm/init.c
... ... @@ -384,7 +384,6 @@
384 384 struct page *page = pfn_to_page(tmp);
385 385  
386 386 ClearPageReserved(page);
387   - set_bit(PG_highmem, &page->flags);
388 387 set_page_count(page, 1);
389 388 __free_page(page);
390 389 totalhigh_pages++;
arch/um/kernel/mem.c
... ... @@ -53,7 +53,6 @@
53 53 for(i = 0; i < highmem_len >> PAGE_SHIFT; i++){
54 54 page = &mem_map[highmem_pfn + i];
55 55 ClearPageReserved(page);
56   - set_bit(PG_highmem, &page->flags);
57 56 set_page_count(page, 1);
58 57 __free_page(page);
59 58 }
include/linux/page-flags.h
... ... @@ -61,21 +61,20 @@
61 61 #define PG_active 6
62 62 #define PG_slab 7 /* slab debug (Suparna wants this) */
63 63  
64   -#define PG_highmem 8
65   -#define PG_checked 9 /* kill me in 2.5.<early>. */
66   -#define PG_arch_1 10
67   -#define PG_reserved 11
  64 +#define PG_checked 8 /* kill me in 2.5.<early>. */
  65 +#define PG_arch_1 9
  66 +#define PG_reserved 10
  67 +#define PG_private 11 /* Has something at ->private */
68 68  
69   -#define PG_private 12 /* Has something at ->private */
70   -#define PG_writeback 13 /* Page is under writeback */
71   -#define PG_nosave 14 /* Used for system suspend/resume */
72   -#define PG_compound 15 /* Part of a compound page */
  69 +#define PG_writeback 12 /* Page is under writeback */
  70 +#define PG_nosave 13 /* Used for system suspend/resume */
  71 +#define PG_compound 14 /* Part of a compound page */
  72 +#define PG_swapcache 15 /* Swap page: swp_entry_t in private */
73 73  
74   -#define PG_swapcache 16 /* Swap page: swp_entry_t in private */
75   -#define PG_mappedtodisk 17 /* Has blocks allocated on-disk */
76   -#define PG_reclaim 18 /* To be reclaimed asap */
77   -#define PG_nosave_free 19 /* Free, should not be written */
78   -#define PG_uncached 20 /* Page has been mapped as uncached */
  74 +#define PG_mappedtodisk 16 /* Has blocks allocated on-disk */
  75 +#define PG_reclaim 17 /* To be reclaimed asap */
  76 +#define PG_nosave_free 18 /* Free, should not be written */
  77 +#define PG_uncached 19 /* Page has been mapped as uncached */
79 78  
80 79 /*
81 80 * Global page accounting. One instance per CPU. Only unsigned longs are
... ... @@ -215,7 +214,7 @@
215 214 #define TestSetPageSlab(page) test_and_set_bit(PG_slab, &(page)->flags)
216 215  
217 216 #ifdef CONFIG_HIGHMEM
218   -#define PageHighMem(page) test_bit(PG_highmem, &(page)->flags)
  217 +#define PageHighMem(page) is_highmem(page_zone(page))
219 218 #else
220 219 #define PageHighMem(page) 0 /* needed to optimize away at compile time */
221 220 #endif