[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACZ9PQWMr4bU3ao46MF6dab2fhTDwL7g59iR0AcpbSPm91qD4g@mail.gmail.com>
Date: Thu, 17 Mar 2016 14:21:40 +0100
From: Roman Peniaev <r.peniaev@...il.com>
To: Chris Wilson <chris@...is-wilson.co.uk>,
Roman Peniaev <r.peniaev@...il.com>,
intel-gfx@...ts.freedesktop.org,
Andrew Morton <akpm@...ux-foundation.org>,
David Rientjes <rientjes@...gle.com>,
Mel Gorman <mgorman@...hsingularity.net>, linux-mm@...ck.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/2] mm/vmap: Add a notifier for when we run out of vmap
address space
On Thu, Mar 17, 2016 at 1:57 PM, Chris Wilson <chris@...is-wilson.co.uk> wrote:
> On Thu, Mar 17, 2016 at 01:37:06PM +0100, Roman Peniaev wrote:
>> > + freed = 0;
>> > + blocking_notifier_call_chain(&vmap_notify_list, 0, &freed);
>>
>> It seems to me that alloc_vmap_area() was designed not to sleep,
>> at least on GFP_NOWAIT path (__GFP_DIRECT_RECLAIM is not set).
>>
>> But blocking_notifier_call_chain() might sleep.
>
> Indeed, I had not anticipated anybody using GFP_ATOMIC or equivalently
> restrictive gfp_t for vmap and yes there are such callers.
>
> Would guarding the notifier with gfp & __GFP_DIRECT_RECLAIM and
> !(gfp & __GFP_NORETRY) == be sufficient? Is that enough for GFP_NOFS?
I would use gfpflags_allow_blocking() for that purpose.
Roman
Powered by blists - more mailing lists