From: Michal Hocko <mhocko@kernel.org>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>,
LKML <linux-kernel@vger.kernel.org>, Shaohua Li <shli@kernel.org>,
dm-devel@redhat.com
Subject: Re: [PATCH 17/19] dm: get rid of superfluous gfp flags
Date: Wed, 27 Apr 2016 10:35:30 +0200 [thread overview]
Message-ID: <20160427083530.GD2179@dhcp22.suse.cz> (raw)
In-Reply-To: <alpine.LRH.2.02.1604261307520.12205@file01.intranet.prod.int.rdu2.redhat.com>
[Adding dm-devel@redhat.com to CC]
On Tue 26-04-16 13:20:04, Mikulas Patocka wrote:
> On Fri, 22 Apr 2016, Michal Hocko wrote:
[...]
> > copy_params seems to be called only from the ioctl context which doesn't
> > hold any locks which would lockup during the direct reclaim AFAICS. The
> > git log shows that the code has used PF_MEMALLOC before which is even
> > bigger mystery to me. Could you please clarify why this is GFP_NOIO
> > restricted context? Maybe it needed to be in the past but I do not see
> > any reason for it to be now so unless I am missing something the
> > GFP_KERNEL should be perfectly OK. Also note that GFP_NOIO wouldn't work
> > properly because there are copy_from_user calls in the same path which
> > could page fault and do GFP_KERNEL allocations anyway. I can send follow
> > up cleanups unless I am missing something subtle here.
>
> The LVM tool calls suspend and resume ioctls on device mapper block
> devices.
>
> When a device is suspended, any bio sent to the device is held. If the
> resume ioctl did GFP_KERNEL allocation, the allocation could get stuck
> trying to write some dirty cached pages to the suspended device.
>
> The LVM tool and the dmeventd daemon use mlock to lock its address space,
> so the copy_from_user/copy_to_user call cannot trigger a page fault.
OK, I see, thanks for the clarification! This sounds fragile to me
though. Wouldn't it be better to use the memalloc_noio_save for the
whole copy_params instead? That would force all possible allocations to
not trigger any IO. Something like the following.
---
next prev parent reply other threads:[~2016-04-27 8:35 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-11 11:07 [PATCH 0/19] get rid of superfluous __GFP_REPORT Michal Hocko
2016-04-11 11:07 ` [PATCH 01/19] tree wide: get rid of __GFP_REPEAT for order-0 allocations part I Michal Hocko
2016-04-14 19:56 ` David Rientjes
2016-04-15 7:44 ` Michal Hocko
2016-04-11 11:07 ` [PATCH 02/19] x86: get rid of superfluous __GFP_REPEAT Michal Hocko
2016-04-11 11:07 ` [PATCH 03/19] x86/efi: " Michal Hocko
2016-04-12 15:53 ` Matt Fleming
2016-04-11 11:07 ` [PATCH 04/19] arm: " Michal Hocko
2016-04-11 11:07 ` [PATCH 05/19] arm64: " Michal Hocko
2016-04-11 15:49 ` Will Deacon
2016-04-11 11:07 ` [PATCH 06/19] arc: " Michal Hocko
2016-04-11 14:23 ` Vineet Gupta
2016-04-11 11:08 ` [PATCH 07/19] mips: " Michal Hocko
2016-04-11 11:08 ` [PATCH 08/19] nios2: " Michal Hocko
2016-04-11 11:08 ` [PATCH 09/19] parisc: " Michal Hocko
2016-04-11 11:08 ` [PATCH 10/19] score: " Michal Hocko
2016-04-11 11:08 ` [PATCH 11/19] powerpc: " Michal Hocko
2016-04-11 11:08 ` [PATCH 12/19] sparc: " Michal Hocko
2016-04-11 11:08 ` [PATCH 13/19] s390: " Michal Hocko
2016-04-11 11:28 ` Cornelia Huck
2016-04-11 12:47 ` Heiko Carstens
2016-04-11 11:08 ` [PATCH 14/19] sh: " Michal Hocko
2016-04-11 11:08 ` [PATCH 15/19] tile: " Michal Hocko
2016-04-11 11:08 ` [PATCH 16/19] unicore32: " Michal Hocko
2016-04-11 11:08 ` [PATCH 17/19] dm: get rid of superfluous gfp flags Michal Hocko
2016-04-15 12:29 ` Mikulas Patocka
2016-04-15 13:08 ` Michal Hocko
2016-04-15 18:41 ` Mikulas Patocka
2016-04-16 20:31 ` Michal Hocko
2016-04-22 12:47 ` Michal Hocko
2016-04-26 17:20 ` Mikulas Patocka
2016-04-27 8:35 ` Michal Hocko [this message]
2016-04-11 11:08 ` [PATCH 18/19] crypto: get rid of superfluous __GFP_REPEAT Michal Hocko
2016-04-14 6:27 ` Herbert Xu
2016-04-14 7:02 ` Michal Hocko
2016-04-14 8:16 ` Herbert Xu
2016-04-14 8:51 ` [PATCH resend] " Michal Hocko
2016-04-15 14:37 ` Herbert Xu
2016-04-11 11:08 ` [PATCH 19/19] jbd2: " Michal Hocko
2016-04-13 11:21 ` CC in git cover letter vs patches (was Re: [PATCH 0/19] get rid of superfluous __GFP_REPORT) Vineet Gupta
2016-04-13 13:33 ` Michal Hocko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160427083530.GD2179@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=dm-devel@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mpatocka@redhat.com \
--cc=shli@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox