Thread (23 messages) 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)

flat view

From: Eryu Guan <hidden>
Date: 2017-06-30 11:48:01

On Fri, Jun 30, 2017 at 08:07:02PM +1000, Michael Ellerman wrote:
Eryu Guan [off-list ref] writes:
quoted
I have to update the patch a bit to make it compile.
Sure.
quoted
quoted
+	WARN_ON(cpumask_empty(worker->task->cpus_allowed));
+	WARN_ON(cpumask_empty(pool->attrs->cpumask));
Seems only the last two WARN_ON were triggered.
OK thanks.

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.
We've been trying to reproduce the bug here but haven't had any luck so far.
I'm using this reproducer:
for i in `seq 5`; do
	mkfs -t ext4 -F /dev/sda5 && sleep 3 && mount /dev/sda5 /mnt/ext4 && umount /dev/sda5
done

Thanks,
Eryu
quoted hunk ↗ jump to hunk
cheers
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index 4640f6d64f8b..b310ecc07e00 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -733,6 +733,8 @@ void __init setup_per_cpu_areas(void)
 	for_each_possible_cpu(cpu) {
                 __per_cpu_offset[cpu] = delta + pcpu_unit_offsets[cpu];
 		paca[cpu].data_offset = __per_cpu_offset[cpu];
+
+		set_cpu_numa_node(cpu, numa_cpu_lookup_table[cpu]);
 	}
 }
 #endif
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help