All of lore.kernel.org
 help / color / mirror / Atom feed
* sched: Question about big and little cores system with SMP and EAS
@ 2021-06-16 11:29 Ley Foon Tan
  2021-06-16 11:39 ` Peter Zijlstra
  0 siblings, 1 reply; 5+ messages in thread
From: Ley Foon Tan @ 2021-06-16 11:29 UTC (permalink / raw)
  To: Vincent Guittot, Ingo Molnar, Peter Zijlstra, Quentin Perret,
	Greg KH, Dietmar Eggemann
  Cc: linux-kernel

Hi all

Would like to ask the experts here regarding the Symmetric
Multi-Processing mode (SMP) with Energy aware scheduler (EAS) support
on the big + little cores system.

Hardware system:
Big and little cores have almost the same ISA, but the big core has
some extension instructions that little core doesn't have.

With this hardware system, is it still possible to use SMP with EAS?
Any suggestions supporting this kind of hardware system in Linux?

Thanks in advance.

Regards
Ley Foon

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sched: Question about big and little cores system with SMP and EAS
  2021-06-16 11:29 sched: Question about big and little cores system with SMP and EAS Ley Foon Tan
@ 2021-06-16 11:39 ` Peter Zijlstra
  2021-06-16 13:20   ` Dietmar Eggemann
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Zijlstra @ 2021-06-16 11:39 UTC (permalink / raw)
  To: Ley Foon Tan
  Cc: Vincent Guittot, Ingo Molnar, Quentin Perret, Greg KH,
	Dietmar Eggemann, linux-kernel

On Wed, Jun 16, 2021 at 07:29:26PM +0800, Ley Foon Tan wrote:
> Hi all
> 
> Would like to ask the experts here regarding the Symmetric
> Multi-Processing mode (SMP) with Energy aware scheduler (EAS) support
> on the big + little cores system.

And the you ask a question unrelated to either Symmetric MP or EAS :-)

> Hardware system:
> Big and little cores have almost the same ISA, but the big core has
> some extension instructions that little core doesn't have.

That problem is unrelated to big.Little / EAS, also by definition that
is not SMP seeing how the 'S' is a blatant lie.

The simplest solution is to simply disallow usage of the extended ISA
and force mandate the common subset. The complicated answer is something
along the lines of:

  https://lkml.kernel.org/r/20210608180313.11502-1-will@kernel.org

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sched: Question about big and little cores system with SMP and EAS
  2021-06-16 11:39 ` Peter Zijlstra
@ 2021-06-16 13:20   ` Dietmar Eggemann
  2021-06-17  5:00     ` Ley Foon Tan
  0 siblings, 1 reply; 5+ messages in thread
From: Dietmar Eggemann @ 2021-06-16 13:20 UTC (permalink / raw)
  To: Peter Zijlstra, Ley Foon Tan
  Cc: Vincent Guittot, Ingo Molnar, Greg KH, linux-kernel, Quentin Perret

- Quentin Perret <quentin.perret@arm.com>
+ Quentin Perret <qperret@google.com>

On 16/06/2021 13:39, Peter Zijlstra wrote:
> On Wed, Jun 16, 2021 at 07:29:26PM +0800, Ley Foon Tan wrote:
>> Hi all
>>
>> Would like to ask the experts here regarding the Symmetric
>> Multi-Processing mode (SMP) with Energy aware scheduler (EAS) support
>> on the big + little cores system.
> 
> And the you ask a question unrelated to either Symmetric MP or EAS :-)
> 
>> Hardware system:
>> Big and little cores have almost the same ISA, but the big core has
>> some extension instructions that little core doesn't have.
> 
> That problem is unrelated to big.Little / EAS, also by definition that
> is not SMP seeing how the 'S' is a blatant lie.
> 
> The simplest solution is to simply disallow usage of the extended ISA
> and force mandate the common subset. The complicated answer is something
> along the lines of:
> 
>   https://lkml.kernel.org/r/20210608180313.11502-1-will@kernel.org

We don't encourage asymmetric ISA extensions for EAS*/CAS** on
big.Little systems.
It would be simply a nightmare to schedule tasks on such systems.

The exception to this is the 'asymmetric 32-bit Soc' to support 32bit
legacy Apps. The nightmare for scheduling is reduced in this case to CPU
affinity, something the task scheduler has to live with already today.
(+ DL admission control for 32bit tasks).

