Message ID | 1401431772-14320-13-git-send-email-yuyang.du@intel.com (mailing list archive) |
---|---|
State | RFC, archived |
Headers | show |
On Fri, May 30, 2014 at 02:36:08PM +0800, Yuyang Du wrote: > In WAKE_AFFINE, we do not simply select idle, but bias wakee than waker > if the cc of the wakee and waker (in this order) is capable of handling > the wakee task > > Signed-off-by: Yuyang Du <yuyang.du@intel.com> > --- > kernel/sched/fair.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 0c188df..d40ec9e 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -4370,7 +4370,18 @@ static int select_idle_sibling(struct task_struct *p, int target) > struct sched_group *sg; > int i = task_cpu(p); > > - if (idle_cpu(target)) > + /* > + * we do not select idle, if the cc of the wakee and > + * waker (in this order) is capable of handling the wakee task > + */ > + if (sysctl_sched_cc_wakeup_threshold) { > + if (idle_cpu(i) || cpu_cc_capable(i)) > + return i; > + > + if (i != target && (idle_cpu(target) || cpu_cc_capable(target))) > + return target; > + } > + else if (idle_cpu(target)) > return target; > So now you make a function called: select_idle_sibling() explicitly not pick an idle cpu, and you don't think there's anything wrong with that?
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 0c188df..d40ec9e 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -4370,7 +4370,18 @@ static int select_idle_sibling(struct task_struct *p, int target) struct sched_group *sg; int i = task_cpu(p); - if (idle_cpu(target)) + /* + * we do not select idle, if the cc of the wakee and + * waker (in this order) is capable of handling the wakee task + */ + if (sysctl_sched_cc_wakeup_threshold) { + if (idle_cpu(i) || cpu_cc_capable(i)) + return i; + + if (i != target && (idle_cpu(target) || cpu_cc_capable(target))) + return target; + } + else if (idle_cpu(target)) return target; /*
In WAKE_AFFINE, we do not simply select idle, but bias wakee than waker if the cc of the wakee and waker (in this order) is capable of handling the wakee task Signed-off-by: Yuyang Du <yuyang.du@intel.com> --- kernel/sched/fair.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-)