[git pull] scheduler updates for v2.6.24

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Linus, please pull the latest scheduler git tree from:

   git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-sched.git

It contains lots of scheduler updates from lots of people - hopefully 
the last big one for quite some time. Most of the focus was on 
performance (both micro-performance and scalability/balancing), but 
there's the fair-scheduling feature now Kconfig selectable too. Find the 
shortlog below.

Code that is touched outside of the scheduler: the KVM bits were acked 
by Avi, the net/unix change is trivial and only affects sync wakeups, 
ditto the fs/pipe.c changes - but i can push those separately if it 
needs an ack from David first.

ABI/API changes:

 - new CONFIG_FAIR_USER_SCHED and /sys/kernel/uids/ + uevent API.
 - /proc/stat and /proc/<pid>/stat changes for guest-CPU usage [KVM]
 - /proc/sched_debug formats changed/enhanced

Testing status: the changes are chronological and all the 
interactivity-impacting changes are near the head of the queue and most 
of them were done weeks ago, and were thus part of the CFS-v22 backport 
series - which was tested by many people. There are no known regressions 
at the moment. It's all fully bisectable.

Thanks,

	Ingo

------------------>
Alexey Dobriyan (1):
      sched: uninline scheduler

Andi Kleen (4):
      sched: cleanup: remove unnecessary gotos
      sched: cleanup: refactor common code of sleep_on / wait_for_completion
      sched: cleanup: refactor normalize_rt_tasks
      sched: remove stale comment from sched_group_set_shares()

Arjan van de Ven (1):
      Make scheduler debug file operations const

Dhaval Giani (1):
      sched: group scheduling, sysfs tunables

Dmitry Adamushko (14):
      sched: clean up struct load_stat
      sched: clean up schedstat block in dequeue_entity()
      sched: sched_setscheduler() fix
      sched: add set_curr_task() calls
      sched: do not keep current in the tree and get rid of sched_entity::fair_key
      sched: optimize task_new_fair()
      sched: simplify sched_class::yield_task()
      sched: rework enqueue/dequeue_entity() to get rid of set_curr_task()
      sched: yield fix
      sched: fix __pick_next_entity()
      sched: tidy up SCHED_RR
      sched: cleanup, remove calc_weighted()
      sched: cleanup, make dequeue_entity() and update_stats_wait_end() similar
      sched: fix group scheduling for SCHED_BATCH

Gautham R Shenoy (1):
      sched: fix rt ptracer monopolizing CPU

Hiroshi Shimamoto (1):
      sched: clean up sched_fork()

Ingo Molnar (71):
      sched: fix sysctl_sched_child_runs_first flag
      sched: resched task in task_new_fair()
      sched: small sched_debug cleanup
      sched: debug: track maximum 'slice'
      sched: uniform tunings
      sched: use constants if !CONFIG_SCHED_DEBUG
      sched: remove stat_gran
      sched: remove precise CPU load
      sched: remove precise CPU load calculations #2
      sched: track cfs_rq->curr on !group-scheduling too
      sched: cleanup: simplify cfs_rq_curr() methods
      sched: uninline __enqueue_entity()/__dequeue_entity()
      sched: speed up update_load_add/_sub()
      sched: clean up calc_weighted()
      sched: introduce se->vruntime
      sched: move sched_feat() definitions
      sched: optimize vruntime based scheduling
      sched: simplify check_preempt() methods
      sched: wakeup granularity increase
      sched: add se->vruntime debugging
      sched: remove SCHED_FEAT_SKIP_INITIAL
      sched: add more vruntime statistics
      sched: debug: update exec_clock only when SCHED_DEBUG
      sched: remove wait_runtime limit
      sched: remove wait_runtime fields and features
      sched: x86: allow single-depth wchan output
      sched: fix delay accounting performance regression
      sched: prettify /proc/sched_debug output
      sched: enhance debug output
      sched: kernel/sched_fair.c whitespace cleanups
      sched: fair-group sched, cleanups
      sched: enable CONFIG_FAIR_GROUP_SCHED=y by default
      sched debug: BKL usage statistics
      sched: remove unneeded tunables
      sched debug: print settings
      sched debug: more width for parameter printouts
      sched: entity_key() fix
      sched: remove condition from set_task_cpu()
      sched: remove last_min_vruntime effect
      sched: undo some of the recent changes
      sched: fix sign check error in place_entity()
      sched: fix sched_fork()
      sched: remove set_leftmost()
      sched: clean up schedstats, cnt -> count
      sched: cleanup, remove stale comment
      sched: mark scheduling classes as const
      sched: whitespace cleanups
      sched: vslice fixups for non-0 nice levels
      sched: optimize schedule() a bit on SMP
      sched: tweak wakeup granularity
      sched: run sched_domain_debug() if CONFIG_SCHED_DEBUG=y
      sched: break out if printing a warning in sched_domain_debug()
      sched: style cleanup
      sched: kfree(NULL) is valid
      sched: cleanup: rename SCHED_FEAT_USE_TREE_AVG to SCHED_FEAT_TREE_AVG
      sched: cleanup: rename task_grp to task_group
      sched: cleanup: function prototype cleanups
      sched: fix: move the CPU check into ->task_new_fair()
      sched: update comment
      sched: clean up is_migration_thread()
      sched: do not normalize kernel threads via SysRq-N
      sched: do not wakeup-preempt with SCHED_BATCH tasks
      sched: speed up context-switches a bit
      sched: reintroduce cache-hot affinity
      sched: debug: increase width of debug line
      sched: debug, improve migration statistics
      sched: allow the immediate migration of cache-cold tasks
      sched: reintroduce topology.h tunings
      sched: enable wake-idle on CONFIG_SCHED_MC=y
      sched: affine sync wakeups
      sched: sync wakeups preempt too

