Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Revert "Taskq locking optimizations"
This reverts commit ec2b410. A race condition was introduced by which a wake_up() call can be lost after the taskq thread determines there is no pending work items, leading to deadlock: 1. taksq thread enables interrupts 2. dispatcher thread runs, queues work item, call wake_up() 3. taskq thread runs, adds self to waitq, sleeps This could easily happen if an interrupt for an IO completion was outstanding at the point where the taskq thread reenables interrupts, just before the call to add_wait_queue_exclusive(). The handler would run immediately within the race window. Issue openzfs#32
- Loading branch information