Re: [PATCH AUTOSEL 4.20 163/304] sched/topology: Add lowest CPU asymmetry sched_domain level pointer

From: Sasha Levin
Date: Mon Jan 28 2019 - 12:19:45 EST


On Mon, Jan 28, 2019 at 04:14:17PM +0000, Quentin Perret wrote:
Hi Sasha,

On Monday 28 Jan 2019 at 10:41:20 (-0500), Sasha Levin wrote:
From: Quentin Perret <quentin.perret@xxxxxxx>

[ Upstream commit 011b27bb5d3139e8b5fe9ceff1fc7f6dc3145071 ]

Add another member to the family of per-cpu sched_domain shortcut
pointers. This one, sd_asym_cpucapacity, points to the lowest level
at which the SD_ASYM_CPUCAPACITY flag is set. While at it, rename the
sd_asym shortcut to sd_asym_packing to avoid confusions.

Generally speaking, the largest opportunity to save energy via
scheduling comes from a smarter exploitation of heterogeneous platforms
(i.e. big.LITTLE). Consequently, the sd_asym_cpucapacity shortcut will
be used at first as the lowest domain where Energy-Aware Scheduling
(EAS) should be applied. For example, it is possible to apply EAS within
a socket on a multi-socket system, as long as each socket has an
asymmetric topology. Energy-aware cross-sockets wake-up balancing will
only happen when the system is over-utilized, or this_cpu and prev_cpu
are in different sockets.

Although I'm not really confident about the process for those AUTOSEL
patches, I think this one alone won't help anybody without the other ~10
EAS patches. And I assume you definitely don't want to mark those as
stable, so I'm not sure if this one is a good candidate either.

I'll drop it then, thanks for the heads-up.

On a side note, the best description I could find of AUTOSEL with a
5 min Google search is this: https://lwn.net/Articles/750057/
Do you have any pointers to a doc where I can read up about AUTOSEL ?

For written material, this is based on Julia Lawall's work:
https://soarsmu.github.io/papers/icse12-patch.pdf .

We did a talk last year which is more recent than the paper:
https://www.youtube.com/watch?v=KWholDv6-Rw .

--
Thanks,
Sasha