Commit 220cd058d9b66b940105e0a32324f06d557deba7
Committed by
Alasdair G Kergon
1 parent
b1bf2de072
Exists in
master
and in
20 other branches
dm: use __GFP_HIGHMEM in __vmalloc
Use __GFP_HIGHMEM in __vmalloc. Pages allocated with __vmalloc can be allocated in high memory that is not directly mapped to kernel space, so use __GFP_HIGHMEM just like vmalloc does. This patch reduces memory pressure slightly because pages can be allocated in the high zone. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Showing 2 changed files with 2 additions and 2 deletions Side-by-side Diff
drivers/md/dm-bufio.c
... | ... | @@ -349,7 +349,7 @@ |
349 | 349 | if (gfp_mask & __GFP_NORETRY) |
350 | 350 | noio_flag = memalloc_noio_save(); |
351 | 351 | |
352 | - ptr = __vmalloc(c->block_size, gfp_mask, PAGE_KERNEL); | |
352 | + ptr = __vmalloc(c->block_size, gfp_mask | __GFP_HIGHMEM, PAGE_KERNEL); | |
353 | 353 | |
354 | 354 | if (gfp_mask & __GFP_NORETRY) |
355 | 355 | memalloc_noio_restore(noio_flag); |
drivers/md/dm-ioctl.c
... | ... | @@ -1646,7 +1646,7 @@ |
1646 | 1646 | if (!dmi) { |
1647 | 1647 | unsigned noio_flag; |
1648 | 1648 | noio_flag = memalloc_noio_save(); |
1649 | - dmi = __vmalloc(param_kernel->data_size, GFP_NOIO | __GFP_REPEAT | __GFP_HIGH, PAGE_KERNEL); | |
1649 | + dmi = __vmalloc(param_kernel->data_size, GFP_NOIO | __GFP_REPEAT | __GFP_HIGH | __GFP_HIGHMEM, PAGE_KERNEL); | |
1650 | 1650 | memalloc_noio_restore(noio_flag); |
1651 | 1651 | if (dmi) |
1652 | 1652 | *param_flags |= DM_PARAMS_VMALLOC; |