diff options
author | Chunwei Chen <[email protected]> | 2015-12-17 18:31:58 -0800 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2015-12-18 13:24:52 -0800 |
commit | b4ad50ac5f16de9220452f0da493e67c060d701b (patch) | |
tree | 2242714bb50ea85f87792f859d20bbfefcbc9f7c /include | |
parent | 200366f23f1a16874d78a07936c5a33f2d488022 (diff) |
Use spl_fstrans_mark instead of memalloc_noio_save
For earlier versions of the kernel with memalloc_noio_save, it only turns
off __GFP_IO but leaves __GFP_FS untouched during direct reclaim. This
would cause threads to direct reclaim into ZFS and cause deadlock.
Instead, we should stick to using spl_fstrans_mark. Since we would
explicitly turn off both __GFP_IO and __GFP_FS before allocation, it
will work on every version of the kernel.
This impacts kernel versions 3.9-3.17, see upstream kernel commit
torvalds/linux@934f307 for reference.
Signed-off-by: Chunwei Chen <[email protected]>
Signed-off-by: Brian Behlendorf <[email protected]>
Signed-off-by: Tim Chase <[email protected]>
Closes #515
Issue zfsonlinux/zfs#4111
Diffstat (limited to 'include')
-rw-r--r-- | include/sys/vmem.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/include/sys/vmem.h b/include/sys/vmem.h index eb4828052..a9b12eeb9 100644 --- a/include/sys/vmem.h +++ b/include/sys/vmem.h @@ -36,7 +36,6 @@ extern vmem_t *zio_alloc_arena; extern vmem_t *zio_arena; extern size_t vmem_size(vmem_t *vmp, int typemask); -extern void *spl_vmalloc(unsigned long size, gfp_t lflags, pgprot_t prot); /* * Memory allocation interfaces |