lib/vdso: Move VCLOCK_TIMENS to vdso_clock_modes
Move the time namespace indicator clock mode to the other ones for consistency sake. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lkml.kernel.org/r/20200207124403.656097274@linutronix.de
This commit is contained in:
@@ -116,10 +116,10 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk,
|
||||
|
||||
do {
|
||||
/*
|
||||
* Open coded to handle VCLOCK_TIMENS. Time namespace
|
||||
* Open coded to handle VDSO_CLOCKMODE_TIMENS. Time namespace
|
||||
* enabled tasks have a special VVAR page installed which
|
||||
* has vd->seq set to 1 and vd->clock_mode set to
|
||||
* VCLOCK_TIMENS. For non time namespace affected tasks
|
||||
* VDSO_CLOCKMODE_TIMENS. For non time namespace affected tasks
|
||||
* this does not affect performance because if vd->seq is
|
||||
* odd, i.e. a concurrent update is in progress the extra
|
||||
* check for vd->clock_mode is just a few extra
|
||||
@@ -128,7 +128,7 @@ static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk,
|
||||
*/
|
||||
while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) {
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) &&
|
||||
vd->clock_mode == VCLOCK_TIMENS)
|
||||
vd->clock_mode == VDSO_CLOCKMODE_TIMENS)
|
||||
return do_hres_timens(vd, clk, ts);
|
||||
cpu_relax();
|
||||
}
|
||||
@@ -200,12 +200,12 @@ static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk,
|
||||
|
||||
do {
|
||||
/*
|
||||
* Open coded to handle VCLOCK_TIMENS. See comment in
|
||||
* Open coded to handle VDSO_CLOCK_TIMENS. See comment in
|
||||
* do_hres().
|
||||
*/
|
||||
while ((seq = READ_ONCE(vd->seq)) & 1) {
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) &&
|
||||
vd->clock_mode == VCLOCK_TIMENS)
|
||||
vd->clock_mode == VDSO_CLOCKMODE_TIMENS)
|
||||
return do_coarse_timens(vd, clk, ts);
|
||||
cpu_relax();
|
||||
}
|
||||
@@ -292,7 +292,7 @@ __cvdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
|
||||
|
||||
if (unlikely(tz != NULL)) {
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) &&
|
||||
vd->clock_mode == VCLOCK_TIMENS)
|
||||
vd->clock_mode == VDSO_CLOCKMODE_TIMENS)
|
||||
vd = __arch_get_timens_vdso_data();
|
||||
|
||||
tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest;
|
||||
@@ -308,7 +308,8 @@ static __maybe_unused __kernel_old_time_t __cvdso_time(__kernel_old_time_t *time
|
||||
const struct vdso_data *vd = __arch_get_vdso_data();
|
||||
__kernel_old_time_t t;
|
||||
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) && vd->clock_mode == VCLOCK_TIMENS)
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) &&
|
||||
vd->clock_mode == VDSO_CLOCKMODE_TIMENS)
|
||||
vd = __arch_get_timens_vdso_data();
|
||||
|
||||
t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec);
|
||||
@@ -332,7 +333,8 @@ int __cvdso_clock_getres_common(clockid_t clock, struct __kernel_timespec *res)
|
||||
if (unlikely((u32) clock >= MAX_CLOCKS))
|
||||
return -1;
|
||||
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) && vd->clock_mode == VCLOCK_TIMENS)
|
||||
if (IS_ENABLED(CONFIG_TIME_NS) &&
|
||||
vd->clock_mode == VDSO_CLOCKMODE_TIMENS)
|
||||
vd = __arch_get_timens_vdso_data();
|
||||
|
||||
/*
|
||||
|
Reference in New Issue
Block a user