summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2023-03-11 14:38:08 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-03-12 19:07:32 +0100
commitbba59e0f7a3cf1a008325b7919e9eb8a170c7c0a (patch)
tree2b7fa05edaab779a3b9577c0175e5a1a5f97963a
parent3c1537e84b49bbcc98d3a730cba263faceee4fc6 (diff)
Update thread and task creation time to use time_value64_t
Message-Id: <ZAzYoE7+ugFsH5JA@jupiter.tail36e24.ts.net>
-rw-r--r--kern/mach_clock.c13
-rw-r--r--kern/mach_clock.h4
-rw-r--r--kern/task.h2
-rw-r--r--kern/thread.h2
4 files changed, 9 insertions, 12 deletions
diff --git a/kern/mach_clock.c b/kern/mach_clock.c
index a3656948..e33404a2 100644
--- a/kern/mach_clock.c
+++ b/kern/mach_clock.c
@@ -417,12 +417,10 @@ clock_boottime_update(const struct time_value64 *new_time)
* frame.
*/
void
-record_time_stamp(time_value_t *stamp)
+record_time_stamp(time_value64_t *stamp)
{
- time_value64_t stamp64;
- read_mapped_time(&stamp64);
- time_value64_add(&stamp64, &clock_boottime_offset);
- TIME_VALUE64_TO_TIME_VALUE(&stamp64, stamp);
+ read_mapped_time(stamp);
+ time_value64_add(stamp, &clock_boottime_offset);
}
/*
@@ -430,10 +428,9 @@ record_time_stamp(time_value_t *stamp)
* real-time clock frame.
*/
void
-read_time_stamp (const time_value_t *stamp, rpc_time_value_t *result)
+read_time_stamp (const time_value64_t *stamp, rpc_time_value_t *result)
{
- time_value64_t result64;
- TIME_VALUE_TO_TIME_VALUE64(stamp, &result64);
+ time_value64_t result64 = *stamp;
time_value64_sub(&result64, &clock_boottime_offset);
TIME_VALUE64_TO_TIME_VALUE(&result64, result);
}
diff --git a/kern/mach_clock.h b/kern/mach_clock.h
index 9a670011..60b49b8a 100644
--- a/kern/mach_clock.h
+++ b/kern/mach_clock.h
@@ -92,13 +92,13 @@ extern void init_timeout (void);
* Record a timestamp in STAMP. Records values in the boot-time clock
* frame.
*/
-extern void record_time_stamp (time_value_t *stamp);
+extern void record_time_stamp (time_value64_t *stamp);
/*
* Read a timestamp in STAMP into RESULT. Returns values in the
* real-time clock frame.
*/
-extern void read_time_stamp (const time_value_t *stamp, rpc_time_value_t *result);
+extern void read_time_stamp (const time_value64_t *stamp, rpc_time_value_t *result);
extern void mapable_time_init (void);
diff --git a/kern/task.h b/kern/task.h
index 7e915e02..38aa9feb 100644
--- a/kern/task.h
+++ b/kern/task.h
@@ -87,7 +87,7 @@ struct task {
time_value_t total_system_time;
/* total system time for dead threads */
- time_value_t creation_time; /* time stamp at creation */
+ time_value64_t creation_time; /* time stamp at creation */
/* IPC structures */
decl_simple_lock_data(, itk_lock_data)
diff --git a/kern/thread.h b/kern/thread.h
index 689ef775..f8989f45 100644
--- a/kern/thread.h
+++ b/kern/thread.h
@@ -204,7 +204,7 @@ struct thread {
unsigned int sched_delta; /* weighted cpu usage since update */
/* Creation time stamp */
- time_value_t creation_time;
+ time_value64_t creation_time;
/* Time-outs */
timer_elt_data_t timer; /* timer for thread */