projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
include KERN_* constant in printk() calls in mm/slab.c
[powerpc.git]
/
mm
/
highmem.c
diff --git
a/mm/highmem.c
b/mm/highmem.c
index
0206e7e
..
be8f8d3
100644
(file)
--- a/
mm/highmem.c
+++ b/
mm/highmem.c
@@
-47,7
+47,8
@@
unsigned int nr_free_highpages (void)
unsigned int pages = 0;
for_each_online_pgdat(pgdat)
unsigned int pages = 0;
for_each_online_pgdat(pgdat)
- pages += pgdat->node_zones[ZONE_HIGHMEM].free_pages;
+ pages += zone_page_state(&pgdat->node_zones[ZONE_HIGHMEM],
+ NR_FREE_PAGES);
return pages;
}
return pages;
}
@@
-98,6
+99,15
@@
static void flush_all_zero_pkmaps(void)
flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
}
flush_tlb_kernel_range(PKMAP_ADDR(0), PKMAP_ADDR(LAST_PKMAP));
}
+/* Flush all unused kmap mappings in order to remove stray
+ mappings. */
+void kmap_flush_unused(void)
+{
+ spin_lock(&kmap_lock);
+ flush_all_zero_pkmaps();
+ spin_unlock(&kmap_lock);
+}
+
static inline unsigned long map_new_virtual(struct page *page)
{
unsigned long vaddr;
static inline unsigned long map_new_virtual(struct page *page)
{
unsigned long vaddr;