summaryrefslogtreecommitdiffstats
path: root/include/sys/taskq.h
diff options
context:
space:
mode:
authorbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>2008-11-03 20:21:08 +0000
committerbehlendo <behlendo@7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c>2008-11-03 20:21:08 +0000
commit749045bbfa3302f8917ef681373775245b241698 (patch)
tree1240613ad2cca83df75b11e44d49f276debd4b5e /include/sys/taskq.h
parentf6c81c5ea7ba171bdb9e6d3a29c9e2a7fa6896ad (diff)
Apply a nice fix caught by Ricardo,
* spl-04-fix-taskq-spinlock-lockup.patch Fixes a deadlock in the BIO completion handler, due to the taskq code prematurely re-enabling interrupts when another spinlock had disabled them in the IDE IRQ handler. git-svn-id: https://outreach.scidac.gov/svn/spl/trunk@161 7e1ea52c-4ff2-0310-8f11-9dd32ca42a1c
Diffstat (limited to 'include/sys/taskq.h')
-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 fbcc5556d..cedf5350c 100644
--- a/include/sys/taskq.h
+++ b/include/sys/taskq.h
@@ -61,6 +61,7 @@ typedef void (task_func_t)(void *);
typedef struct taskq {
spinlock_t tq_lock; /* protects taskq_t */
+ unsigned long tq_lock_flags; /* interrupt state */
struct task_struct **tq_threads; /* thread pointers */
const char *tq_name; /* taskq name */
int tq_nactive; /* # of active threads */