From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH v3 3/6] sched: pack small tasks
Date: Wed, 27 Mar 2013 16:36:42 +0000 [thread overview]
Message-ID: <20130327163642.GA1136@localhost.cambridge.arm.com> (raw)
In-Reply-To: <1364393634.5053.71.camel@laptop>
On Wed, Mar 27, 2013 at 02:13:54PM +0000, Peter Zijlstra wrote:
> On Wed, 2013-03-27 at 11:18 +0000, Catalin Marinas wrote:
> > On Wed, Mar 27, 2013 at 09:00:20AM +0000, Peter Zijlstra wrote:
> > > On Wed, 2013-03-27 at 09:54 +0100, Vincent Guittot wrote:
> > > > It's not mandatory to have little cores on low numbers even if it's
> > > > advised
> > >
> > > ARGH!
> >
> > I haven't followed this thread closely, so just a random comment from
> > me. An argument from some is that they want to boot Linux on the big CPU
> > to be quicker. The most convenient is to have the big CPU at 0.
>
> I suppose that's almost sensible ;-) I just despair at the amount of
> variation that's allowed.
>
> I'm guessing that swapping cpus in the bootloader or someplace really
> early is equally hard in that we (Linux) assume we boot on cpu 0 or
> something like that?
I think it's worth trying (by changing the CPU topology in the DT). At a
quick look, I don't see anything hard-coded in the kernel boot sequence.
It uses smp_processor_id() which translates to
current_thread_info()->cpu on ARM. I'm not sure how early we need this
but it's probably after DT parsing, so we could set 'cpu' to a non-zero
value for the booting processor. There are a few tweaks in the arch/arm
code code with cpu_logical_map setup (which maps between
smp_processor_id and the actual hardware CPU id and assumes 0 is the
booting CPU).
So if the above works, the scheduler guys can mandate that little CPUs
are always first and for ARM it would be a matter of getting the right
CPU topology in the DT (independent of what hw vendors think of CPU
topology) and booting Linux on CPU 4 etc.
--
Catalin
next prev parent reply other threads:[~2013-03-27 16:36 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-22 12:25 [RFC PATCH v3 0/6] sched: packing small tasks Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 1/6] Revert "sched: Introduce temporary FAIR_GROUP_SCHED dependency for load-tracking" Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 2/6] sched: add a new SD_SHARE_POWERDOMAIN flag for sched_domain Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 3/6] sched: pack small tasks Vincent Guittot
2013-03-26 12:26 ` Peter Zijlstra
2013-03-27 10:21 ` Preeti U Murthy
2013-03-27 11:00 ` Vincent Guittot
2013-04-26 10:30 ` Peter Zijlstra
2013-04-26 11:34 ` Vincent Guittot
2013-04-26 10:18 ` Peter Zijlstra
2013-04-26 10:32 ` Preeti U Murthy
2013-03-26 12:37 ` Peter Zijlstra
2013-03-26 13:00 ` Vincent Guittot
2013-03-27 4:33 ` Preeti U Murthy
2013-03-27 4:48 ` Alex Shi
2013-03-27 8:51 ` Peter Zijlstra
2013-03-26 12:46 ` Peter Zijlstra
2013-03-26 13:53 ` Vincent Guittot
2013-03-26 15:29 ` Arjan van de Ven
2013-03-27 8:46 ` Peter Zijlstra
2013-03-27 8:54 ` Vincent Guittot
2013-03-27 9:00 ` Peter Zijlstra
2013-03-27 11:18 ` Catalin Marinas
2013-03-27 14:13 ` Peter Zijlstra
2013-03-27 16:36 ` Catalin Marinas [this message]
2013-03-27 17:18 ` Nicolas Pitre
2013-03-27 17:37 ` Catalin Marinas
2013-03-27 17:20 ` Vincent Guittot
2013-03-27 18:01 ` Catalin Marinas
2013-03-27 15:37 ` Nicolas Pitre
2013-03-22 12:25 ` [RFC PATCH v3 4/6] sched: secure access to other CPU statistics Vincent Guittot
2013-03-26 12:50 ` Peter Zijlstra
2013-03-26 13:06 ` Vincent Guittot
2013-03-22 12:25 ` [RFC PATCH v3 5/6] sched: pack the idle load balance Vincent Guittot
2013-03-26 12:52 ` Peter Zijlstra
2013-03-26 14:03 ` Vincent Guittot
2013-03-26 14:42 ` Peter Zijlstra
2013-03-26 15:55 ` Vincent Guittot
2013-03-27 4:56 ` Alex Shi
2013-03-27 8:05 ` Vincent Guittot
2013-03-27 8:47 ` Alex Shi
2013-03-27 10:30 ` Vincent Guittot
2013-03-27 13:32 ` Alex Shi
2013-03-27 8:49 ` Peter Zijlstra
2013-04-05 11:08 ` Vincent Guittot
2013-04-22 5:45 ` Preeti U Murthy
[not found] ` <CAKfTPtCCCifC=c+xjjnAH_HSqkR80PiQoddQKXPHuZwZawbvcA@mail.gmail.com>
2013-04-23 2:23 ` Alex Shi
2013-04-23 4:57 ` Preeti U Murthy
2013-04-23 15:30 ` Arjan van de Ven
2013-04-26 10:54 ` Peter Zijlstra
2013-04-23 4:36 ` Preeti U Murthy
2013-03-22 12:25 ` [RFC PATCH v3 6/6] ARM: sched: clear SD_SHARE_POWERDOMAIN Vincent Guittot
2013-03-23 11:55 ` [RFC PATCH v3 0/6] sched: packing small tasks Preeti U Murthy
2013-03-25 9:58 ` Vincent Guittot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20130327163642.GA1136@localhost.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).