On Sat, Apr 13, 2019 at 12:07 AM Kirtika Ruchandani <kirtika@xxxxxxxxxx> wrote: > > On Fri, Apr 12, 2019 at 2:49 PM Ben Greear <greearb@xxxxxxxxxxxxxxx> wrote: > > > > On 4/12/19 2:43 PM, Kirtika Ruchandani wrote: > > > On Fri, Apr 12, 2019 at 2:40 PM <greearb@xxxxxxxxxxxxxxx> wrote: > > >> > > >> From: Ben Greear <greearb@xxxxxxxxxxxxxxx> > > >> > > >> This lets us more precisely calculate the absolute timestamp > > >> of last-rix (ie, now - idle). > > > > > > Can you use 64-bit timestamps? struct timeval suffers from the > > > overflow after 2038 problem. > > > > What is the preferred API to do this? Whatever it is, it would need > > to compile on old crufty systems as well. > > I am not sure what the guidance for userspace is. The kernel uses > 'struct timespec64' I think. > Arnd (cc-ed) who has mostly led the 2038 problem in the kernel might > have more input on the > "old crufty systems" part. I'm not sure what you are trying to do, and there are different answers depending on the usecase. For getting the time in the kernel, see Documentation/core-api/timekeeping.rst do_gettimeofday() is going away for many reasons, so don't use that. It sounds like you want "ktime_to_ms(ktime_get())" here. In userspace interfaces, you should pass 64-bit nanoseconds as returned by ktime_get_ns(). If you want to pretty-print the current wall-clock, use the %pt format string on a 'struct rtc_time'. Arnd