Messages in this thread | | | Date | Wed, 19 Nov 2014 11:24:51 -0500 | From | Steven Rostedt <> | Subject | Re: [PATCH v2 3/4] sched/deadline: add the "set_flag" argument to cpudl_find() |
| |
On Wed, 19 Nov 2014 23:46:21 +0800 "pang.xunlei" <pang.xunlei@linaro.org> wrote:
> The call site of cpudl_find() in check_preempt_equal_dl() doesn't > use later_mask, so add this extra argument to distinquish the case. > > Signed-off-by: pang.xunlei <pang.xunlei@linaro.org> > --- > kernel/sched/cpudeadline.c | 6 ++++-- > kernel/sched/cpudeadline.h | 2 +- > kernel/sched/deadline.c | 6 +++--- > 3 files changed, 8 insertions(+), 6 deletions(-) > > diff --git a/kernel/sched/cpudeadline.c b/kernel/sched/cpudeadline.c > index c01b3aa..3047846 100644 > --- a/kernel/sched/cpudeadline.c > +++ b/kernel/sched/cpudeadline.c > @@ -98,11 +98,12 @@ static inline int cpudl_maximum(struct cpudl *cp) > * @cp: the cpudl max-heap context > * @p: the task > * @later_mask: a mask to fill in with the selected CPUs (not NULL) > + * @set_flag: indicate if later_mask should be set > * > * Returns: int - best CPU (heap maximum if suitable) > */ > int cpudl_find(struct cpudl *cp, struct task_struct *p, > - struct cpumask *later_mask) > + struct cpumask *later_mask, int set_flag)
set_flag should be a bool type.
> { > int best_cpu = -1; > const struct sched_dl_entity *dl_se = &p->dl; > @@ -114,7 +115,8 @@ int cpudl_find(struct cpudl *cp, struct task_struct *p, > } else if (cpumask_test_cpu(cpudl_maximum(cp), &p->cpus_allowed) && > dl_time_before(dl_se->deadline, cp->elements[0].dl)) { > best_cpu = cpudl_maximum(cp); > - cpumask_set_cpu(best_cpu, later_mask); > + if (set_flag) > + cpumask_set_cpu(best_cpu, later_mask);
I'm not sure this is worth it. cpumask_set_cpu() is rather efficient.
> } > > out:
| |