Thread (23 messages) flat view 23 messages, 4 authors, 2017-07-04

Re: kworker with empty task->cpus_allowed (was Re: [v4.12-rc1 regression] mount ext4 fs results in kernel crash on PPC64le host)

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2017-07-04 11:06:56
Subsystem: the rest, workqueue · Maintainers: Linus Torvalds, Tejun Heo

Eryu Guan [off-list ref] writes:
On Tue, Jul 04, 2017 at 04:26:11PM +1000, Michael Ellerman wrote:
quoted
Eryu Guan [off-list ref] writes:
quoted
On Fri, Jun 30, 2017 at 08:07:02PM +1000, Michael Ellerman wrote:
quoted
Can you try this patch and see if it changes anything? (with the debug
still applied).
This patch fixes the crash for me. After appliying this patch (with all
other debug patches still applied), kernel didn't print any warnings or
calltraces or debug messages.
OK. It's not meant to fix it :)
Understand.
quoted
I can't form any connection between your bisection result and that
patch, nothing is making any sense TBH.

What hardware are you on? And are you doing CPU hotplug or anything like that?
It's a "PowerVM" guest (I'm not familiar with powerpc, I don't know what
does that mean..) running on Power8 host. I didn't do any CPU hotplug or
anything like that.
OK thanks.

We might have to try and sync up on irc so we can debug this a bit faster.

Can you try this hunk also?

cheers
diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index c74bf39ef764..7c55721b1f1d 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -3902,6 +3906,7 @@ static int alloc_and_link_pwqs(struct workqueue_struct *wq)
 		     "ordering guarantee broken for workqueue %s\n", wq->name);
 		return ret;
 	} else {
+		WARN_ON(cpumask_empty(unbound_std_wq_attrs[highpri]->cpumask));
 		return apply_workqueue_attrs(wq, unbound_std_wq_attrs[highpri]);
 	}
 }
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help