On Sun, Jun 18, 2017 at 11:45:07PM -0700, Deepa Dinamani wrote:
The series aims at isolating data conversions of time_t based structures: struct timespec and struct itimerspec at user space boundaries. This helps to later change the underlying types to handle y2038 changes to these.
The series is an update to Arnd Bergmann's previous series: http://sourceware.org/ml/libc-alpha/2015-05/msg00070.html
The series particularly aims at changing kernel clock and timer interfaces.
The changes include a. Add data conversion apis for native and compat modes. b. Refactor nanosleep and clock_nanosleep logic:
- Move nanosleep and its compat version to a new file nanosleep.c. Alternatively, these can be moved into hrtimer.c.
- Refactor common functions for nanosleep: same functions are used for posix timers and posix stubs.
- Change the posix clock callbacks to take advantage of these common functions.
b. Move compat syscalls to the same files as the regular syscalls. c. Use data conversion apis in the regular and compat syscall paths. d. Remove set_fs()/get_fs() calls in the compat syscall path and use the same logic as in the regular syscall path.
Check the stuff already in tip/timers/core; at the very least it overlaps considerably with your series. And your variant is a lot more convoluted - there's no need to have a separate compat restart, etc.