[PATCH v2] drm/msm: Use 64-bit timekeeping

Arnd Bergmann arnd at arndb.de
Sat Apr 16 23:47:24 UTC 2016


On Wednesday 13 April 2016 02:52:14 Tina Ruchandani wrote:
>                         ktime_t rem = ktime_sub(*timeout, now);
> -                       struct timespec ts = ktime_to_timespec(rem);
> -                       remaining_jiffies = timespec_to_jiffies(&ts);
> +                       struct timespec64 ts = ktime_to_timespec64(rem);
> +
> +                       remaining_jiffies = timespec64_to_jiffies(&ts);
> 

Hi Tina,

The change looks correct to me, but I wonder if we should optimize
this code a little more, as it does two expensive 64-bit divisions.

How about

	remaining_jiffies = msecs_to_jiffies(ktime_ms_delta(*timeout, now));

which only does one 64-bit division, and it's one that we can probably
optimize out in the future (we can check in ktime_ms_delta whether the
difference is more than 2^32 nanoseconds as the fast path).

	Arnd


More information about the dri-devel mailing list