1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/arch/um
Johannes Berg 4b786e24ca um: time-travel: Rewrite as an event scheduler
Instead of tracking all the various timer configurations,
modify the time-travel mode to have an event scheduler and
use a timer event on the scheduler to handle the different
timer configurations.

This doesn't change the function right now, but it prepares
the code for having different kinds of events in the future
(i.e. interrupts coming from other devices that are part of
co-simulation.)

While at it, also move time_travel_sleep() to time.c to
reduce the externally visible API surface.

Also, we really should mark time-travel as incompatible with
SMP, even if UML doesn't support SMP yet.

Finally, I noticed a bug while developing this - if we move
time forward due to consuming time while reading the clock,
we might move across the next event and that would cause us
to go backward in time when we then handle that event. Fix
that by invoking the whole event machine in this case, but
in order to simplify this, make reading the clock only cost
something when interrupts are not disabled. Otherwise, we'd
have to hook into the interrupt delivery machinery etc. and
that's somewhat intrusive.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
2020-03-29 23:28:51 +02:00
..
configs um: Cleanup CONFIG_IOSCHED_CFQ 2020-03-29 23:15:22 +02:00
drivers um: ubd: Retry buffer read on any kind of error 2020-03-29 23:21:37 +02:00
include um: time-travel: Rewrite as an event scheduler 2020-03-29 23:28:51 +02:00
kernel um: time-travel: Rewrite as an event scheduler 2020-03-29 23:28:51 +02:00
os-Linux um: Move timer-internal.h to non-shared 2020-03-29 23:28:43 +02:00
scripts License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
.gitignore um: tell git to ignore generated files 2010-03-06 11:26:28 -08:00
Kconfig um: time-travel: Rewrite as an event scheduler 2020-03-29 23:28:51 +02:00
Kconfig.debug um: Make GCOV depend on !KCOV 2018-12-27 22:48:19 +01:00
Makefile kbuild: remove src and obj from the top Makefile 2019-07-11 00:05:09 +09:00
Makefile-os-Linux x86, um: get rid of arch/um/os symlink 2008-10-22 22:55:22 -07:00
Makefile-skas [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00