Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-27 Thread Chunyu Hu
quot; <dvyu...@google.com>, > "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" <linux...@kvack.org> > Sent: Thursday, April 26, 2018 8:56:35 PM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_mask >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-27 Thread Chunyu Hu
- Original Message - > From: "Catalin Marinas" > To: "Chunyu Hu" > Cc: "Michal Hocko" , "Chunyu Hu" , > "Dmitry Vyukov" , > "LKML" , "Linux-MM" > Sent: Thursday, April 26, 2018 8:56:35 PM >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-27 Thread Chunyu Hu
quot; <dvyu...@google.com>, > "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" <linux...@kvack.org> > Sent: Wednesday, April 25, 2018 10:33:49 PM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_mask >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-27 Thread Chunyu Hu
- Original Message - > From: "Chunyu Hu" > To: "Catalin Marinas" > Cc: "Michal Hocko" , "Chunyu Hu" , > "Dmitry Vyukov" , > "LKML" , "Linux-MM" > Sent: Wednesday, April 25, 2018 10:33:49 PM >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-26 Thread Catalin Marinas
On Thu, Apr 26, 2018 at 08:23:19AM -0400, Chunyu Hu wrote: > kmemleak is using kmem_cache to record every pointers returned from kernel > mem > allocation activities such as kmem_cache_alloc(). every time an object from > slab allocator is returned, a following new kmemleak object is allocated.

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-26 Thread Catalin Marinas
On Thu, Apr 26, 2018 at 08:23:19AM -0400, Chunyu Hu wrote: > kmemleak is using kmem_cache to record every pointers returned from kernel > mem > allocation activities such as kmem_cache_alloc(). every time an object from > slab allocator is returned, a following new kmemleak object is allocated.

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-26 Thread Chunyu Hu
as" > <catalin.mari...@arm.com>, "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" > <linux...@kvack.org> > Sent: Wednesday, April 25, 2018 1:02:39 AM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_ma

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-26 Thread Chunyu Hu
u Hu" > > > Cc: "Dmitry Vyukov" , "Catalin Marinas" > > > , "Chunyu Hu" > > > , "LKML" , "Linux-MM" > > > > > > Sent: Tuesday, April 24, 2018 9:20:57 PM > > > Subject: Re: [RFC] mm: kmemlea

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Chunyu Hu
quot; <dvyu...@google.com>, > "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" <linux...@kvack.org> > Sent: Wednesday, April 25, 2018 8:51:55 PM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_mask >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Chunyu Hu
- Original Message - > From: "Catalin Marinas" > To: "Chunyu Hu" > Cc: "Michal Hocko" , "Chunyu Hu" , > "Dmitry Vyukov" , > "LKML" , "Linux-MM" > Sent: Wednesday, April 25, 2018 8:51:55 PM >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Catalin Marinas
On Wed, Apr 25, 2018 at 05:50:41AM -0400, Chunyu Hu wrote: > - Original Message - > > From: "Catalin Marinas" > > On Tue, Apr 24, 2018 at 07:20:57AM -0600, Michal Hocko wrote: > > > On Mon 23-04-18 12:17:32, Chunyu Hu wrote: > > > [...] > > > > So if there is a

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Catalin Marinas
On Wed, Apr 25, 2018 at 05:50:41AM -0400, Chunyu Hu wrote: > - Original Message - > > From: "Catalin Marinas" > > On Tue, Apr 24, 2018 at 07:20:57AM -0600, Michal Hocko wrote: > > > On Mon 23-04-18 12:17:32, Chunyu Hu wrote: > > > [...] > > > > So if there is a new flag, it would be the

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Chunyu Hu
u" <ch...@redhat.com>, "LKML" > <linux-kernel@vger.kernel.org>, "Linux-MM" <linux...@kvack.org> > Sent: Tuesday, April 24, 2018 9:41:48 PM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_m

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-25 Thread Chunyu Hu
- Original Message - > From: "Catalin Marinas" > To: "Michal Hocko" > Cc: "Chunyu Hu" , "Dmitry Vyukov" > , "Chunyu Hu" , "LKML" > , "Linux-MM" > Sent: Tuesday, April 24, 2018 9:41:48 PM >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Dmitry Vyukov
t; <chuhu.nc...@gmail.com> >> > Cc: "Dmitry Vyukov" <dvyu...@google.com>, "Catalin Marinas" >> > <catalin.mari...@arm.com>, "Chunyu Hu" >> > <ch...@redhat.com>, "LKML" <linux-kernel@vger.kern

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Dmitry Vyukov
ot;Catalin Marinas" >> > , "Chunyu Hu" >> > , "LKML" , "Linux-MM" >> > >> > Sent: Tuesday, April 24, 2018 9:20:57 PM >> > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in >> > gfp_kmeml

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Michal Hocko
talin Marinas" > > <catalin.mari...@arm.com>, "Chunyu Hu" > > <ch...@redhat.com>, "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" > > <linux...@kvack.org> > > Sent: Tuesday, April 24, 2018 9:20:57 PM >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Michal Hocko
KML" , "Linux-MM" > > > > Sent: Tuesday, April 24, 2018 9:20:57 PM > > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > > gfp_kmemleak_mask > > > > On Mon 23-04-18 12:17:32, Chunyu Hu wrote: > > [...] > > > So if

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Chunyu Hu
Chunyu Hu" > <ch...@redhat.com>, "LKML" <linux-kernel@vger.kernel.org>, "Linux-MM" > <linux...@kvack.org> > Sent: Tuesday, April 24, 2018 9:20:57 PM > Subject: Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in > gfp_kmemleak_mask >

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Chunyu Hu
- Original Message - > From: "Michal Hocko" > To: "Chunyu Hu" > Cc: "Dmitry Vyukov" , "Catalin Marinas" > , "Chunyu Hu" > , "LKML" , "Linux-MM" > > Sent: Tuesday, April 24, 2018 9:20:57 PM &g

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Catalin Marinas
On Tue, Apr 24, 2018 at 07:20:57AM -0600, Michal Hocko wrote: > On Mon 23-04-18 12:17:32, Chunyu Hu wrote: > [...] > > So if there is a new flag, it would be the 25th bits. > > No new flags please. Can you simply store a simple bool into fail_page_alloc > and have save/restore api for that? For

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Catalin Marinas
On Tue, Apr 24, 2018 at 07:20:57AM -0600, Michal Hocko wrote: > On Mon 23-04-18 12:17:32, Chunyu Hu wrote: > [...] > > So if there is a new flag, it would be the 25th bits. > > No new flags please. Can you simply store a simple bool into fail_page_alloc > and have save/restore api for that? For

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Michal Hocko
On Mon 23-04-18 12:17:32, Chunyu Hu wrote: [...] > So if there is a new flag, it would be the 25th bits. No new flags please. Can you simply store a simple bool into fail_page_alloc and have save/restore api for that? -- Michal Hocko SUSE Labs

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-24 Thread Michal Hocko
On Mon 23-04-18 12:17:32, Chunyu Hu wrote: [...] > So if there is a new flag, it would be the 25th bits. No new flags please. Can you simply store a simple bool into fail_page_alloc and have save/restore api for that? -- Michal Hocko SUSE Labs

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Chunyu Hu
On 22 April 2018 at 23:00, Dmitry Vyukov wrote: > On Sun, Apr 22, 2018 at 2:51 PM, Michal Hocko wrote: >> On Fri 20-04-18 18:50:24, Catalin Marinas wrote: >>> On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >>> > __GFP_NORETRY and __GFP_NOFAIL

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Chunyu Hu
On 22 April 2018 at 23:00, Dmitry Vyukov wrote: > On Sun, Apr 22, 2018 at 2:51 PM, Michal Hocko wrote: >> On Fri 20-04-18 18:50:24, Catalin Marinas wrote: >>> On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >>> > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now.

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Chunyu Hu
On 21 April 2018 at 01:50, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> But it's a wrong combination. As __GFP_NOFAIL is blockable, but >> __GFP_NORETY is

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Chunyu Hu
On 21 April 2018 at 01:50, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> But it's a wrong combination. As __GFP_NOFAIL is blockable, but >> __GFP_NORETY is not blockable, make it

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Dmitry Vyukov
On Sun, Apr 22, 2018 at 2:51 PM, Michal Hocko wrote: > On Fri 20-04-18 18:50:24, Catalin Marinas wrote: >> On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> > But it's a wrong combination.

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Dmitry Vyukov
On Sun, Apr 22, 2018 at 2:51 PM, Michal Hocko wrote: > On Fri 20-04-18 18:50:24, Catalin Marinas wrote: >> On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> > But it's a wrong combination. As __GFP_NOFAIL is

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Michal Hocko
On Fri 20-04-18 18:50:24, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: > > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. > > But it's a wrong combination. As __GFP_NOFAIL is blockable, but > > __GFP_NORETY is not blockable, make it

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-22 Thread Michal Hocko
On Fri 20-04-18 18:50:24, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: > > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. > > But it's a wrong combination. As __GFP_NOFAIL is blockable, but > > __GFP_NORETY is not blockable, make it

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Dmitry Vyukov
On Fri, Apr 20, 2018 at 7:50 PM, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> But it's a wrong combination. As __GFP_NOFAIL is blockable, but >>

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Dmitry Vyukov
On Fri, Apr 20, 2018 at 7:50 PM, Catalin Marinas wrote: > On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: >> __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. >> But it's a wrong combination. As __GFP_NOFAIL is blockable, but >> __GFP_NORETY is not blockable, make

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Catalin Marinas
On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. > But it's a wrong combination. As __GFP_NOFAIL is blockable, but > __GFP_NORETY is not blockable, make it self-contradiction. > > __GFP_NOFAIL means 'The VM

Re: [RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Catalin Marinas
On Sat, Apr 21, 2018 at 12:58:33AM +0800, Chunyu Hu wrote: > __GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. > But it's a wrong combination. As __GFP_NOFAIL is blockable, but > __GFP_NORETY is not blockable, make it self-contradiction. > > __GFP_NOFAIL means 'The VM

[RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Chunyu Hu
__GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. But it's a wrong combination. As __GFP_NOFAIL is blockable, but __GFP_NORETY is not blockable, make it self-contradiction. __GFP_NOFAIL means 'The VM implementation _must_ retry infinitely'. But it's not the real intention, as

[RFC] mm: kmemleak: replace __GFP_NOFAIL to GFP_NOWAIT in gfp_kmemleak_mask

2018-04-20 Thread Chunyu Hu
__GFP_NORETRY and __GFP_NOFAIL are combined in gfp_kmemleak_mask now. But it's a wrong combination. As __GFP_NOFAIL is blockable, but __GFP_NORETY is not blockable, make it self-contradiction. __GFP_NOFAIL means 'The VM implementation _must_ retry infinitely'. But it's not the real intention, as