Re: [RFC PATCH v3 3/5] sched: nominate preferred wakeup cpu

From: Vaidyanathan Srinivasan
Date: Tue Nov 11 2008 - 12:14:25 EST


* Gregory Haskins <gregory.haskins@xxxxxxxxx> [2008-11-11 09:07:58]:

> Peter Zijlstra wrote:
> > On Tue, 2008-11-11 at 00:03 +0530, Vaidyanathan Srinivasan wrote:
> >
> >> When the system utilisation is low and more cpus are idle,
> >> then the process waking up from sleep should prefer to
> >> wakeup an idle cpu from semi-idle cpu package (multi core
> >> package) rather than a completely idle cpu package which
> >> would waste power.
> >>
> >> Use the sched_mc balance logic in find_busiest_group() to
> >> nominate a preferred wakeup cpu.
> >>
> >> This info can be sored in appropriate sched_domain, but
> >> updating this info in all copies of sched_domain is not
> >> practical. For now lets try with a per-cpu variable
> >> pointing to a common storage in partition sched domain
> >> attribute. Global variable may not work in partitioned
> >> sched domain case.
> >>
> >
> > Would it make sense to place the preferred_wakeup_cpu stuff in the
> > root_domain structure we already have?
> >
>
> From the description, this is exactly what the root-domains were created
> to solve.
>
> Vaidyanathan, just declare your object in "struct root_domain" and
> initialize it in init_rootdomain() in kernel/sched.c, and then access it
> via rq->rd to take advantage of this infrastructure. It will
> automatically follow any partitioning that happens to be configured.

Yep, I agree. I will use root_domain for this purpose in the next
revision.

Thanks,
Vaidy
--
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/