L4linux: cpu and core [comprehension question]

Irvanda Kurniadi irvanda.k at gmail.com
Thu Apr 24 09:47:59 CEST 2014

Hi hackers,

I am a little bit confused about the term of cpu and core in l4linux. I
have a system with 8 processor intel xeon E5606 with 4 cores in each cpu.
I'm going to maximize it to become the maximum number of cores in all cpus.
But I am confused in determining the l4x_cpus that what is the term cpu in
here? Is it literally cpu or the number of threads that can be handled in
each core?

I run an openmp hello world apps over l4linux. I call the
omp_get_thread_num() and I got 4 threads in the result. Are these 4 threads
obtained from 4 cores in single cpu? So, if I'm right, how can I optimize
to use all of the cpu existed in the system? I've tried to use l4x_cpus=8
and l4x_cpus=32, but those commands doesn't work for me. In my opinion, if
I can maximize until the maximum number of cores and I have 32 threads that
run concurrently, then it will be served by each core in those 8 cpus.

In fiasco configuration, there is maximal supported number of CPUs. So
referring to my case, the maximum is supposed to be 8, am I right? In case
of thread migration in example ex_thread_migrate, I create 16 threads and
will be migrated to each cpu. Here is the result:
migrate | Migrated Thread00 -> CPU02
migrate | Migrated Thread01 -> CPU03
migrate | Migrated Thread02 -> CPU04
migrate | Migrated Thread03 -> CPU05
migrate | Migrated Thread04 -> CPU06
migrate | Migrated Thread05 -> CPU07
migrate | Migrated Thread06 -> CPU00
migrate | Migrated Thread07 -> CPU01
migrate | Migrated Thread08 -> CPU02
migrate | Migrated Thread09 -> CPU03
migrate | Migrated Thread10 -> CPU04
migrate | Migrated Thread11 -> CPU05
migrate | Migrated Thread12 -> CPU06
migrate | Migrated Thread13 -> CPU07
migrate | Migrated Thread14 -> CPU00
migrate | Migrated Thread15 -> CPU01

My question is do the thread00 and thread08 share the same core in CPU02 or
they use different core in CPU02 which run concurrently? And also, is it
normal to get the output like cpu[1] to cpu[7] goes to idle loop?


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20140424/22a6ae1a/attachment.html>

More information about the l4-hackers mailing list