The patch titled page flags: add PAGEFLAGS_FALSE for flags that are always false has been added to the -mm tree. Its filename is page-flags-add-pageflags_false-for-flags-that-are-always-false.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 *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: page flags: add PAGEFLAGS_FALSE for flags that are always false From: Christoph Lameter <clameter@xxxxxxx> Turns out that there are a number of times that a flag is simply always returning 0. Define a macro for that. Signed-off-by: Christoph Lameter <clameter@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/page-flags.h | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff -puN include/linux/page-flags.h~page-flags-add-pageflags_false-for-flags-that-are-always-false include/linux/page-flags.h --- a/include/linux/page-flags.h~page-flags-add-pageflags_false-for-flags-that-are-always-false +++ a/include/linux/page-flags.h @@ -134,6 +134,10 @@ static inline int TestClearPage##uname(s #define __PAGEFLAG(uname, lname) TESTPAGEFLAG(uname, lname) \ __SETPAGEFLAG(uname, lname) __CLEARPAGEFLAG(uname, lname) +#define PAGEFLAG_FALSE(uname) \ +static inline int Page##uname(struct page *page) \ + { return 0; } + #define TESTSCFLAG(uname, lname) \ TESTSETFLAG(uname, lname) TESTCLEARFLAG(uname, lname) @@ -171,28 +175,19 @@ PAGEFLAG(Readahead, reclaim) /* Reminde */ #define PageHighMem(__p) is_highmem(page_zone(__p)) #else -static inline int PageHighMem(struct page *page) -{ - return 0; -} +PAGEFLAG_FALSE(HighMem) #endif #ifdef CONFIG_SWAP PAGEFLAG(SwapCache, swapcache) #else -static inline int PageSwapCache(struct page *page) -{ - return 0; -} +PAGEFLAG_FALSE(SwapCache) #endif #ifdef CONFIG_IA64_UNCACHED_ALLOCATOR PAGEFLAG(Uncached, uncached) #else -static inline int PageUncached(struct page *) -{ - return 0; -} +PAGEFLAG_FALSE(Uncached) #endif static inline int PageUptodate(struct page *page) _ Patches currently in -mm which might be from clameter@xxxxxxx are origin.patch git-unionfs.patch git-slub.patch remove-set_migrateflags.patch mm-use-zonelists-instead-of-zones-when-direct-reclaiming-pages.patch mm-introduce-node_zonelist-for-accessing-the-zonelist-for-a-gfp-mask.patch mm-remember-what-the-preferred-zone-is-for-zone_statistics.patch mm-use-two-zonelist-that-are-filtered-by-gfp-mask.patch mm-have-zonelist-contains-structs-with-both-a-zone-pointer-and-zone_idx.patch mm-have-zonelist-contains-structs-with-both-a-zone-pointer-and-zone_idx-fix-memcg-ooms.patch mm-have-zonelist-contains-structs-with-both-a-zone-pointer-and-zone_idx-just-return-do_try_to_free_pages.patch mm-have-zonelist-contains-structs-with-both-a-zone-pointer-and-zone_idx-just-return-do_try_to_free_pages-do_try_to_free_pages-gfp_mask-redundant.patch mm-filter-based-on-a-nodemask-as-well-as-a-gfp_mask.patch mm-filter-based-on-a-nodemask-as-well-as-a-gfp_mask-doc-fixes.patch mm-filter-based-on-a-nodemask-as-well-as-a-gfp_mask-make-dequeue_huge_page_vma-obey-mpol_bind-nodemask.patch mm-filter-based-on-a-nodemask-as-well-as-a-gfp_mask-make-dequeue_huge_page_vma-obey-mpol_bind-nodemask-rework.patch mm-filter-based-on-a-nodemask-as-well-as-a-gfp_mask-deporkify.patch mm-move-cache_line_size-to-linux-cacheh.patch mempolicy-convert-mpol-constants-to-enum.patch mempolicy-support-optional-mode-flags.patch mempolicy-support-optional-mode-flags-fix.patch mempolicy-add-mpol_f_static_nodes-flag.patch mempolicy-add-bitmap_onto-and-bitmap_fold-operations.patch mempolicy-add-mpol_f_relative_nodes-flag.patch mempolicy-update-numa-memory-policy-documentation.patch mempolicy-move-rebind-functions.patch mempolicy-create-mempolicy_operations-structure.patch mempolicy-create-mempolicy_operations-structure-fix.patch mempolicy-small-header-file-cleanup.patch mempolicy-disallow-static-or-relative-flags-for-local-preferred-mode.patch mempolicy-fix-parsing-of-tmpfs-mpol-mount-option.patch mm-make-mem_map-allocation-continuous.patch mm-fix-alloc_bootmem_core-to-use-fast-searching-for-all-nodes.patch mm-allocate-section_map-for-sparse_init.patch mm-allocate-section_map-for-sparse_init-update.patch mm-allocate-section_map-for-sparse_init-update-fix.patch mm-offset-align-in-alloc_bootmem.patch mm-make-reserve_bootmem-can-crossed-the-nodes.patch mm-make-early_pfn_to_nid-a-c-function.patch vmalloc-show-vmalloced-areas-via-proc-vmallocinfo.patch vmalloc-show-vmalloced-areas-via-proc-vmallocinfo-checkpatch-fixes.patch vmalloc-show-vmalloced-areas-via-proc-vmallocinfo-fix.patch vmalloc-show-vmalloced-areas-via-proc-vmallocinfo-fix-2.patch vmallocinfo-add-caller-information.patch vmallocinfo-add-caller-information-checkpatch-fixes.patch sparsemem-vmemmap-does-not-need-section-bits.patch kbuild-create-a-way-to-create-preprocessor-constants-from-c-expressions.patch page_mapping-add-ifdef-around-reference-to-swapper_space.patch pageflags-use-an-enum-for-the-flags.patch pageflags-get-rid-of-flags_reserved.patch pageflags-introduce-macros-to-generate-page-flag-functions.patch pageflags-convert-to-the-use-of-new-macros.patch pageflags-use-proper-page-flag-functions-in-xen.patch pageflags-eliminate-pg_xxx-aliases.patch page-flags-handle-pg_uncached-like-all-other-flags.patch page-flags-add-pageflags_false-for-flags-that-are-always-false.patch mm-remove-unused-max_nodes_shift.patch ipc-add-definitions-of-ushort_max-and-others.patch mm-add-nr_writeback_temp-counter.patch remove-div_long_long_rem.patch slab-add-a-flag-to-prevent-debug_free-checks-on-a-kmem_cache.patch reiser4.patch reiser4-portion-of-zero_user-cleanup-patch.patch page-owner-tracking-leak-detector.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