On Thu, Apr 25, 2013 at 07:23:23PM +0200, Vincent Guittot wrote: > According to the packing policy, the scheduler can pack tasks at different > step: > -SCHED_PACKING_NONE level: we don't pack any task. > -SCHED_PACKING_DEFAULT: we only pack small tasks at wake up when system is not > busy. > -SCHED_PACKING_FULL: we pack tasks at wake up until a CPU becomes full. During > a fork or a exec, we assume that the new task is a full running one and we > look for an idle CPU close to the buddy CPU.
This changelog is very short on explaining how it will go about achieving these goals. > Signed-off-by: Vincent Guittot <[email protected]> > --- > kernel/sched/fair.c | 47 ++++++++++++++++++++++++++++++++++++++++++----- > 1 file changed, 42 insertions(+), 5 deletions(-) > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > index 98166aa..874f330 100644 > --- a/kernel/sched/fair.c > +++ b/kernel/sched/fair.c > @@ -3259,13 +3259,16 @@ static struct sched_group * > find_idlest_group(struct sched_domain *sd, struct task_struct *p, So for packing into power domains, wouldn't you typically pick the busiest non- full domain to fill from other non-full? Picking the idlest non-full seems like it would generate a ping-pong or not actually pack anything. -- 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/

