kernel_optimize_test/arch/um/drivers
Johannes Berg 1a2241ad40 um: virtio_uml: Fix time-travel external time propagation
[ Upstream commit 85e73968a040c642fd38f6cba5b73b61f5d0f052 ]

When creating an external event, the current time needs to
be propagated to other participants of a simulation. This
is done in the places here where we kick a virtq etc.

However, it must be done for _all_ external events, and
that includes making the initial socket connection and
later closing it. Call time_travel_propagate_time() to do
this before making or closing the socket connection.

Apparently, at least for the initial connection creation,
due to the remote side in my use cases using microseconds
(rather than nanoseconds), this wasn't a problem yet; only
started failing between 5.14-rc1 and 5.15-rc1 (didn't test
others much), or possibly depending on the configuration,
where more delays happen before the virtio devices are
initialized.

Fixes: 88ce642492 ("um: Implement time-travel=ext")
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-01-27 10:53:59 +01:00
..
chan_kern.c
chan_user.c um: fix error return code in winch_tramp() 2021-07-20 16:05:51 +02:00
chan_user.h um: Add an option to make serial driver non-raw 2020-01-19 22:41:50 +01:00
chan.h
cow_sys.h
cow_user.c
cow.h
daemon_kern.c
daemon_user.c um: Some fixes to build UML with musl 2020-10-11 23:13:06 +02:00
daemon.h
fd.c
harddog_kern.c
harddog_user.c
hostaudio_kern.c
Kconfig um: Allow static linking for non-glibc implementations 2020-10-11 23:13:15 +02:00
line.c um: line, remove put_char 2020-06-24 16:53:37 +02:00
line.h um: line, remove put_char 2020-06-24 16:53:37 +02:00
Makefile um: Do not evaluate compiler's library path when cleaning 2020-06-02 22:37:41 +02:00
mconsole_kern.c kernel: rename show_stack_loglvl() => show_stack() 2020-06-09 09:39:13 -07:00
mconsole_kern.h
mconsole_user.c
mconsole.h
mmapper_kern.c
net_kern.c um: Delete never executed timer 2020-03-29 23:21:26 +02:00
net_user.c
null.c
pcap_kern.c
pcap_user.c um: Some fixes to build UML with musl 2020-10-11 23:13:06 +02:00
pcap_user.h
port_kern.c
port_user.c
port.h
pty.c
random.c um: random: Register random as hwrng-core device 2021-01-06 14:56:55 +01:00
slip_common.c
slip_common.h
slip_kern.c
slip_user.c um: fix error return code in slip_open() 2021-07-20 16:05:51 +02:00
slip.h
slirp_kern.c
slirp_user.c
slirp.h
ssl.c um: line, remove put_char 2020-06-24 16:53:37 +02:00
stderr_console.c
stdio_console.c um: line, remove put_char 2020-06-24 16:53:37 +02:00
stdio_console.h
tty.c
ubd_kern.c um: ubd: Submit all data segments atomically 2021-01-06 14:56:55 +01:00
ubd_user.c
ubd.h
umcast_kern.c
umcast_user.c
umcast.h
vde_kern.c
vde_user.c
vde.h
vector_kern.c um: vector: Use GFP_ATOMIC under spin lock 2020-10-11 23:13:00 +02:00
vector_kern.h um: virtio: Replace zero-length array with flexible-array 2020-06-02 22:38:00 +02:00
vector_transports.c
vector_user.c um: vector: Add dynamic tap interfaces and scripting 2020-10-11 23:26:37 +02:00
vector_user.h um: Fix typo in vector driver transport option definition 2020-04-29 21:22:15 +02:00
vhost_user.h um: virtio: Replace zero-length array with flexible-array 2020-06-02 22:38:00 +02:00
virtio_uml.c um: virtio_uml: Fix time-travel external time propagation 2022-01-27 10:53:59 +01:00
xterm_kern.c
xterm.c um: chan_xterm: Fix fd leak 2020-12-30 11:53:53 +01:00
xterm.h