Re: [PATCH 02/12] clocksource: Simplify logic around clocksource wrapping saftey margins

From: Ingo Molnar
Date: Sat Mar 07 2015 - 04:22:32 EST



* John Stultz <john.stultz@xxxxxxxxxx> wrote:

> The clocksource logic has a number of places where we try to
> include a safety margin. Most of these are 12% safety margins,
> but they are inconsistently applied and sometimes are applied
> on top of each other.
>
> Additionally, in the previous patch, we corrected an issue
> where we unintentionally in effect created a 50% saftey margin,
> which these 12.5% margins where then added to.
>
> So to siplify the logic here, this patch removes the various

Typo.

> 12.5% margins, and consolidates adding the margin in one place:
> clocks_calc_max_nsecs().
>
> Addtionally, Linus prefers a 50% safety margin, as it allows
> bad clock values to be more easily caught. This should really
> have no net effect, due to the corrected issue earlier which
> caused greater then 50% margins to be used w/o issue.
>
> Cc: Dave Jones <davej@xxxxxxxxxxxxxxxxx>
> Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Richard Cochran <richardcochran@xxxxxxxxx>
> Cc: Prarit Bhargava <prarit@xxxxxxxxxx>
> Cc: Stephen Boyd <sboyd@xxxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> Acked-by: Stephen Boyd <sboyd@xxxxxxxxxxxxxx> (for sched_clock.c bit)
> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx>
> ---
> kernel/time/clocksource.c | 26 ++++++++++++--------------
> kernel/time/sched_clock.c | 4 ++--
> 2 files changed, 14 insertions(+), 16 deletions(-)
>
> diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
> index 11323f4..e5d00e6 100644
> --- a/kernel/time/clocksource.c
> +++ b/kernel/time/clocksource.c
> @@ -469,6 +469,9 @@ static u32 clocksource_max_adjustment(struct clocksource *cs)
> * @shift: cycle to nanosecond divisor (power of two)
> * @maxadj: maximum adjustment value to mult (~11%)
> * @mask: bitmask for two's complement subtraction of non 64 bit counters
> + *
> + * NOTE: This function includes a saftey margin of 50%, so that bad clock values

Typo.

There's also the same typo in the title of the patch.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/