summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorChunwei Chen <[email protected]>2016-01-27 16:55:14 -0800
committerBrian Behlendorf <[email protected]>2016-02-05 14:08:31 -0800
commit8f3b403a73fa9b1db06050edf737e1f051b05070 (patch)
tree4209d27ba6a092bccc3df727d31fcf34b6238e50 /include
parentd112232f5ec4b25e8446f9a2430d1a63908e6e5a (diff)
Allow kicking a taskq to spawn more threads
This patch add a module parameter spl_taskq_kick. When writing non-zero value to it, it will scan all the taskq, if a taskq contains a task pending for more than 5 seconds, it will be forced to spawn a new thread. This is use as an emergency recovery from deadlock, not a general solution. Signed-off-by: Chunwei Chen <[email protected]> Signed-off-by: Brian Behlendorf <[email protected]> Closes #529
Diffstat (limited to 'include')
-rw-r--r--include/sys/taskq.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/sys/taskq.h b/include/sys/taskq.h
index e7661f7ce..19bc6c1dd 100644
--- a/include/sys/taskq.h
+++ b/include/sys/taskq.h
@@ -105,6 +105,7 @@ typedef struct taskq_ent {
void *tqent_arg;
taskq_t *tqent_taskq;
uintptr_t tqent_flags;
+ unsigned long tqent_birth;
} taskq_ent_t;
#define TQENT_FLAG_PREALLOC 0x1