On 21/09/2023 22:02, Richard Weinberger wrote:
----- Ursprüngliche Mail -----
Von: "anton ivanov" <anton.iva...@cambridgegreys.com>
An: "linux-um" <linux-um@lists.infradead.org>
CC: "Johannes Berg" <johan...@sipsolutions.net>, "richard" <rich...@nod.at>, "anton 
ivanov"
<anton.iva...@cambridgegreys.com>
Gesendet: Donnerstag, 21. September 2023 17:55:22
Betreff: [PATCH v4] um: Enable preemption in UML
From: Anton Ivanov <anton.iva...@cambridgegreys.com>

Preemption requires saving/restoring FPU state. This patch
adds support for it using GCC intrinsics.
This patch triggers here the following splat:

Ack. I will look into it tomorrow.

There will be places where it will bomb out. F.E. I am chasing one is triggered by the NFS server (it may be the same as in this trace - it happens around the end of the initial setup).

All in all it looks better than I expected.

defconfig + vector + nfs client  + CONFIG_PREEMPT - I had the kernel build without any issues from a source tree on NFS and with reasonable performance too.

------------[ 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


--
Anton R. Ivanov
Cambridgegreys Limited. Registered in England. Company Number 10273661
https://www.cambridgegreys.com/


_______________________________________________
linux-um mailing list
linux-um@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-um

Reply via email to