Skip to content

Commit cbe37d0

Browse files
Badari PulavartyLinus Torvalds
authored andcommitted
[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>
1 parent 73219d1 commit cbe37d0

File tree

7 files changed

+15
-22
lines changed

7 files changed

+15
-22
lines changed

arch/frv/mm/init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,6 @@ void __init mem_init(void)
169169
struct page *page = &mem_map[pfn];
170170

171171
ClearPageReserved(page);
172-
set_bit(PG_highmem, &page->flags);
173172
set_page_count(page, 1);
174173
__free_page(page);
175174
totalram_pages++;

arch/i386/mm/init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,6 @@ void __init one_highpage_init(struct page *page, int pfn, int bad_ppro)
269269
{
270270
if (page_is_ram(pfn) && !(bad_ppro && page_kills_ppro(pfn))) {
271271
ClearPageReserved(page);
272-
set_bit(PG_highmem, &page->flags);
273272
set_page_count(page, 1);
274273
__free_page(page);
275274
totalhigh_pages++;

arch/mips/mm/init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,6 @@ void __init mem_init(void)
232232
#ifdef CONFIG_LIMITED_DMA
233233
set_page_address(page, lowmem_page_address(page));
234234
#endif
235-
set_bit(PG_highmem, &page->flags);
236235
set_page_count(page, 1);
237236
__free_page(page);
238237
totalhigh_pages++;

arch/ppc/mm/init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -469,7 +469,6 @@ void __init mem_init(void)
469469
struct page *page = mem_map + pfn;
470470

471471
ClearPageReserved(page);
472-
set_bit(PG_highmem, &page->flags);
473472
set_page_count(page, 1);
474473
__free_page(page);
475474
totalhigh_pages++;

arch/sparc/mm/init.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,6 @@ void map_high_region(unsigned long start_pfn, unsigned long end_pfn)
384384
struct page *page = pfn_to_page(tmp);
385385

386386
ClearPageReserved(page);
387-
set_bit(PG_highmem, &page->flags);
388387
set_page_count(page, 1);
389388
__free_page(page);
390389
totalhigh_pages++;

arch/um/kernel/mem.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ static void setup_highmem(unsigned long highmem_start,
5353
for(i = 0; i < highmem_len >> PAGE_SHIFT; i++){
5454
page = &mem_map[highmem_pfn + i];
5555
ClearPageReserved(page);
56-
set_bit(PG_highmem, &page->flags);
5756
set_page_count(page, 1);
5857
__free_page(page);
5958
}

include/linux/page-flags.h

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,20 @@
6161
#define PG_active 6
6262
#define PG_slab 7 /* slab debug (Suparna wants this) */
6363

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
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 */
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 */
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+
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+
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 */
7978

8079
/*
8180
* Global page accounting. One instance per CPU. Only unsigned longs are
@@ -215,7 +214,7 @@ extern void __mod_page_state(unsigned offset, unsigned long delta);
215214
#define TestSetPageSlab(page) test_and_set_bit(PG_slab, &(page)->flags)
216215

217216
#ifdef CONFIG_HIGHMEM
218-
#define PageHighMem(page) test_bit(PG_highmem, &(page)->flags)
217+
#define PageHighMem(page) is_highmem(page_zone(page))
219218
#else
220219
#define PageHighMem(page) 0 /* needed to optimize away at compile time */
221220
#endif

0 commit comments

Comments
 (0)