From eb91858b851f1860ef2338b7d86f2be1bb9f8735 Mon Sep 17 00:00:00 2001 From: "Kirill A. Shutemov" Date: Wed, 8 Apr 2015 09:44:25 +1000 Subject: [PATCH] page-flags: define PG_mlocked behavior on compound pages Transparent huge pages can be mlocked -- whole compund page at once. Something went wrong if we're trying to mlock() tail page. Let's use NO_TAIL. Signed-off-by: Kirill A. Shutemov Cc: Andrea Arcangeli Cc: Hugh Dickins Cc: Dave Hansen Cc: Mel Gorman Cc: Rik van Riel Cc: Vlastimil Babka Cc: Christoph Lameter Cc: Naoya Horiguchi Cc: Steve Capper Cc: "Aneesh Kumar K.V" Cc: Johannes Weiner Cc: Michal Hocko Cc: Jerome Marchand Signed-off-by: Andrew Morton --- include/linux/page-flags.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h index 9ea90bb8cb89..a1ecec3f505f 100644 --- a/include/linux/page-flags.h +++ b/include/linux/page-flags.h @@ -340,8 +340,9 @@ PAGEFLAG(Unevictable, unevictable, HEAD) TESTCLEARFLAG(Unevictable, unevictable, HEAD) #ifdef CONFIG_MMU -PAGEFLAG(Mlocked, mlocked, ANY) __CLEARPAGEFLAG(Mlocked, mlocked, ANY) - TESTSCFLAG(Mlocked, mlocked, ANY) __TESTCLEARFLAG(Mlocked, mlocked, ANY) +PAGEFLAG(Mlocked, mlocked, NO_TAIL) __CLEARPAGEFLAG(Mlocked, mlocked, NO_TAIL) + TESTSCFLAG(Mlocked, mlocked, NO_TAIL) + __TESTCLEARFLAG(Mlocked, mlocked, NO_TAIL) #else PAGEFLAG_FALSE(Mlocked) __CLEARPAGEFLAG_NOOP(Mlocked) TESTSCFLAG_FALSE(Mlocked) __TESTCLEARFLAG_FALSE(Mlocked) -- 2.39.5