This patch series changes the 32-bit time type (timespec/itimerspec) to the 64-bit one
(timespec64/itimerspec64), since 32-bit time types will break in the year 2038.
This patch series introduces new methods with timespec64/itimerspec64 type,
and removes the old ones with timespec/itimerspec type for posix_clock_operations
and k_clock structure.
Also introduces some new functions with timespec64/itimerspec64 type, like current_kernel_time64(),
hrtimer_get_res64(), cputime_to_timespec64() and timespec64_to_cputime().
Changes since V1:
-Split some patch into small patch.
-Change the methods for converting the syscall and add some default function for new 64bit methods for syscall function.
-Introduce the new function do_sys_settimeofday64() and move do_sys_settimeofday() function to head file.
-Modify the EXPORT_SYMPOL issue.
-Add new 64bit methods in cputime_nsecs.h file.
-Modify some patch logs.
Baolin Wang (15):
linux/time64.h:Introduce the 'struct itimerspec64' for 64bit
timekeeping:Introduce the current_kernel_time64() function with
timespec64 type
time/hrtimer:Introduce hrtimer_get_res64() with timespec64 type for
getting the timer resolution
posix timers:Introduce the 64bit methods with timespec64 type for
k_clock structure
posix-timers:Split out the guts of the syscall and change the
implementation
posix-timers:Convert to the 64bit methods for the syscall function
time:Introduce the do_sys_settimeofday64() function with timespec64
type
time/posix-timers:Convert to the 64bit methods for k_clock callback
functions
char/mmtimer:Convert to the 64bit methods for k_clock callback
function
time/alarmtimer:Convert to the new methods for k_clock structure
time/posix-clock:Convert to the 64bit methods for k_clock and
posix_clock_operations structure
time/time:Introduce the timespec64_to_jiffies/jiffies_to_timespec64
function
cputime:Introduce the cputime_to_timespec64/timespec64_to_cputime
function
time/posix-cpu-timers:Convert to the 64bit methods for k_clock
structure
k_clock:Remove the 32bit methods with timespec/itimerspec type
arch/powerpc/include/asm/cputime.h | 6 +-
arch/s390/include/asm/cputime.h | 8 +-
drivers/char/mmtimer.c | 36 +++--
drivers/ptp/ptp_clock.c | 26 +---
include/asm-generic/cputime_jiffies.h | 10 +-
include/asm-generic/cputime_nsecs.h | 4 +-
include/linux/cputime.h | 15 ++
include/linux/hrtimer.h | 12 +-
include/linux/jiffies.h | 21 ++-
include/linux/posix-clock.h | 10 +-
include/linux/posix-timers.h | 18 +--
include/linux/time64.h | 35 +++++
include/linux/timekeeping.h | 26 +++-
kernel/time/alarmtimer.c | 43 +++---
kernel/time/hrtimer.c | 10 +-
kernel/time/posix-clock.c | 20 +--
kernel/time/posix-cpu-timers.c | 83 +++++-----
kernel/time/posix-timers.c | 269 ++++++++++++++++++++++-----------
kernel/time/time.c | 22 +--
kernel/time/timekeeping.c | 6 +-
kernel/time/timekeeping.h | 2 +-
21 files changed, 428 insertions(+), 254 deletions(-)
--
1.7.9.5