Re: How to make task run on different cores?

Adam Lackorzynski <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.devel
Message-ID <[email protected]>
Hi,

On Mon Jun 10, 2013 at 23:05:53 +0800, Chao-Jui Chang wrote:
> I start up 4 L4Linux on intel core2quad platform. In jdb, I can see 4
> vmlinuz on the task list (command 's' in jdb).
> Next, I run 4 benchmarks, one in each L4Linux, but the experiment result
> shows that
> the 4 benchmark are running on the same core. The kernel seems not
> scheduling them
> to different cpu cores.

Yes, not on its own.

> I have enabled "Enable multi processor support" option in fiasco config
> menu and the
> jdb shows there are 4 cores:
> 
> *** Cut start ***
>     -----------------------------------------------------------------------
> 
>     CPU 0 [f000d2a0]: IRQ ENTRY
>     CPU 1 [f0022451]: Maskable Interrupt
>     CPU 2 [f0022451]: Maskable Interrupt
>     CPU 3 [f0022451]: Maskable Interrupt
> jdb: g
> *** Cut end ***
> 
> But the running benchmarks are not showing on the task list(command 's' in
> jdb), is it normal?
> I remember in ARM L4Linux, the task list will show 'vmlinuz', 'sh',
> 'benchmark', ...,etc.

Should be the same whether its x86 or arm, there's no difference in this
regard.

For core placement, add
scheduler = L4.Env.user_factory:create(L4.Proto.Scheduler, 0x18, 0x8, cpumask),
to the environment of L4Linux start call (also have a look at
l4/conf/examples/x86-fb.cfg). E.g. to place on core 2 make cpumask a 4,
and so on.



Adam
-- 
Adam                 [email protected]
  Lackorzynski         http://os.inf.tu-dresden.de/~adam/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.