From 44f21da41c441bfceec7b825991b6e68321d78a2 Mon Sep 17 00:00:00 2001 From: Richard Yao Date: Wed, 16 May 2012 18:16:02 -0400 Subject: Revert Disable direct reclaim for z_wr_* threads This commit used PF_MEMALLOC to prevent a memory reclaim deadlock. However, commit 49be0ccf1fdc2ce852271d4d2f8b7a9c2c4be6db eliminated the invocation of __cv_init(), which was the cause of the deadlock. PF_MEMALLOC has the side effect of permitting pages from ZONE_DMA to be allocated. The use of PF_MEMALLOC was found to cause stability problems when doing swap on zvols. Since this technique is known to cause problems and no longer fixes anything, we revert it. Signed-off-by: Richard Yao Signed-off-by: Brian Behlendorf Issue #726 --- include/sys/zfs_context.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include') diff --git a/include/sys/zfs_context.h b/include/sys/zfs_context.h index 6201214ec..98b216fd7 100644 --- a/include/sys/zfs_context.h +++ b/include/sys/zfs_context.h @@ -388,7 +388,6 @@ typedef struct taskq_ent { #define TASKQ_DYNAMIC 0x0004 /* Use dynamic thread scheduling */ #define TASKQ_THREADS_CPU_PCT 0x0008 /* Scale # threads by # cpus */ #define TASKQ_DC_BATCH 0x0010 /* Mark threads as batch */ -#define TASKQ_NORECLAIM 0x0020 /* Disable direct memory reclaim */ #define TQ_SLEEP KM_SLEEP /* Can block for memory */ #define TQ_NOSLEEP KM_NOSLEEP /* cannot block for memory; may fail */ -- cgit v1.2.3