[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20160420094117.GT3408@twins.programming.kicks-ass.net>
Date: Wed, 20 Apr 2016 11:41:17 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Nikolay Borisov <kernel@...p.com>
Cc: "Linux-Kernel@...r. Kernel. Org" <linux-kernel@...r.kernel.org>,
SiteGround Operations <operations@...eground.com>
Subject: Re: Crash in __wake_up_common
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.
Powered by blists - more mailing lists