From: Jonathan Cameron <jic23@jic23.retrosnub.co.uk>
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: Sun, 10 Dec 2017 15:03:51 +0000 [thread overview]
Message-ID: <20171210150351.2fc74af7@archlinux> (raw)
In-Reply-To: <20171202114949.2d9bf320@archlinux>
On Sat, 2 Dec 2017 11:49:49 +0000
Jonathan Cameron <jic23@kernel.org> wrote:
> 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!
>
Applied to the togreg branch of iio.git and pushed out as testing
for the autobuilders to play with it.
Thanks,
Jonathan
> 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;
> > }
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-iio" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
prev parent reply other threads:[~2017-12-10 15:03 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
2017-12-10 15:03 ` Jonathan Cameron [this message]
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=20171210150351.2fc74af7@archlinux \
--to=jic23@jic23.retrosnub.co.uk \
--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.