Thread (44 messages) flat view 44 messages, 5 authors, 2022-01-20

Re: [PATCH v0.9.1 3/6] sched/umcg: implement UMCG syscalls

From: Thomas Gleixner <hidden>
Date: 2021-11-29 23:01:11
Also in: linux-mm, lkml

On Fri, Nov 26 2021 at 22:52, Peter Zijlstra wrote:
On Fri, Nov 26, 2021 at 10:11:17PM +0100, Thomas Gleixner wrote:
quoted
On Wed, Nov 24 2021 at 22:19, Peter Zijlstra wrote:
quoted
On Mon, Nov 22, 2021 at 01:13:24PM -0800, Peter Oskolkov wrote:
quoted
+	 * Timestamp: a 46-bit CLOCK_MONOTONIC timestamp, at 16ns resolution.
quoted
+static int umcg_update_state(u64 __user *state_ts, u64 *expected, u64 desired,
+				bool may_fault)
+{
+	u64 curr_ts = (*expected) >> (64 - UMCG_STATE_TIMESTAMP_BITS);
+	u64 next_ts = ktime_get_ns() >> UMCG_STATE_TIMESTAMP_GRANULARITY;
I'm still very hesitant to use ktime (fear the HPET); but I suppose it
makes sense to use a time base that's accessible to userspace. Was
MONOTONIC_RAW considered?
MONOTONIC_RAW is not really useful as you can't sleep on it and it won't
solve the HPET crap either.
But it's ns are of equal size to sched_clock(), if both share TSC IIRC.
Whereas MONOTONIC, being subject to ntp rate stuff, has differently
sized ns.
The size is the same, i.e. 1 bit per nanosecond :)
The only time that's relevant though is when you're going to mix these
timestamps with CLOCK_THREAD_CPUTIME_ID, which might just be
interesting.
Uuurg. If you want to go towards CLOCK_THREAD_CPUTIME_ID, that's going
to be really nasty. Actually you can sleep on that clock, but that's a
completely different universe. If anything like that is desired then we
need to rewrite that posix CPU timer muck completely with all the bells
and whistels and race conditions attached to it. *Shudder*

Thanks,

        tglx

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help