This patchset improves the scalability of itimers, thread_group_cputimer
and addresses a performance issue we found while running a database
workload where more than 30% of total time is spent in the kernel
trying to acquire the thread_group_cputimer spinlock.

While we're modifying sched and timer, patch 1 also updates all existing
usages of ACCESS_ONCE with the new READ_ONCE and WRITE_ONCE APIs in
those areas.

Jason Low (5):
  sched, timer: Remove usages of ACCESS_ONCE in the scheduler
  sched, numa: Document usages of mm->numa_scan_seq
  sched, timer: Use atomics in thread_group_cputimer to improve
    scalability
  sched, timer: Provide an atomic task_cputime data structure
  sched, timer: Use the atomic task_cputime in thread_group_cputimer

 include/linux/init_task.h      |    5 +-
 include/linux/sched.h          |   29 +++++++++----
 kernel/fork.c                  |    5 +--
 kernel/sched/auto_group.c      |    2 +-
 kernel/sched/auto_group.h      |    2 +-
 kernel/sched/core.c            |    4 +-
 kernel/sched/cputime.c         |    2 +-
 kernel/sched/deadline.c        |    2 +-
 kernel/sched/fair.c            |   26 +++++++++---
 kernel/sched/proc.c            |    4 +-
 kernel/sched/rt.c              |    2 +-
 kernel/sched/sched.h           |    2 +-
 kernel/sched/stats.h           |   15 ++-----
 kernel/sched/wait.c            |    4 +-
 kernel/time/posix-cpu-timers.c |   87 +++++++++++++++++++++++++---------------
 15 files changed, 113 insertions(+), 78 deletions(-)

-- 
1.7.2.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to