On Mon, 14 Jan 2019 15:24:33 +0530 "Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxx> wrote: > This patch adds PF_MEMALLOC_NOCMA which make sure any allocation in that context > is marked non-movable and hence cannot be satisfied by CMA region. > > This is useful with get_user_pages_longterm where we want to take a page pin by > migrating pages from CMA region. Marking the section PF_MEMALLOC_NOCMA ensures > that we avoid unnecessary page migration later. > > ... > > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -1406,6 +1406,7 @@ extern struct pid *cad_pid; > #define PF_RANDOMIZE 0x00400000 /* Randomize virtual address space */ > #define PF_SWAPWRITE 0x00800000 /* Allowed to write to swap */ > #define PF_MEMSTALL 0x01000000 /* Stalled due to lack of memory */ > +#define PF_MEMALLOC_NOCMA 0x02000000 /* All allocation request will have _GFP_MOVABLE cleared */ > #define PF_NO_SETAFFINITY 0x04000000 /* Userland is not allowed to meddle with cpus_allowed */ > #define PF_MCE_EARLY 0x08000000 /* Early kill for mce process policy */ > #define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */ This flag has been taken by PF_UMH so I moved it to 0x10000000. And we have now run out of PF_ flags.