2015-05-11 11:08:55

by Baolin Wang

[permalink] [raw]
Subject: [PATCH v3 00/22] Convert the posix_clock_operations and k_clock structure to ready for 2038

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 v2:
-Split the syscall conversion patch into small some patches.


Baolin Wang (22):
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:Split out the guts of the syscall and change the
implementation for timer_gettime
posix-timers:Convert to the 64bit methods for the timer_gettime
syscall function
posix-timers:Split out the guts of the syscall and change the
implementation for timer_settime
posix-timers:Convert to the 64bit methods for the timer_settime
syscall function
posix-timers:Split out the guts of the syscall and change the
implementation for clock_settime
posix-timers:Convert to the 64bit methods for the clock_settime
syscall function
posix-timers:Split out the guts of the syscall and change the
implementation for clock_gettime
posix-timers:Convert to the 64bit methods for the clock_gettime
syscall function
posix-timers:Split out the guts of the syscall and change the
implementation for clock_getres
posix-timers:Convert to the 64bit methods for the clock_getres
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 64bit 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


2015-05-12 09:41:06

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v3 00/22] Convert the posix_clock_operations and k_clock structure to ready for 2038

On Monday 11 May 2015 19:08:38 Baolin Wang wrote:
> 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 v2:
> -Split the syscall conversion patch into small some patches.
>
>
> Baolin Wang (22):
> 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:Split out the guts of the syscall and change the
> implementation for timer_gettime
> posix-timers:Convert to the 64bit methods for the timer_gettime
> syscall function

I have two more very general comments about the series:

a) something has gone wrong with your submission in v2 and v3 but was
working earlier: normally all emails should be sent by git-send-email
as replies to the [patch 00/22] mail. This is the default, and it
is enabled by the '--thread --no-chain-reply' options. Please try
to get this to work again.

b) it would be better to have a little shorter subject lines, to avoid
line-wrapping in the list above. Here are some examples what you could
use to replace the lines above:

timekeeping: introduce struct itimerspec64
timekeeping: introduce current_kernel_time64()
hrtimer: introduce hrtimer_get_res64()
posix-timers: split up sys_timer_gettime()
posix-timers: convert timer_gettime() to timespec64

In general, try to come up with the shortest description that
uniquely describes what your patch does, and move any details into
the longer patch description.

Arnd