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