[lkml]   [2009]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCHSET tip/sched/core] sched: concurrency managed workqueue related sched patches
Hello, all.

This patchset contains sched patches necessary for concurrency managed
workqueue and is composed of two parts. The first four patches are to
be applied to sched/core and other than the implementation of
force_cpus_allowed(), it makes no functional changes. The purpose of
this part is to reduce unnecessary conflicts between ongoing scheduler
developements and the temporary scheduler notifiers updates added by
the next three patches.

The next three patches are to be applied to a separate branch. The
latter part adds sched_notifiers for wakeup and sleep and
try_to_wake_up_local() which can be called from those notifiers.
These changes are not acked by Ingo. For these changes to go
upstream, scheduler notifier framework needs to be unified and cleaned
up. However, merging these scheduler changes in a separate stable
branch which will only be pulled into linux-next and other testing
trees allows c-m-wq a stable base to be developed upon and tested.

This patchset contains the following patches.


0001 reverts the mis-fix to sched_in notifier. 0002 and 0003 rename
and move code around. These two patches either don't cause or cause
very minute difference in the final binary output. 0004 implements
force_cpus_allowed(). Although force_cpus_allowed() won't be used in
upstream yet, the implementation touches various parts of sched.c so I
think it's better to include it into upstream code earlier.

0005-0007 always enables sched_notifiers, add wakeup/sleep and
implement try_to_wake_up_local(). As said above, these three can live
in a separate branch which won't be pushed to upstream until sched
notifier framework is improved.

These patches are available in the following git trees.

First four:

git:// sched-core-for-ingo


git:// sched-wq-for-ingo

and contains the following changes.

First four:

arch/ia64/kvm/Kconfig | 2
arch/powerpc/kvm/Kconfig | 2
arch/s390/kvm/Kconfig | 2
arch/x86/kvm/Kconfig | 2
include/linux/kvm_host.h | 4
include/linux/preempt.h | 43 ------
include/linux/sched.h | 60 ++++++++-
init/Kconfig | 2
kernel/sched.c | 309 +++++++++++++++++++++++++----------------------
virt/kvm/kvm_main.c | 26 +--
10 files changed, 243 insertions(+), 209 deletions(-)


arch/ia64/kvm/Kconfig | 1
arch/powerpc/kvm/Kconfig | 1
arch/s390/kvm/Kconfig | 1
arch/x86/kvm/Kconfig | 1
include/linux/kvm_host.h | 2 -
include/linux/sched.h | 14 ++++----
init/Kconfig | 4 --
kernel/sched.c | 80 +++++++++++++++++++++++++++++++++++++----------
8 files changed, 72 insertions(+), 32 deletions(-)



 \ /
  Last update: 2009-12-02 04:59    [W:0.153 / U:2.288 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site