public inbox for linux-um@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH RFC 00/11] Several Time Travel Mode Enhancements
@ 2023-11-03 16:41 Benjamin Beichler
  2023-11-03 16:41 ` [PATCH RFC 01/11] um: Make UBD requests synchronous in TT ext/infcpu mode Benjamin Beichler
                   ` (10 more replies)
  0 siblings, 11 replies; 36+ messages in thread
From: Benjamin Beichler @ 2023-11-03 16:41 UTC (permalink / raw)
  To: Richard Weinberger, Anton Ivanov, Johannes Berg
  Cc: linux-um, Benjamin Beichler

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@uni-rostock.de>



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

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2023-11-24 15:35 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-03 16:41 [PATCH RFC 00/11] Several Time Travel Mode Enhancements Benjamin Beichler
2023-11-03 16:41 ` [PATCH RFC 01/11] um: Make UBD requests synchronous in TT ext/infcpu mode Benjamin Beichler
2023-11-06 20:24   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 02/11] um: add a simple time_travel_handler implementation Benjamin Beichler
2023-11-03 16:41 ` [PATCH RFC 03/11] um: Use a simple time travel handler for line interrupts Benjamin Beichler
2023-11-06 20:26   ` Johannes Berg
2023-11-10 16:53     ` Benjamin Beichler
2023-11-10 17:16       ` Johannes Berg
2023-11-13 11:46         ` Benjamin Beichler
2023-11-13 21:22           ` Johannes Berg
2023-11-13 21:57             ` Johannes Berg
2023-11-20 13:42               ` Benjamin Beichler
2023-11-24 14:53                 ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 04/11] um: Handle UM_TIMETRAVEL_RUN only in idle loop, signal success in ACK Benjamin Beichler
2023-11-06 20:53   ` Johannes Berg
2023-11-10 18:41   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 05/11] um: Add final request time to TT wait message Benjamin Beichler
2023-11-06 20:29   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 06/11] um: always send UM_TIMETRAVEL_REQUEST from ISRs Benjamin Beichler
2023-11-06 20:32   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 07/11] um: add TIMETRAVEL_REQUEST handler to request latest event Benjamin Beichler
2023-11-06 20:33   ` Johannes Berg
2023-11-10 16:23     ` Benjamin Beichler
2023-11-10 17:19       ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 08/11] um: Protect accesses to the timetravel event list Benjamin Beichler
2023-11-06 20:37   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 09/11] um: Delay timer_read in time travel mode only after consecutive reads Benjamin Beichler
2023-11-06 20:40   ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 10/11] um: Delay timer_read only in possible busy loops in TT-mode Benjamin Beichler
2023-11-06 20:51   ` Johannes Berg
2023-11-10 15:54     ` Benjamin Beichler
2023-11-10 16:39       ` Benjamin Berg
2023-11-10 17:29       ` Johannes Berg
2023-11-03 16:41 ` [PATCH RFC 11/11] um: Remove all TSC flags when using Time Travel Mode Benjamin Beichler
2023-11-03 18:45   ` Anton Ivanov
2023-11-06 20:52   ` Johannes Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox