diff --git a/include/linux/highmem.h b/include/linux/highmem.h index cea3a0145b431f..ea5cdbd8c2c326 100644 --- a/include/linux/highmem.h +++ b/include/linux/highmem.h @@ -44,22 +44,22 @@ static inline unsigned long totalhigh_pages(void) static inline void totalhigh_pages_inc(void) { - atomic_long_inc(&_totalhigh_pages); + atomic_long_inc(&_totalhigh_pages); } static inline void totalhigh_pages_dec(void) { - atomic_long_dec(&_totalhigh_pages); + atomic_long_dec(&_totalhigh_pages); } static inline void totalhigh_pages_add(long count) { - atomic_long_add(count, &_totalhigh_pages); + atomic_long_add(count, &_totalhigh_pages); } static inline void totalhigh_pages_set(long val) { - atomic_long_set(&_totalhigh_pages, val); + atomic_long_set(&_totalhigh_pages, val); } void kmap_flush_unused(void); diff --git a/include/linux/mm.h b/include/linux/mm.h index 10dcd89fb8b4d8..1d2be4c2d34aa9 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -51,27 +51,27 @@ static inline void set_max_mapnr(unsigned long limit) { } extern atomic_long_t _totalram_pages; static inline unsigned long totalram_pages(void) { - return (unsigned long)atomic_long_read(&_totalram_pages); + return (unsigned long)atomic_long_read(&_totalram_pages); } static inline void totalram_pages_inc(void) { - atomic_long_inc(&_totalram_pages); + atomic_long_inc(&_totalram_pages); } static inline void totalram_pages_dec(void) { - atomic_long_dec(&_totalram_pages); + atomic_long_dec(&_totalram_pages); } static inline void totalram_pages_add(long count) { - atomic_long_add(count, &_totalram_pages); + atomic_long_add(count, &_totalram_pages); } static inline void totalram_pages_set(long val) { - atomic_long_set(&_totalram_pages, val); + atomic_long_set(&_totalram_pages, val); } extern void * high_memory; diff --git a/mm/shmem.c b/mm/shmem.c index 562330fa09859c..56bfb95d6a9429 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -115,6 +115,7 @@ static unsigned long shmem_default_max_blocks(void) static unsigned long shmem_default_max_inodes(void) { unsigned long nr_pages = totalram_pages(); + return min(nr_pages - totalhigh_pages(), nr_pages / 2); } #endif