Re: [PATCH v9 08/10] sched: replace capacity_factor by usage

From: Morten Rasmussen
Date: Mon Nov 24 2014 - 12:15:48 EST


On Mon, Nov 24, 2014 at 02:41:28PM +0000, Vincent Guittot wrote:
> On 21 November 2014 at 13:37, Morten Rasmussen <morten.rasmussen@xxxxxxx> wrote:
> > On Mon, Nov 03, 2014 at 04:54:45PM +0000, Vincent Guittot wrote:
>
> [snip]
>
> >> */
> >> if (prefer_sibling && sds->local &&
> >> - sds->local_stat.group_has_free_capacity)
> >> - sgs->group_capacity_factor = min(sgs->group_capacity_factor, 1U);
> >> + group_has_capacity(env, &sds->local_stat) &&
> >> + (sgs->sum_nr_running > 1)) {
> >> + sgs->group_no_capacity = 1;
> >> + sgs->group_type = group_overloaded;
> >> + }
> >
> > I'm still a bit confused about SD_PREFER_SIBLING. What is the flag
> > supposed to do and why?
>
> The goal is to spread tasks across the group even if the the latter is
> not overloaded. for SMT level, the goal is to have 1 task per core
> before 1 task per HW thread

That makes more sense and is in line with how I understand SMT
scheduling. So we try to have at least one task per group. Where each
group is a domain with SD_PREFER_SIBLING.

Anyway, you don't change the prefer-sibling behaviour in this patch set.
I was just wondering how it would work for SMT balancing.

Thanks,
Morten
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/