The patch titled Subject: mm: fix return type for functions nr_free_*_pages has been added to the -mm tree. Its filename is mm-fix-return-type-for-functions-nr_free__pages.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Subject: mm: fix return type for functions nr_free_*_pages Currently, the amount of RAM that functions nr_free_*_pages return is held in unsigned int. But in machines with big memory (exceeding 16TB), the amount may be incorrect because of overflow, so fix it. Signed-off-by: Zhang Yanfei <zhangyanfei@xxxxxxxxxxxxxx> Cc: Simon Horman <horms@xxxxxxxxxxxx> Cc: Julian Anastasov <ja@xxxxxx> Cc: David Miller <davem@xxxxxxxxxxxxx> Cc: Eric Van Hensbergen <ericvh@xxxxxxxxx> Cc: Ron Minnich <rminnich@xxxxxxxxxx> Cc: Latchesar Ionkov <lucho@xxxxxxxxxx> Cc: Mel Gorman <mel@xxxxxxxxx> Cc: Minchan Kim <minchan.kim@xxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/swap.h | 4 ++-- mm/page_alloc.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff -puN include/linux/swap.h~mm-fix-return-type-for-functions-nr_free__pages include/linux/swap.h --- a/include/linux/swap.h~mm-fix-return-type-for-functions-nr_free__pages +++ a/include/linux/swap.h @@ -225,8 +225,8 @@ struct swap_list_t { extern unsigned long totalram_pages; extern unsigned long totalreserve_pages; extern unsigned long dirty_balance_reserve; -extern unsigned int nr_free_buffer_pages(void); -extern unsigned int nr_free_pagecache_pages(void); +extern unsigned long nr_free_buffer_pages(void); +extern unsigned long nr_free_pagecache_pages(void); /* Definition of global_page_state not available yet */ #define nr_free_pages() global_page_state(NR_FREE_PAGES) diff -puN mm/page_alloc.c~mm-fix-return-type-for-functions-nr_free__pages mm/page_alloc.c --- a/mm/page_alloc.c~mm-fix-return-type-for-functions-nr_free__pages +++ a/mm/page_alloc.c @@ -2812,13 +2812,13 @@ void free_pages_exact(void *virt, size_t } EXPORT_SYMBOL(free_pages_exact); -static unsigned int nr_free_zone_pages(int offset) +static unsigned long nr_free_zone_pages(int offset) { struct zoneref *z; struct zone *zone; /* Just pick one node, since fallback list is circular */ - unsigned int sum = 0; + unsigned long sum = 0; struct zonelist *zonelist = node_zonelist(numa_node_id(), GFP_KERNEL); @@ -2835,7 +2835,7 @@ static unsigned int nr_free_zone_pages(i /* * Amount of free RAM allocatable within ZONE_DMA and ZONE_NORMAL */ -unsigned int nr_free_buffer_pages(void) +unsigned long nr_free_buffer_pages(void) { return nr_free_zone_pages(gfp_zone(GFP_USER)); } @@ -2844,7 +2844,7 @@ EXPORT_SYMBOL_GPL(nr_free_buffer_pages); /* * Amount of free RAM allocatable within all zones */ -unsigned int nr_free_pagecache_pages(void) +unsigned long nr_free_pagecache_pages(void) { return nr_free_zone_pages(gfp_zone(GFP_HIGHUSER_MOVABLE)); } _ Patches currently in -mm which might be from zhangyanfei@xxxxxxxxxxxxxx are mm-fix-return-type-for-functions-nr_free__pages.patch ia64-use-%ld-to-print-pages-calculated-in-nr_free_buffer_pages.patch fs-bufferc-change-type-of-max_buffer_heads-to-unsigned-long.patch fs-nfsd-change-type-of-max_delegations-nfsd_drc_max_mem-and-nfsd_drc_mem_used.patch vmscan-change-type-of-vm_total_pages-to-unsigned-long.patch net-change-type-of-netns_ipvs-sysctl_sync_qlen_max.patch net-change-type-of-virtio_chan-p9_max_pages.patch binfmt_elf-remove-unused-argument-in-fill_elf_header.patch kexec-get-rid-of-duplicate-check-for-hole_end.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html