On Tue, Apr 19, 2016 at 05:37:48PM +0300, Nikolay Borisov wrote: > > ffffffff810e08be points to this line in __wake_up_common: > list_for_each_entry_safe(curr, next, &q->task_list, task_list) { > > This is the wait_queue_head_t: > > crash> struct wait_queue_head_t ffff880438ef52c8 > struct wait_queue_head_t { > lock = { > { > rlock = { > raw_lock = { > val = { > counter = 1 > } > } > } > } > }, > task_list = { > next = 0x0, > prev = 0xffff880438ef52d8 > } > } > > nr_exclusive seems to be 1, and mode is 3 (TASK_NORMAL). > > The spl module is coming from zfs(ZoL) but I dunno whether this might > be a bug in the scheduler or in the zfs. The line which led to the > __wake_up is this: > > wake_up(&tq->tq_wait_waitq);
Given that the waitqueue code is rather widely used, I suspect this is a fail in zfs. But given the license issues I'm not going near that code.