Although the information for the next requested time was already sent in
a prior message, this change introduces the otherwise unused time
variable in the TT message. This addition enables an extra consistency
check and can otherwise be ignored.

Signed-off-by: Benjamin Beichler <benjamin.beich...@uni-rostock.de>
---
 arch/um/kernel/time.c              | 6 +++---
 include/uapi/linux/um_timetravel.h | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c
index ff5ef75bbb94..abd5fd0f62ee 100644
--- a/arch/um/kernel/time.c
+++ b/arch/um/kernel/time.c
@@ -220,7 +220,7 @@ static bool time_travel_ext_request(unsigned long long time)
        return true;
 }
 
-static void time_travel_ext_wait(bool idle)
+static void time_travel_ext_wait(bool idle, unsigned long long ns)
 {
        struct um_timetravel_msg msg = {
                .op = UM_TIMETRAVEL_ACK,
@@ -230,7 +230,7 @@ static void time_travel_ext_wait(bool idle)
        time_travel_ext_free_until_valid = false;
        time_travel_ext_waiting++;
 
-       time_travel_ext_req(UM_TIMETRAVEL_WAIT, -1);
+       time_travel_ext_req(UM_TIMETRAVEL_WAIT, ns);
 
        /*
         * Here we are deep in the idle loop, so we have to break out of the
@@ -256,7 +256,7 @@ static void time_travel_ext_get_time(void)
 static void __time_travel_update_time(unsigned long long ns, bool idle)
 {
        if (time_travel_mode == TT_MODE_EXTERNAL && time_travel_ext_request(ns))
-               time_travel_ext_wait(idle);
+               time_travel_ext_wait(idle, ns);
        else
                time_travel_set_time(ns);
 }
diff --git a/include/uapi/linux/um_timetravel.h 
b/include/uapi/linux/um_timetravel.h
index ca3238222b6d..3127f069d9dc 100644
--- a/include/uapi/linux/um_timetravel.h
+++ b/include/uapi/linux/um_timetravel.h
@@ -77,9 +77,9 @@ enum um_timetravel_ops {
        /**
         * @UM_TIMETRAVEL_WAIT: Indicate waiting for the previously requested
         *      runtime, new requests may be made while waiting (e.g. due to
-        *      interrupts); the time field is ignored. The calendar must 
process
-        *      this message and later  send a %UM_TIMETRAVEL_RUN message when
-        *      the host can run again.
+        *      interrupts); the time field contains the next requested runtime
+        *  for consistency checks. The calendar must process this message and
+        *  later send a %UM_TIMETRAVEL_RUN message when the host can run again.
         *      (host -> calendar)
         */
        UM_TIMETRAVEL_WAIT              = 3,

-- 
2.34.1



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

Reply via email to