[PATCH] ARM: multi_v7_defconfig: major refresh

Nicolas Pitre
2014-08-08T18:17:53Z

On Fri, 8 Aug 2014, Kevin Hilman wrote:

> Olof Johansson <olof@lixom.net> writes:
>
> > On Fri, Aug 1, 2014 at 4:01 AM, Jon Medhurst (Tixy) <tixy@linaro.org> wrote:
> >> On Fri, 2014-08-01 at 11:26 +0100, Sudeep Holla wrote:
> >>>
> >>> On 22/07/14 19:01, Olof Johansson wrote:
> >>> > This is a major refresh of the multi_v7_defconfig:
> >>> >
> >>> > - Bring over a bunch of Samsung drivers to make ODROID-U3 and Chromebooks usable
> >>> > * Enable big.LITTLE
> >>> > * MCPM
> >>> [...]
> >>
> >>> > +CONFIG_BIG_LITTLE=y
> >>> > +CONFIG_BL_SWITCHER=y
> >>>
> >>> IIUC, this will enable switcher code by default. I am not sure if this
> >>> is intentional ? E.g.: After this I can have only 2 active cpus instead
> >>> of 5 on my Vexpress TC2 platform.
> >>>
> >>> IMO we can keep this enabled by default in the build, but disabled
> >>> by default on boot.
> >>
> >> TC2 has a big.LITTLE processor and the switcher is the only mainlined
> >> way of making any kind of proper use of big.LITTLE, so why not have it
> >> enabled by default?
> >
> > +1.
> >
>
> I disagree.
>
> The bL switcher is a stopgap used on products (which have their own
> defconfigs anyways) but upstream development is focused on HMP (or
> whatever the current buzzword is for the kernel directly scheduling both
> big and little cores.)
>
> So IMO, for upstream coverage, we should *not* be enabling the switcher
> but should be letting the scheduler directly manage all CPUs.

I agree... in principle. In practice the upstream scheduler has no
notion of asymmetric processing yet, and probably still for a while to
come. Once the scheduler does a semi-descent job at it then the
switcher should default to being disabled.

> At least on Exynos, with MCPM support merged, the kernel can boot up all
> the CPUs and directly manage them.

"Managing" them is still somewhat overstated. Yes, the scheduler does
_see_ them but it still can't manage them properly. At best you'll get
somewhat random system performance, at worst it'll be completely
inefficient. In most cases the switcher will give you much better
behavior for the time being.

Nicolas