[PATCH v4] um: Enable preemption in UML

Richard Weinberger richard at nod.at
Thu Sep 21 14:02:04 PDT 2023


----- Ursprüngliche Mail -----
> Von: "anton ivanov" <anton.ivanov at cambridgegreys.com>
> An: "linux-um" <linux-um at lists.infradead.org>
> CC: "Johannes Berg" <johannes at sipsolutions.net>, "richard" <richard at nod.at>, "anton ivanov"
> <anton.ivanov at cambridgegreys.com>
> Gesendet: Donnerstag, 21. September 2023 17:55:22
> Betreff: [PATCH v4] um: Enable preemption in UML

> From: Anton Ivanov <anton.ivanov at cambridgegreys.com>
> 
> Preemption requires saving/restoring FPU state. This patch
> adds support for it using GCC intrinsics.

This patch triggers here the following splat:
------------[ cut here ]------------
WARNING: CPU: 0 PID: 0 at init/main.c:992 start_kernel+0x541/0x6b6
Interrupts were enabled early
Modules linked in:
CPU: 0 PID: 0 Comm: swapper Not tainted 6.6.0-rc2-ga74d8f8592e5 #128
Stack:
 60381b94 00000001 604d3d80 6002b6f6
 60444bdd 00000001 604d3e20 6037ecfa
 604d3db0 60389b2f 604d3da0 60381b94
Call Trace:
 [<60381b94>] ? _printk+0x0/0x94
 [<600212b1>] show_stack+0x13c/0x14b
 [<60381b94>] ? _printk+0x0/0x94
 [<6002b6f6>] ? um_set_signals+0x0/0x3f
 [<6037ecfa>] ? sprintf+0x0/0x95
 [<60389b2f>] dump_stack_lvl+0x4d/0x5a
 [<60381b94>] ? _printk+0x0/0x94
 [<60389b56>] dump_stack+0x1a/0x1c
 [<60033ebc>] __warn+0xd9/0x109
 [<60033fbd>] warn_slowpath_fmt+0xd1/0xdf
 [<60033eec>] ? warn_slowpath_fmt+0x0/0xdf
 [<60381b94>] ? _printk+0x0/0x94
 [<60050e2c>] ? __blocking_notifier_chain_register+0x33/0x78
 [<60381b94>] ? _printk+0x0/0x94
 [<60050e83>] ? blocking_notifier_chain_register+0x12/0x14
 [<6005fa92>] ? register_pm_notifier+0x1d/0x1f
 [<600152c9>] ? random_init+0xc2/0x126
 [<60381b94>] ? _printk+0x0/0x94
 [<60001c40>] start_kernel+0x541/0x6b6
 [<6004deb0>] ? parse_args+0x0/0x2b9
 [<6002b609>] ? block_signals+0x0/0x16
 [<60003b9d>] start_kernel_proc+0x49/0x4d
 [<60061863>] ? kmsg_dump_register+0x6d/0x75
 [<6001ffdb>] new_thread_handler+0x81/0xb2
 [<60003b52>] ? kmsg_dumper_stdout_init+0x1a/0x1c
 [<60022e52>] uml_finishsetup+0x54/0x59
---[ end trace 0000000000000000 ]---

x86_64 defconfig + CONFIG_PREEMPT_VOLUNTARY=y

Thanks,
//richard



More information about the linux-um mailing list