*  Documentation/scheduler/sched-energy.rst
** Documentation/scheduler/sched-capacity.rst

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sched: Question about big and little cores system with SMP and EAS
  2021-06-16 13:20   ` Dietmar Eggemann
@ 2021-06-17  5:00     ` Ley Foon Tan
  2021-06-17  7:51       ` Morten Rasmussen
  0 siblings, 1 reply; 5+ messages in thread
From: Ley Foon Tan @ 2021-06-17  5:00 UTC (permalink / raw)
  To: Dietmar Eggemann
  Cc: Peter Zijlstra, Vincent Guittot, Ingo Molnar, Greg KH,
	linux-kernel, Quentin Perret

On Wed, Jun 16, 2021 at 9:20 PM Dietmar Eggemann
<dietmar.eggemann@arm.com> wrote:
>
> - Quentin Perret <quentin.perret@arm.com>
> + Quentin Perret <qperret@google.com>
>
> On 16/06/2021 13:39, Peter Zijlstra wrote:
> > On Wed, Jun 16, 2021 at 07:29:26PM +0800, Ley Foon Tan wrote:
> >> Hi all
> >>
> >> Would like to ask the experts here regarding the Symmetric
> >> Multi-Processing mode (SMP) with Energy aware scheduler (EAS) support
> >> on the big + little cores system.
> >
> > And the you ask a question unrelated to either Symmetric MP or EAS :-)
> >
> >> Hardware system:
> >> Big and little cores have almost the same ISA, but the big core has
> >> some extension instructions that little core doesn't have.
> >
> > That problem is unrelated to big.Little / EAS, also by definition that
> > is not SMP seeing how the 'S' is a blatant lie.
> >
> > The simplest solution is to simply disallow usage of the extended ISA
> > and force mandate the common subset. The complicated answer is something
> > along the lines of:
> >
> >   https://lkml.kernel.org/r/20210608180313.11502-1-will@kernel.org
>
> We don't encourage asymmetric ISA extensions for EAS*/CAS** on
> big.Little systems.
> It would be simply a nightmare to schedule tasks on such systems.
>
> The exception to this is the 'asymmetric 32-bit Soc' to support 32bit
> legacy Apps. The nightmare for scheduling is reduced in this case to CPU
> affinity, something the task scheduler has to live with already today.
> (+ DL admission control for 32bit tasks).
>
> *  Documentation/scheduler/sched-energy.rst
> ** Documentation/scheduler/sched-capacity.rst

Thanks for the reply.
Yes, forsee it is very complicated and nightmare for software to
support for SMP mode but HW is not real "symmetric".
That's why post the question here to ask the advice and comment from
experts here. So that can feedback to HW team.
Asymmetric extension instructions issue should more complicated than
asymmetric 32-bit app support, it can happen in all the areas (kernel,
app, library and etc).

Thanks!

Regards
Ley Foon

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: sched: Question about big and little cores system with SMP and EAS
  2021-06-17  5:00     ` Ley Foon Tan
@ 2021-06-17  7:51       ` Morten Rasmussen
  0 siblings, 0 replies; 5+ messages in thread
From: Morten Rasmussen @ 2021-06-17  7:51 UTC (permalink / raw)
  To: Ley Foon Tan
  Cc: Dietmar Eggemann, Peter Zijlstra, Vincent Guittot, Ingo Molnar,
	Greg KH, linux-kernel, Quentin Perret

On Thu, Jun 17, 2021 at 01:00:12PM +0800, Ley Foon Tan wrote:
> On Wed, Jun 16, 2021 at 9:20 PM Dietmar Eggemann
> <dietmar.eggemann@arm.com> wrote:
> >
> > - Quentin Perret <quentin.perret@arm.com>
> > + Quentin Perret <qperret@google.com>
> >
> > On 16/06/2021 13:39, Peter Zijlstra wrote:
> > > On Wed, Jun 16, 2021 at 07:29:26PM +0800, Ley Foon Tan wrote:
> > >> Hi all
> > >>
> > >> Would like to ask the experts here regarding the Symmetric
> > >> Multi-Processing mode (SMP) with Energy aware scheduler (EAS) support
> > >> on the big + little cores system.
> > >
> > > And the you ask a question unrelated to either Symmetric MP or EAS :-)
> > >
> > >> Hardware system:
> > >> Big and little cores have almost the same ISA, but the big core has
> > >> some extension instructions that little core doesn't have.
> > >
> > > That problem is unrelated to big.Little / EAS, also by definition that
> > > is not SMP seeing how the 'S' is a blatant lie.
> > >
> > > The simplest solution is to simply disallow usage of the extended ISA
> > > and force mandate the common subset. The complicated answer is something
> > > along the lines of:
> > >
> > >   https://lkml.kernel.org/r/20210608180313.11502-1-will@kernel.org
> >
> > We don't encourage asymmetric ISA extensions for EAS*/CAS** on
> > big.Little systems.
> > It would be simply a nightmare to schedule tasks on such systems.
> >
> > The exception to this is the 'asymmetric 32-bit Soc' to support 32bit
> > legacy Apps. The nightmare for scheduling is reduced in this case to CPU
> > affinity, something the task scheduler has to live with already today.
> > (+ DL admission control for 32bit tasks).
> >
> > *  Documentation/scheduler/sched-energy.rst
> > ** Documentation/scheduler/sched-capacity.rst
> 
> Thanks for the reply.
> Yes, forsee it is very complicated and nightmare for software to
> support for SMP mode but HW is not real "symmetric".
> That's why post the question here to ask the advice and comment from
> experts here. So that can feedback to HW team.
> Asymmetric extension instructions issue should more complicated than
> asymmetric 32-bit app support, it can happen in all the areas (kernel,
> app, library and etc).

Indeed. Detecting what extensions a task might use difficult, if not
impossible. Also, we certainly don't want to end up in situation where
the CPU subsets supporting two extensions are disjoint and a task
requires both extensions.

Morten

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-06-17  7:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-16 11:29 sched: Question about big and little cores system with SMP and EAS Ley Foon Tan
2021-06-16 11:39 ` Peter Zijlstra
2021-06-16 13:20   ` Dietmar Eggemann
2021-06-17  5:00     ` Ley Foon Tan
2021-06-17  7:51       ` Morten Rasmussen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.