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/