Message ID | 1461849846-27209-18-git-send-email-mhocko@kernel.org (mailing list archive) |
---|---|
State | Accepted, archived |
Delegated to: | Mike Snitzer |
Headers | show |
On Thu, Apr 28 2016 at 9:24am -0400, Michal Hocko <mhocko@kernel.org> wrote: > From: Michal Hocko <mhocko@suse.com> > > copy_params seems to be little bit confused about which allocation flags > to use. It enforces GFP_NOIO even though it uses > memalloc_noio_{save,restore} which enforces GFP_NOIO at the page > allocator level automatically (via memalloc_noio_flags). It also > uses __GFP_REPEAT for the __vmalloc request which doesn't make much > sense either because vmalloc doesn't rely on costly high order > allocations. Let's just drop the __GFP_REPEAT and leave the further > cleanup to later changes. > > Cc: Shaohua Li <shli@kernel.org> > Cc: Mikulas Patocka <mpatocka@redhat.com> > Cc: dm-devel@redhat.com > Signed-off-by: Michal Hocko <mhocko@suse.com> I've taken this patch for 4.7 but editted the header, see: https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-4.7&id=0222c76e96163355620224625c1cd80991086dc7 -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
On Fri 29-04-16 14:54:52, Mike Snitzer wrote: > On Thu, Apr 28 2016 at 9:24am -0400, > Michal Hocko <mhocko@kernel.org> wrote: > > > From: Michal Hocko <mhocko@suse.com> > > > > copy_params seems to be little bit confused about which allocation flags > > to use. It enforces GFP_NOIO even though it uses > > memalloc_noio_{save,restore} which enforces GFP_NOIO at the page > > allocator level automatically (via memalloc_noio_flags). It also > > uses __GFP_REPEAT for the __vmalloc request which doesn't make much > > sense either because vmalloc doesn't rely on costly high order > > allocations. Let's just drop the __GFP_REPEAT and leave the further > > cleanup to later changes. > > > > Cc: Shaohua Li <shli@kernel.org> > > Cc: Mikulas Patocka <mpatocka@redhat.com> > > Cc: dm-devel@redhat.com > > Signed-off-by: Michal Hocko <mhocko@suse.com> > > I've taken this patch for 4.7 but editted the header, see: > https://git.kernel.org/cgit/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-4.7&id=0222c76e96163355620224625c1cd80991086dc7 Thanks!
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index 2adf81d81fca..2c7ca258c4e4 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -1723,7 +1723,7 @@ static int copy_params(struct dm_ioctl __user *user, struct dm_ioctl *param_kern if (!dmi) { unsigned noio_flag; noio_flag = memalloc_noio_save(); - dmi = __vmalloc(param_kernel->data_size, GFP_NOIO | __GFP_REPEAT | __GFP_HIGH | __GFP_HIGHMEM, PAGE_KERNEL); + dmi = __vmalloc(param_kernel->data_size, GFP_NOIO | __GFP_HIGH | __GFP_HIGHMEM, PAGE_KERNEL); memalloc_noio_restore(noio_flag); if (dmi) *param_flags |= DM_PARAMS_VMALLOC;