Skip to content

posix-cpu-timers: Cleanup and consolidation

Thomas Gleixner lkml 2 versions – Applied

Status from this message: The following commit has been merged into the timers/core branch of tip:

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v2 Latest37 of 38 patches 54 repliesApplied
  2. v144 patches 32 repliesApplied

37 of 38 patches are in this archive. The cover letter announces 38.

Patches in v2 Applied

#Subject and filesSizeRepliesApplied
1/38posix-cpu-timers: Provide task validation functionskernel/time/posix-cpu-timers.c+44 -213 replies
2/38posix-cpu-timers: Use common permission check in posix_cpu_clock_get()kernel/time/posix-cpu-timers.c+16 -453 replies
3/38posix-cpu-timers: Use common permission check in posix_cpu_timer_create()kernel/time/posix-cpu-timers.c+3 -321 reply
4/38posix-cpu-timers: Provide quick sample function for itimerinclude/linux/sched/cputime.h kernel/time/posix-cpu-timers.c+22 -11 reply
5/38itimers: Use quick sample functionkernel/time/itimer.c+1 -12 replies
6/38posix-cpu-timers: Sample directly in timer checkkernel/time/posix-cpu-timers.c+4 -31 reply
7/38posix-cpu-timers: Rename thread_group_cputimer() and make it staticinclude/linux/sched/cputime.h kernel/time/posix-cpu-timers.c+15 -31 reply
8/38posix-cpu-timers: Consolidate thread group sample codekernel/time/posix-cpu-timers.c+20 -391 reply
9/38posix-cpu-timers: Use clock ID in posix_cpu_timer_set()kernel/time/posix-cpu-timers.c+6 -51 reply
10/38posix-cpu-timers: Use clock ID in posix_cpu_timer_get()kernel/time/posix-cpu-timers.c+3 -21 reply
11/38posix-cpu-timers: Use clock ID in posix_cpu_timer_rearm()kernel/time/posix-cpu-timers.c+3 -21 reply
12/38posix-cpu-timers: Remove pointless return value checkkernel/time/posix-cpu-timers.c+2 -31 reply
13/38posix-cpu-timers: Simplify sample functionskernel/time/posix-cpu-timers.c+13 -151 reply
14/38posix-cpu-timers: Get rid of pointer indirectionkernel/time/posix-cpu-timers.c+22 -281 reply
15/38posix-cpu-timers: Sample task times once in expiry checkkernel/time/posix-cpu-timers.c+6 -41 reply
16/38posix-cpu-timers: Move prof/virt_ticks into callerkernel/time/posix-cpu-timers.c+9 -211 reply
17/38posix-cpu-timers: Create a container structinclude/linux/init_task.h include/linux/posix-timers.h include/linux/sched.h +3 more+54 -312 replies
19/38posix-cpu-timers: Move expiry cache into struct posix_cputimersinclude/linux/posix-timers.h include/linux/sched.h include/linux/sched/signal.h +3 more+57 -541 reply
20/38posix-cpu-timers: Provide array based access to expiry cacheinclude/linux/posix-timers.h include/linux/sched/types.h kernel/time/posix-cpu-timers.c+31 -91 reply
21/38posix-cpu-timers: Simplify timer queueingkernel/time/posix-cpu-timers.c+22 -351 reply
22/38posix-cpu-timers: Simplify set_process_cpu_timer()kernel/time/posix-cpu-timers.c+8 -161 reply
23/38posix-cpu-timers: Switch check_*_timers() to array cachekernel/time/posix-cpu-timers.c+11 -151 reply
24/38posix-cpu-timers: Remove the odd field rename definesinclude/linux/posix-timers.h+0 -151 reply
25/38posix-cpu-timers: Provide array based sample functionskernel/time/posix-cpu-timers.c+26 -01 reply
26/38posix-cpu-timers: Make expiry checks array basedkernel/time/posix-cpu-timers.c+36 -491 reply
27/38posix-cpu-timers: Remove cputime_expiresinclude/linux/posix-timers.h kernel/time/posix-cpu-timers.c+2 -171 reply
28/38posix-cpu-timers: Restructure expiry arrayinclude/linux/posix-timers.h kernel/time/posix-cpu-timers.c+82 -636 replies
29/38posix-cpu-timers: Switch thread group sampling to arrayinclude/linux/sched/cputime.h kernel/time/itimer.c kernel/time/posix-cpu-timers.c+49 -681 reply
30/38posix-cpu-timers: Respect INFINITY for hard RTTIME limitkernel/time/posix-cpu-timers.c+1 -11 reply
31/38rlimit: Rewrite non-sensical RLIMIT_CPU commentkernel/sys.c+3 -41 reply
32/38posix-cpu-timers: Get rid of zero checksinclude/linux/posix-timers.h kernel/sys.c kernel/time/posix-cpu-timers.c+19 -331 reply
33/38posix-cpu-timers: Consolidate timer expiry furtherkernel/time/posix-cpu-timers.c+30 -331 reply
34/38posix-cpu-timers: Get rid of 64bit divisionskernel/time/posix-cpu-timers.c+14 -101 reply
35/38posix-cpu-timers: Remove pointless comparisonskernel/time/posix-cpu-timers.c+7 -91 reply
36/38posix-cpu-timers: Deduplicate rlimit handlingkernel/time/posix-cpu-timers.c+25 -421 reply
37/38posix-cpu-timers: Move state tracking to struct posix_cputimersinclude/linux/posix-timers.h include/linux/sched/cputime.h include/linux/sched/signal.h +3 more+54 -502 replies
38/38posix-cpu-timers: Utilize timerqueue for storageinclude/linux/posix-timers.h include/linux/timerqueue.h kernel/time/posix-cpu-timers.c+150 -1086 replies

