> -----Original Message-----
> From: Miroslav Lichvar <mlich...@redhat.com>
> Sent: Wednesday, May 26, 2021 1:24 AM
> To: linuxptp-devel@lists.sourceforge.net
> Subject: [Linuxptp-devel] [PATCH v2 2/3] clock: Reset clock check on best
> clock/port change.
> 
> Reset the clock check when the best clock or port changes, together with
> the other state like current estimated delay and frequency. This avoids
> false positives if the clock is controlled by an external process when
> not synchronized by PTP (e.g. phc2sys -rr).
> 

Thanks! The intent is more clear now!

Reviewed-by: Jacob Keller <jacob.e.kel...@intel.com>

> Signed-off-by: Miroslav Lichvar <mlich...@redhat.com>
> ---
>  clock.c      | 2 ++
>  clockcheck.c | 9 ++++++++-
>  clockcheck.h | 6 ++++++
>  3 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/clock.c b/clock.c
> index a073575..2dd7ef9 100644
> --- a/clock.c
> +++ b/clock.c
> @@ -1949,6 +1949,8 @@ static void handle_state_decision_event(struct clock
> *c)
> 
>       if (!cid_eq(&best_id, &c->best_id) || best != c->best) {
>               clock_freq_est_reset(c);
> +             if (c->sanity_check)
> +                     clockcheck_reset(c->sanity_check);
>               tsproc_reset(c->tsproc, 1);
>               if (!tmv_is_zero(c->initial_delay))
>                       tsproc_set_delay(c->tsproc, c->initial_delay);
> diff --git a/clockcheck.c b/clockcheck.c
> index d48a578..d0b4714 100644
> --- a/clockcheck.c
> +++ b/clockcheck.c
> @@ -47,9 +47,16 @@ struct clockcheck *clockcheck_create(int freq_limit)
>       if (!cc)
>               return NULL;
>       cc->freq_limit = freq_limit;
> +     clockcheck_reset(cc);
> +     return cc;
> +}
> +
> +void clockcheck_reset(struct clockcheck *cc)
> +{
> +     cc->freq_known = 0;
>       cc->max_freq = -CHECK_MAX_FREQ;
>       cc->min_freq = CHECK_MAX_FREQ;
> -     return cc;
> +     cc->last_ts = 0;
>  }
> 
>  int clockcheck_sample(struct clockcheck *cc, uint64_t ts)
> diff --git a/clockcheck.h b/clockcheck.h
> index 78aca48..1ff86eb 100644
> --- a/clockcheck.h
> +++ b/clockcheck.h
> @@ -33,6 +33,12 @@ struct clockcheck;
>   */
>  struct clockcheck *clockcheck_create(int freq_limit);
> 
> +/**
> + * Reset a clock check.
> + * @param cc Pointer to a clock check obtained via @ref clockcheck_create().
> + */
> +void clockcheck_reset(struct clockcheck *cc);
> +
>  /**
>   * Perform the sanity check on a time stamp.
>   * @param cc Pointer to a clock check obtained via @ref clockcheck_create().
> --
> 2.26.3
> 
> 
> 
> _______________________________________________
> Linuxptp-devel mailing list
> Linuxptp-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linuxptp-devel


_______________________________________________
Linuxptp-devel mailing list
Linuxptp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxptp-devel

Reply via email to