Laurent Vivier (4):
      sched: guest CPU accounting: add guest-CPU /proc/stat field
      sched: guest CPU accounting: add guest-CPU /proc/<pid>/stat fields
      sched: guest CPU accounting: maintain stats in account_system_time()
      sched: guest CPU accounting: maintain guest state in KVM

Matthias Kaehlcke (1):
      sched: use list_for_each_entry_safe() in __wake_up_common()

Mike Galbraith (4):
      sched: fix SMP migration latencies
      sched: fix formatting of /proc/sched_debug
      sched: cleanup, remove the TASK_NONINTERACTIVE flag
      sched: prevent wakeup over-scheduling

Milton Miller (5):
      sched: domain sysctl fixes: use kcalloc()
      sched: domain sysctl fixes: use for_each_online_cpu()
      sched: domain sysctl fixes: unregister the sysctl table before domains
      sched: domain sysctl fixes: do not crash on allocation failure
      sched: domain sysctl fixes: add terminator comment

Paul E. McKenney (1):
      sched: export cpu_clock()

Peter Williams (2):
      sched: reduce balance-tasks overhead
      sched: isolate SMP balancing code a bit more

Peter Zijlstra (16):
      sched: simplify SCHED_FEAT_* code
      sched: new task placement for vruntime
      sched: simplify adaptive latency
      sched: clean up new task placement
      sched: add tree based averages
      sched: handle vruntime 64-bit overflow
      sched: better min_vruntime tracking
      sched: add vslice
      sched debug: check spread
      sched: max_vruntime() simplification
      sched: clean up min_vruntime use
      sched: speed up and simplify vslice calculations
      sched: another wakeup_granularity fix
      sched: disable sleeper_fairness on SCHED_BATCH
      sched: disable forced preemption by default
      sched: activate task_hot() only on fair-scheduled tasks

S.Caglar Onur (1):
      sched debug: BKL usage statistics, fix

Srivatsa Vaddagiri (13):
      sched: group-scheduler core
      sched: revert recent removal of set_curr_task()
      sched: fix minor bug in yield
      sched: print nr_running and load in /proc/sched_debug
      sched: print &rq->cfs stats
      sched: clean up code under CONFIG_FAIR_GROUP_SCHED
      sched: add fair-user scheduler
      sched: group scheduler wakeup latency fix
      sched: group scheduler SMP migration fix
      sched: group scheduler, fix coding style issues
      sched: group scheduler, fix bloat
      sched: group scheduler, fix latency
      sched: generate uevents for user creation/destruction

Zou Nan hai (1):
      sched: some proc entries are missed in sched_domain sys_ctl debug code

 Documentation/sched-design-CFS.txt |   67 +
 arch/i386/Kconfig                  |   11 
 drivers/kvm/kvm.h                  |   10 
 drivers/kvm/kvm_main.c             |    2 
 fs/pipe.c                          |    9 
 fs/proc/array.c                    |   17 
 fs/proc/base.c                     |    2 
 fs/proc/proc_misc.c                |   15 
 include/linux/kernel_stat.h        |    1 
 include/linux/sched.h              |  108 +-
 include/linux/topology.h           |    5 
 init/Kconfig                       |   21 
 kernel/delayacct.c                 |    2 
 kernel/exit.c                      |    6 
 kernel/fork.c                      |    3 
 kernel/ksysfs.c                    |    8 
 kernel/sched.c                     | 1526 +++++++++++++++++++++----------------
 kernel/sched_debug.c               |  282 ++++--
 kernel/sched_fair.c                |  859 ++++++++------------
 kernel/sched_idletask.c            |   26 
 kernel/sched_rt.c                  |   51 -
 kernel/sched_stats.h               |   28 
 kernel/sysctl.c                    |   37 
 kernel/user.c                      |  249 +++++-
 net/unix/af_unix.c                 |    4 
 25 files changed, 1998 insertions(+), 1351 deletions(-)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux