[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <HK2PR03MB16844D405C08B595CD682B6592940@HK2PR03MB1684.apcprd03.prod.outlook.com>
Date: Tue, 22 May 2018 11:51:52 +0000
From: Huaisheng HS1 Ye <yehs1@...ovo.com>
To: Matthew Wilcox <willy@...radead.org>
CC: "akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"mhocko@...e.com" <mhocko@...e.com>,
"vbabka@...e.cz" <vbabka@...e.cz>,
"mgorman@...hsingularity.net" <mgorman@...hsingularity.net>,
"kstewart@...uxfoundation.org" <kstewart@...uxfoundation.org>,
"alexander.levin@...izon.com" <alexander.levin@...izon.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"colyli@...e.de" <colyli@...e.de>,
NingTing Cheng <chengnt@...ovo.com>,
Ocean HY1 He <hehy1@...ovo.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"xen-devel@...ts.xenproject.org" <xen-devel@...ts.xenproject.org>,
"linux-btrfs@...r.kernel.org" <linux-btrfs@...r.kernel.org>,
Minchan Kim <minchan@...nel.org>,
Nitin Gupta <ngupta@...are.org>,
Sergey Senozhatsky <sergey.senozhatsky.work@...il.com>,
Huaisheng Ye <yehs2007@...il.com>,
Christoph Hellwig <hch@....de>
Subject: RE: [External] Re: [RFC PATCH v2 10/12] mm/zsmalloc: update usage of
address zone modifiers
From: owner-linux-mm@...ck.org On Behalf Of Matthew Wilcox
>
> On Mon, May 21, 2018 at 11:20:31PM +0800, Huaisheng Ye wrote:
> > @@ -343,7 +343,7 @@ static void destroy_cache(struct zs_pool *pool)
> > static unsigned long cache_alloc_handle(struct zs_pool *pool, gfp_t gfp)
> > {
> > return (unsigned long)kmem_cache_alloc(pool->handle_cachep,
> > - gfp & ~(__GFP_HIGHMEM|__GFP_MOVABLE));
> > + gfp & ~__GFP_ZONE_MOVABLE);
> > }
>
> This should be & ~GFP_ZONEMASK
>
> Actually, we should probably have a function to clear those bits rather
> than have every driver manipulating the gfp mask like this. Maybe
>
> #define gfp_normal(gfp) ((gfp) & ~GFP_ZONEMASK)
Good idea!
>
> return (unsigned long)kmem_cache_alloc(pool->handle_cachep,
> - gfp & ~(__GFP_HIGHMEM|__GFP_MOVABLE));
> + gfp_normal(gfp));
Sincerely,
Huaisheng Ye
Powered by blists - more mailing lists