Re: [RESEND PATCH 2/3] fs: poll/select/recvmmsg: use timespec64 for timeout events

From: John Stultz
Date: Wed May 04 2016 - 16:04:48 EST


On Wed, May 4, 2016 at 12:24 PM, Deepa Dinamani <deepa.kernel@xxxxxxxxx> wrote:
> struct timespec is not y2038 safe.
> Even though timespec might be sufficient to represent
> timeouts, use struct timespec64 here as the plan is to
> get rid of all timespec reference in the kernel.
>
> The patch transitions the common functions:
> poll_select_set_timeout() and select_estimate_accuracy()
> to use timespec64. And, all the syscalls that use these
> functions are transitioned in the same patch.
>
> The restart block parameters for poll uses monotonic time.
> Use timespec64 here as well to assign timeout value. This
> parameter in the restart block need not change because
> this only holds the monotonic timestamp at which timeout
> should occur. And, unsigned long data type should be big
> enough for this timestamp.
>
> The system call interfaces will be handled in a separate
> series.
>
> Compat interfaces need not change as timespec64 is an
> alias to struct timespec on a 64 bit system.
>
> Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx>
> Cc: Alexander Viro <viro@xxxxxxxxxxxxxxxxxx>
> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
> Cc: netdev@xxxxxxxxxxxxxxx
> ---
> Resending to include John and Thomas on this patch as well.
> This is to include this patch also in John's tree.
> This will let all 3 patches in the series to merged through the same tree.
>
> fs/eventpoll.c | 12 +++++-----
> fs/select.c | 67 +++++++++++++++++++++++++++++-----------------------
> include/linux/poll.h | 11 +++++----
> net/socket.c | 8 ++++---
> 4 files changed, 54 insertions(+), 44 deletions(-)


So with the other two patches, I'm more comfortable queueing and
sending through to Thomas.

But I'm less comfortable making the call on this one. It looks
relatively straight forward, but it would be good to have maintainer
acks before I add it to my tree.

thanks
-john