All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23@kernel.org>
To: Arnd Bergmann <arnd@arndb.de>
Cc: y2038@lists.linaro.org, Hartmut Knaack <knaack.h@gmx.de>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
	<k.wrona@samsung.com>
Subject: Re: [PATCH] iio: common: ssp_sensors: use ktime_get_real_ns() timestamps
Date: Sat, 2 Dec 2017 11:49:49 +0000	[thread overview]
Message-ID: <20171202114949.2d9bf320@archlinux> (raw)
In-Reply-To: <20171127115158.2884398-1-arnd@arndb.de>

On Mon, 27 Nov 2017 12:51:48 +0100
Arnd Bergmann <arnd@arndb.de> wrote:

> getnstimeofday() suffers from the overflow in y2038 on 32-bit
> architectures and requires a conversion into the nanosecond format that
> we want here.
> 
> This changes ssp_parse_dataframe() to use ktime_get_real_ns() directly,
> which does not have that problem.
> 
> An open question is what time base should be used here. Normally
> timestamps should use ktime_get_ns() or ktime_get_boot_ns() to read
> monotonic time instead of "real" time, which suffers from time jumps
> due to settimeofday() calls or leap seconds.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+cc Karol Wrona.

Fix looks fine to me, but might be nice to address that and the
question of using a monotonic clock all in one go.

This is probably a copy of an ancient piece of my stupidity
where I used the wrong clock for the core IIO timestamping
code.  We fixed that a while back by letting the user
chose the clock.  If you are running slow enough you actually
do want the 'real' time - probably never the case here though.

If we don't hear from Karol for a few weeks I'll pick this
up and we can address the wrong timestamp sometime in the
future!

Jonathan

> ---
>  drivers/iio/common/ssp_sensors/ssp_spi.c | 5 +----
>  1 file changed, 1 insertion(+), 4 deletions(-)
> 
> diff --git a/drivers/iio/common/ssp_sensors/ssp_spi.c b/drivers/iio/common/ssp_sensors/ssp_spi.c
> index 704284a475ae..2ab106bb3e03 100644
> --- a/drivers/iio/common/ssp_sensors/ssp_spi.c
> +++ b/drivers/iio/common/ssp_sensors/ssp_spi.c
> @@ -277,12 +277,9 @@ static int ssp_handle_big_data(struct ssp_data *data, char *dataframe, int *idx)
>  static int ssp_parse_dataframe(struct ssp_data *data, char *dataframe, int len)
>  {
>  	int idx, sd;
> -	struct timespec ts;
>  	struct ssp_sensor_data *spd;
>  	struct iio_dev **indio_devs = data->sensor_devs;
>  
> -	getnstimeofday(&ts);
> -
>  	for (idx = 0; idx < len;) {
>  		switch (dataframe[idx++]) {
>  		case SSP_MSG2AP_INST_BYPASS_DATA:
> @@ -329,7 +326,7 @@ static int ssp_parse_dataframe(struct ssp_data *data, char *dataframe, int len)
>  	}
>  
>  	if (data->time_syncing)
> -		data->timestamp = ts.tv_sec * 1000000000ULL + ts.tv_nsec;
> +		data->timestamp = ktime_get_real_ns();
>  
>  	return 0;
>  }


  reply	other threads:[~2017-12-02 11:49 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27 11:51 [PATCH] iio: common: ssp_sensors: use ktime_get_real_ns() timestamps Arnd Bergmann
2017-12-02 11:49 ` Jonathan Cameron [this message]
2017-12-10 15:03   ` Jonathan Cameron

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171202114949.2d9bf320@archlinux \
    --to=jic23@kernel.org \
    --cc=arnd@arndb.de \
    --cc=k.wrona@samsung.com \
    --cc=knaack.h@gmx.de \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    --cc=y2038@lists.linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.