[PATCH RFC 00/11] Several Time Travel Mode Enhancements

Benjamin Beichler benjamin.beichler at uni-rostock.de
Fri Nov 3 09:41:38 PDT 2023


I started to develop an alternative simulator based on time travel external
mode. In the development process, I faced some issues, where I want to share
my solutions.

They group into 3 categories, which I would split up later.

1-3 Add time travel handlers for some interrupts:
These mainly address interrupts in drivers in TT mode.

4-8 Fix problems in TT protocol:
I encountered several problems like missing TT messages and weird
behavior (e.g. backward jumping time). Additionally, I added
some more information in the ACK message, which was unused before,
to simplify the implementation of the simulation. The last patch,
"Protect accesses to the timetravel event list," fixed the last
corner cases in our setup, which were quite hard to debug.

9-11 Optional patches enhancing simulation:
This is mostly the RFC part of these patches. They are not needed,
but make sense (at least for me).

---
Benjamin Beichler (11):
      um: Make UBD requests synchronous in TT ext/infcpu mode
      um: add a simple time_travel_handler implementation
      um: Use a simple time travel handler for line interrupts
      um: Handle UM_TIMETRAVEL_RUN only in idle loop, signal success in ACK
      um: Add final request time to TT wait message
      um: always send UM_TIMETRAVEL_REQUEST from ISRs
      um: add TIMETRAVEL_REQUEST handler to request latest event
      um: Protect accesses to the timetravel event list
      um: Delay timer_read in time travel mode only after consecutive reads
      um: Delay timer_read only in possible busy loops in TT-mode
      um: Remove all TSC flags when using Time Travel Mode

 arch/um/drivers/line.c             |  8 ++---
 arch/um/drivers/ubd_kern.c         | 45 ++++++++++++++++++++++-----
 arch/um/include/shared/irq_user.h  |  7 +++++
 arch/um/kernel/time.c              | 62 ++++++++++++++++++++++++++++++++++----
 arch/um/kernel/um_arch.c           |  4 ++-
 include/uapi/linux/um_timetravel.h |  6 ++--
 6 files changed, 111 insertions(+), 21 deletions(-)
---
base-commit: 21e80f3841c01aeaf32d7aee7bbc87b3db1aa0c6
change-id: 20231103-bb-timetravel-patches-075d01005f26

Best regards,
-- 
Benjamin Beichler <benjamin.beichler at uni-rostock.de>





More information about the linux-um mailing list