]> www.infradead.org Git - users/jedix/linux-maple.git/commit
um: time-travel: support time-travel protocol broadcast messages
authorMordechay Goodstein <mordechay.goodstein@intel.com>
Tue, 2 Jul 2024 17:21:18 +0000 (19:21 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 3 Jul 2024 10:24:22 +0000 (12:24 +0200)
commit6555acdefc758a4dae7038c3f2301f311e287218
tree5da8eba64e5f122ce9ca3c5fc0682f564765e2a3
parent267ed02c2121b75e0eaaa338240453b576039e4a
um: time-travel: support time-travel protocol broadcast messages

Add a message type to the time-travel protocol to broadcast
a small (64-bit) value to all participants in a simulation.
The main use case is to have an identical message come to
all participants in a simulation, e.g. to separate out logs
for different tests running in a single simulation.

Down in the guts of time_travel_handle_message() we can't
use printk() and not even printk_deferred(), so just store
the message and print it at the start of the userspace()
function.

Unfortunately this means that other prints in the kernel
can actually bypass the message, but in most cases where
this is used, for example to separate test logs, userspace
will be involved. Also, even if we could use
printk_deferred(), we'd still need to flush it out in the
userspace() function since otherwise userspace messages
might cross it.

As a result, this is a reasonable compromise, there's no
need to have any core changes and it solves the main use
case we have for it.

Signed-off-by: Mordechay Goodstein <mordechay.goodstein@intel.com>
Link: https://patch.msgid.link/20240702192118.c4093bc5b15e.I2ca8d006b67feeb866ac2017af7b741c9e06445a@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
arch/um/include/shared/timetravel.h
arch/um/kernel/time.c
arch/um/os-Linux/skas/process.c
include/uapi/linux/um_timetravel.h