diff options
author | Nick Piggin <npiggin@suse.de> | 2006-03-22 03:08:40 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 10:54:02 -0500 |
commit | 7835e98b2e3c66dba79cb0ff8ebb90a2fe030c29 (patch) | |
tree | 405a96eade34845dabe2f125b6c5eb095846869d /arch/mips | |
parent | 70dc991d66cac40fdb07346dba2b5d862d732c34 (diff) |
[PATCH] remove set_page_count() outside mm/
set_page_count usage outside mm/ is limited to setting the refcount to 1.
Remove set_page_count from outside mm/, and replace those users with
init_page_count() and set_page_refcounted().
This allows more debug checking, and tighter control on how code is allowed
to play around with page->_count.
Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/arc/memory.c | 2 | ||||
-rw-r--r-- | arch/mips/dec/prom/memory.c | 2 | ||||
-rw-r--r-- | arch/mips/mips-boards/generic/memory.c | 2 | ||||
-rw-r--r-- | arch/mips/mips-boards/sim/sim_mem.c | 2 | ||||
-rw-r--r-- | arch/mips/mm/init.c | 6 | ||||
-rw-r--r-- | arch/mips/sgi-ip27/ip27-memory.c | 2 |
6 files changed, 8 insertions, 8 deletions
diff --git a/arch/mips/arc/memory.c b/arch/mips/arc/memory.c index 958d2eb78862..8a9ef58cc399 100644 --- a/arch/mips/arc/memory.c +++ b/arch/mips/arc/memory.c | |||
@@ -158,7 +158,7 @@ unsigned long __init prom_free_prom_memory(void) | |||
158 | while (addr < boot_mem_map.map[i].addr | 158 | while (addr < boot_mem_map.map[i].addr |
159 | + boot_mem_map.map[i].size) { | 159 | + boot_mem_map.map[i].size) { |
160 | ClearPageReserved(virt_to_page(__va(addr))); | 160 | ClearPageReserved(virt_to_page(__va(addr))); |
161 | set_page_count(virt_to_page(__va(addr)), 1); | 161 | init_page_count(virt_to_page(__va(addr))); |
162 | free_page((unsigned long)__va(addr)); | 162 | free_page((unsigned long)__va(addr)); |
163 | addr += PAGE_SIZE; | 163 | addr += PAGE_SIZE; |
164 | freed += PAGE_SIZE; | 164 | freed += PAGE_SIZE; |
diff --git a/arch/mips/dec/prom/memory.c b/arch/mips/dec/prom/memory.c index 81cb5a76cfb7..1edaf3074ee9 100644 --- a/arch/mips/dec/prom/memory.c +++ b/arch/mips/dec/prom/memory.c | |||
@@ -118,7 +118,7 @@ unsigned long __init prom_free_prom_memory(void) | |||
118 | addr = PAGE_SIZE; | 118 | addr = PAGE_SIZE; |
119 | while (addr < end) { | 119 | while (addr < end) { |
120 | ClearPageReserved(virt_to_page(__va(addr))); | 120 | ClearPageReserved(virt_to_page(__va(addr))); |
121 | set_page_count(virt_to_page(__va(addr)), 1); | 121 | init_page_count(virt_to_page(__va(addr))); |
122 | free_page((unsigned long)__va(addr)); | 122 | free_page((unsigned long)__va(addr)); |
123 | addr += PAGE_SIZE; | 123 | addr += PAGE_SIZE; |
124 | } | 124 | } |
diff --git a/arch/mips/mips-boards/generic/memory.c b/arch/mips/mips-boards/generic/memory.c index 2c8afd77a20b..ee5e70c95cf3 100644 --- a/arch/mips/mips-boards/generic/memory.c +++ b/arch/mips/mips-boards/generic/memory.c | |||
@@ -174,7 +174,7 @@ unsigned long __init prom_free_prom_memory(void) | |||
174 | while (addr < boot_mem_map.map[i].addr | 174 | while (addr < boot_mem_map.map[i].addr |
175 | + boot_mem_map.map[i].size) { | 175 | + boot_mem_map.map[i].size) { |
176 | ClearPageReserved(virt_to_page(__va(addr))); | 176 | ClearPageReserved(virt_to_page(__va(addr))); |
177 | set_page_count(virt_to_page(__va(addr)), 1); | 177 | init_page_count(virt_to_page(__va(addr))); |
178 | free_page((unsigned long)__va(addr)); | 178 | free_page((unsigned long)__va(addr)); |
179 | addr += PAGE_SIZE; | 179 | addr += PAGE_SIZE; |
180 | freed += PAGE_SIZE; | 180 | freed += PAGE_SIZE; |
diff --git a/arch/mips/mips-boards/sim/sim_mem.c b/arch/mips/mips-boards/sim/sim_mem.c index 0dbd7435bb2a..1ec4e75656bd 100644 --- a/arch/mips/mips-boards/sim/sim_mem.c +++ b/arch/mips/mips-boards/sim/sim_mem.c | |||
@@ -117,7 +117,7 @@ unsigned long __init prom_free_prom_memory(void) | |||
117 | while (addr < boot_mem_map.map[i].addr | 117 | while (addr < boot_mem_map.map[i].addr |
118 | + boot_mem_map.map[i].size) { | 118 | + boot_mem_map.map[i].size) { |
119 | ClearPageReserved(virt_to_page(__va(addr))); | 119 | ClearPageReserved(virt_to_page(__va(addr))); |
120 | set_page_count(virt_to_page(__va(addr)), 1); | 120 | init_page_count(virt_to_page(__va(addr))); |
121 | free_page((unsigned long)__va(addr)); | 121 | free_page((unsigned long)__va(addr)); |
122 | addr += PAGE_SIZE; | 122 | addr += PAGE_SIZE; |
123 | freed += PAGE_SIZE; | 123 | freed += PAGE_SIZE; |
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index a140da9732db..52f7d59fe612 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -245,7 +245,7 @@ void __init mem_init(void) | |||
245 | #ifdef CONFIG_LIMITED_DMA | 245 | #ifdef CONFIG_LIMITED_DMA |
246 | set_page_address(page, lowmem_page_address(page)); | 246 | set_page_address(page, lowmem_page_address(page)); |
247 | #endif | 247 | #endif |
248 | set_page_count(page, 1); | 248 | init_page_count(page); |
249 | __free_page(page); | 249 | __free_page(page); |
250 | totalhigh_pages++; | 250 | totalhigh_pages++; |
251 | } | 251 | } |
@@ -292,7 +292,7 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
292 | 292 | ||
293 | for (; start < end; start += PAGE_SIZE) { | 293 | for (; start < end; start += PAGE_SIZE) { |
294 | ClearPageReserved(virt_to_page(start)); | 294 | ClearPageReserved(virt_to_page(start)); |
295 | set_page_count(virt_to_page(start), 1); | 295 | init_page_count(virt_to_page(start)); |
296 | free_page(start); | 296 | free_page(start); |
297 | totalram_pages++; | 297 | totalram_pages++; |
298 | } | 298 | } |
@@ -315,7 +315,7 @@ void free_initmem(void) | |||
315 | page = addr; | 315 | page = addr; |
316 | #endif | 316 | #endif |
317 | ClearPageReserved(virt_to_page(page)); | 317 | ClearPageReserved(virt_to_page(page)); |
318 | set_page_count(virt_to_page(page), 1); | 318 | init_page_count(virt_to_page(page)); |
319 | free_page(page); | 319 | free_page(page); |
320 | totalram_pages++; | 320 | totalram_pages++; |
321 | freed += PAGE_SIZE; | 321 | freed += PAGE_SIZE; |
diff --git a/arch/mips/sgi-ip27/ip27-memory.c b/arch/mips/sgi-ip27/ip27-memory.c index ed93a9792959..e0d095daa5ed 100644 --- a/arch/mips/sgi-ip27/ip27-memory.c +++ b/arch/mips/sgi-ip27/ip27-memory.c | |||
@@ -559,7 +559,7 @@ void __init mem_init(void) | |||
559 | /* if (!page_is_ram(pgnr)) continue; */ | 559 | /* if (!page_is_ram(pgnr)) continue; */ |
560 | /* commented out until page_is_ram works */ | 560 | /* commented out until page_is_ram works */ |
561 | ClearPageReserved(p); | 561 | ClearPageReserved(p); |
562 | set_page_count(p, 1); | 562 | init_page_count(p); |
563 | __free_page(p); | 563 | __free_page(p); |
564 | totalram_pages++; | 564 | totalram_pages++; |
565 | } | 565 | } |