Reviews trailers per patch

35 of 37 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.

PatchFrederic Weisbecker
SeriesR-b
1/38
2/38R-b
3/38R-b
4/38R-b
5/38R-b
6/38R-b
7/38R-b
8/38R-b
9/38R-b
10/38R-b
11/38R-b
12/38R-b
13/38R-b
14/38R-b
15/38R-b
16/38R-b
17/38R-b
19/38R-b
20/38R-b
21/38R-b
22/38R-b
23/38R-b
24/38R-b
25/38R-b
26/38R-b
27/38R-b
28/38R-b
29/38R-b
30/38R-b
31/38R-b
32/38R-b
33/38R-b
34/38R-b
35/38R-b
36/38R-b
37/38
38/38R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v2 thread

Cover letter [patch V2 00/38] posix-cpu-timers: Cleanup and consolidation

Folks!

This is the second version of that set. First one can be found here:

https://lkml.kernel.org/r/[email protected]

The following changes vs. V1:

- Folded the synchronization callback patch into the original one and replaced the original one in tip timers/core as requested by Christoph

- Merged the first couple of trivial patches into tip timers/core with Frederics reviewed-by picked up.

- Dropped the sighand locking change as pointed out by Frederic

- Dropped the last patch which switches to direct expiry mode as it got too ugly as the sighand locking change needed to be dropped. This will come with the next set on top of this which moves the expiry into task work context which was the initial reason for staring at this code.

- Reworked the storage array after the patch which removes the temporary union and the abused struct task_cputime as requested by Ingo.

- Fixed up a comment and the ugly hack in do_rlimit() which was needed to convert 0 expiry time to 1 which was required due to the 0 based checks which are now gone. (New)

- Fixed typos in comments and changelogs (Ingo)

The series applies on top of:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core

and is available from git as well:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.timers/core

Thanks,

tglx

8<--------------

 include/linux/init_task.h      |   11 
 include/linux/posix-timers.h   |  121 ++++-
 include/linux/sched.h          |   29 -
 include/linux/sched/cputime.h  |   12 
 include/linux/sched/signal.h   |   14 
 include/linux/sched/types.h    |   23 
 include/linux/timerqueue.h     |   10 
 init/init_task.c               |    2 
 kernel/fork.c                  |   34 -
 kernel/sched/rt.c              |    6 
 kernel/sys.c                   |   16 
 kernel/time/itimer.c           |   11 
 kernel/time/posix-cpu-timers.c |  952 +++++++++++++++++++----------------------
 13 files changed, 616 insertions(+), 625 deletions(-)