Disable direct reclaim for z_wr_* threads
[zfs.git] / include / sys / zfs_context.h
index c449903..1027e72 100644 (file)
 #include <sys/byteorder.h>
 #include <sys/systm.h>
 #include <sys/list.h>
-#include <sys/uio.h>
+#include <sys/uio_impl.h>
 #include <sys/dirent.h>
 #include <sys/time.h>
 #include <vm/seg_kmem.h>
 #include <sys/zone.h>
-#include <sys/uio.h>
 #include <sys/zfs_debug.h>
 #include <sys/fm/fs/zfs.h>
 #include <sys/sunddi.h>
+#include <linux/dcache_compat.h>
 
 #else /* _KERNEL */
 
@@ -310,6 +310,8 @@ extern void cv_wait(kcondvar_t *cv, kmutex_t *mp);
 extern clock_t cv_timedwait(kcondvar_t *cv, kmutex_t *mp, clock_t abstime);
 extern void cv_signal(kcondvar_t *cv);
 extern void cv_broadcast(kcondvar_t *cv);
+#define cv_timedwait_interruptible(cv, mp, at) cv_timedwait(cv, mp, at)
+#define cv_wait_interruptible(cv, mp)          cv_wait(cv, mp)
 
 /*
  * kstat creation, installation and deletion
@@ -366,6 +368,7 @@ typedef void (task_func_t)(void *);
 #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 */