Displaying 10 results from an estimated 10 matches for "update_vsyscall".
2018 Sep 14
2
[patch 11/11] x66/vdso: Add CLOCK_TAI support
...- CLOCK ids are set in stone
> - CLOCK_THREAD_CPUTIME is never going to be supported in the VDSO so
> the array slot 3 is unused
> - CLOCK_TAI is id 11 which results in 3 when masked with 0x3
>
> Add the mask to the basetime array lookup and set up the CLOCK_TAI base
> time in update_vsyscall().
That?s... horrible. In an amazing way. Can you add BUILD_BUG_ON somewhere to assert that this actually works?
>
> The performance impact of the mask operation is within the noise.
>
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> ---
> arch/x86/entry/vdso/v...
2018 Sep 14
2
[patch 11/11] x66/vdso: Add CLOCK_TAI support
...- CLOCK ids are set in stone
> - CLOCK_THREAD_CPUTIME is never going to be supported in the VDSO so
> the array slot 3 is unused
> - CLOCK_TAI is id 11 which results in 3 when masked with 0x3
>
> Add the mask to the basetime array lookup and set up the CLOCK_TAI base
> time in update_vsyscall().
That?s... horrible. In an amazing way. Can you add BUILD_BUG_ON somewhere to assert that this actually works?
>
> The performance impact of the mask operation is within the noise.
>
> Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
> ---
> arch/x86/entry/vdso/v...
2018 Sep 14
0
[patch 11/11] x66/vdso: Add CLOCK_TAI support
...ake use
of the fact that:
- CLOCK ids are set in stone
- CLOCK_THREAD_CPUTIME is never going to be supported in the VDSO so
the array slot 3 is unused
- CLOCK_TAI is id 11 which results in 3 when masked with 0x3
Add the mask to the basetime array lookup and set up the CLOCK_TAI base
time in update_vsyscall().
The performance impact of the mask operation is within the noise.
Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
---
arch/x86/entry/vdso/vclock_gettime.c | 2 +-
arch/x86/entry/vsyscall/vsyscall_gtod.c | 4 ++++
arch/x86/include/asm/vgtod.h | 6 +++++-
3 f...
2018 Sep 14
0
[patch 11/11] x66/vdso: Add CLOCK_TAI support
...> > - CLOCK_THREAD_CPUTIME is never going to be supported in the VDSO so
> > the array slot 3 is unused
> > - CLOCK_TAI is id 11 which results in 3 when masked with 0x3
> >
> > Add the mask to the basetime array lookup and set up the CLOCK_TAI base
> > time in update_vsyscall().
>
> That?s... horrible. In an amazing way. Can you add BUILD_BUG_ON somewhere
> to assert that this actually works?
Sure, but changing any of the clock ids will cause more wreckage than that.
Thanks,
tglx
2018 Sep 14
1
[patch 11/11] x66/vdso: Add CLOCK_TAI support
...OCK_THREAD_CPUTIME is never going to be supported in the VDSO so
>>> the array slot 3 is unused
>>> - CLOCK_TAI is id 11 which results in 3 when masked with 0x3
>>>
>>> Add the mask to the basetime array lookup and set up the CLOCK_TAI base
>>> time in update_vsyscall().
>>
>> That?s... horrible. In an amazing way. Can you add BUILD_BUG_ON somewhere
>> to assert that this actually works?
>
> Sure, but changing any of the clock ids will cause more wreckage than that.
>
I?m more concerned that we add a new one and break the magic mas...
2013 Jun 27
1
[PATCH 2/5] time: pass flags instead of multiple bools to timekeeping_update()
...fier);
/* must hold timekeeper_lock */
-static void timekeeping_update(struct timekeeper *tk, bool clearntp, bool mirror)
+static void timekeeping_update(struct timekeeper *tk, unsigned action)
{
- if (clearntp) {
+ if (action & TK_CLEAR_NTP) {
tk->ntp_error = 0;
ntp_clear();
}
update_vsyscall(tk);
update_pvclock_gtod(tk);
- if (mirror)
+ if (action & TK_MIRROR)
memcpy(&shadow_timekeeper, &timekeeper, sizeof(timekeeper));
}
@@ -508,7 +511,7 @@ int do_settimeofday(const struct timespec *tv)
tk_set_xtime(tk, tv);
- timekeeping_update(tk, true, true);
+ timekeepi...
2018 Sep 14
24
[patch 00/11] x86/vdso: Cleanups, simmplifications and CLOCK_TAI support
Matt attempted to add CLOCK_TAI support to the VDSO clock_gettime()
implementation, which extended the clockid switch case and added yet
another slightly different copy of the same code.
Especially the extended switch case is problematic as the compiler tends to
generate a jump table which then requires to use retpolines. If jump tables
are disabled it adds yet another conditional to the existing
2018 Sep 14
24
[patch 00/11] x86/vdso: Cleanups, simmplifications and CLOCK_TAI support
Matt attempted to add CLOCK_TAI support to the VDSO clock_gettime()
implementation, which extended the clockid switch case and added yet
another slightly different copy of the same code.
Especially the extended switch case is problematic as the compiler tends to
generate a jump table which then requires to use retpolines. If jump tables
are disabled it adds yet another conditional to the existing
2018 Sep 17
11
[patch V2 00/11] x86/vdso: Cleanups, simmplifications and CLOCK_TAI support
Matt attempted to add CLOCK_TAI support to the VDSO clock_gettime()
implementation, which extended the clockid switch case and added yet
another slightly different copy of the same code.
Especially the extended switch case is problematic as the compiler tends to
generate a jump table which then requires to use retpolines. If jump tables
are disabled it adds yet another conditional to the existing
2013 Jun 19
14
[PATCH 2/4] time: add a notifier chain for when the system time is stepped
From: David Vrabel <david.vrabel@citrix.com>
The high resolution timer code gets notified of step changes to the
system time with clock_was_set() or clock_was_set_delayed() calls. If
other parts of the kernel require similar notification there is no
clear place to hook into.
Add a clock_was_set atomic notifier chain
(clock_was_set_notifier_list) and call this in place of
clock_was_set().