On Tue, Feb 12, 2019 at 10:22:37AM -0800, Vedang Patel wrote:
> - operLogSyncInterval: slave will ask the master to switch to this
>   interval for sending sync messages when the timer expires.
> - operLogPdelayReqInterval: the slave will set this interval for pdelay
>   request messages when the timer expires.

There is no timer anymore.

> diff --git a/config.c b/config.c
> index 232131082b2e..eaa083306d75 100644
> --- a/config.c
> +++ b/config.c
> @@ -263,6 +263,8 @@ struct config_item config_tab[] = {
>       PORT_ITEM_ENU("network_transport", TRANS_UDP_IPV4, nw_trans_enu),
>       GLOB_ITEM_INT("ntpshm_segment", 0, INT_MIN, INT_MAX),
>       GLOB_ITEM_INT("offsetScaledLogVariance", 0xffff, 0, UINT16_MAX),
> +     PORT_ITEM_INT("operLogSyncInterval", 0, INT8_MIN, INT8_MAX),
> +     PORT_ITEM_INT("operLogPdelayReqInterval", 0, INT8_MIN, INT8_MAX),

Alphabetical order please.

> @@ -88,6 +91,16 @@ void servo_destroy(struct servo *servo)
>       servo->destroy(servo);
>  }
>  
> +int check_offset_threshold(struct servo *s, int64_t offset)

static

> +{
> +     if (s->offset_threshold && offset) {

Why test offset != 0 here?

> +             if (abs(offset) < s->offset_threshold && s->curr_offset_values)

Since you are Using abs(), don't you need a special case test for
offset > INT_MAX ?

> +                     s->curr_offset_values--;
> +             return s->curr_offset_values ? 0 : 1;
> +     }
> +     return 0;
> +}
> +
>  double servo_sample(struct servo *servo,
>                   int64_t offset,
>                   uint64_t local_ts,
> @@ -100,6 +113,12 @@ double servo_sample(struct servo *servo,
>  
>       if (*state != SERVO_UNLOCKED)
>               servo->first_update = 0;
> +     else
> +             servo->curr_offset_values = servo->num_offset_values;
> +
> +     if (*state == SERVO_LOCKED && check_offset_threshold(servo, offset)) {
> +             *state = SERVO_LOCKED_STABLE;
> +     }

This is getting hard to follow.  Time for switch/case(*state) with all the
cases listed explicitly.

Thanks,
Richard


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

Reply via email to