diff options
Diffstat (limited to 'mm/highmem.c')
| -rw-r--r-- | mm/highmem.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/mm/highmem.c b/mm/highmem.c index 9b2a5403c447..ee5519b176ee 100644 --- a/mm/highmem.c +++ b/mm/highmem.c | |||
| @@ -46,6 +46,19 @@ static void *mempool_alloc_pages_isa(gfp_t gfp_mask, void *data) | |||
| 46 | */ | 46 | */ |
| 47 | #ifdef CONFIG_HIGHMEM | 47 | #ifdef CONFIG_HIGHMEM |
| 48 | 48 | ||
| 49 | unsigned long totalhigh_pages __read_mostly; | ||
| 50 | |||
| 51 | unsigned int nr_free_highpages (void) | ||
| 52 | { | ||
| 53 | pg_data_t *pgdat; | ||
| 54 | unsigned int pages = 0; | ||
| 55 | |||
| 56 | for_each_online_pgdat(pgdat) | ||
| 57 | pages += pgdat->node_zones[ZONE_HIGHMEM].free_pages; | ||
| 58 | |||
| 59 | return pages; | ||
| 60 | } | ||
| 61 | |||
| 49 | static int pkmap_count[LAST_PKMAP]; | 62 | static int pkmap_count[LAST_PKMAP]; |
| 50 | static unsigned int last_pkmap_nr; | 63 | static unsigned int last_pkmap_nr; |
| 51 | static __cacheline_aligned_in_smp DEFINE_SPINLOCK(kmap_lock); | 64 | static __cacheline_aligned_in_smp DEFINE_SPINLOCK(kmap_lock); |
