On Thu, Mar 8, 2012 at 3:30 PM, Ronny Meeus <ronny.me...@gmail.com> wrote:
> Hello
>
> I'm are using the xenomai-forge pSOS skin (Mercury).
> My application is running on a P4040 (Freescale PPC with 4 cores).
> Some code snippets are put in this mail but the complete testcode is
> also attached.
>
> I have a test task that just consumes the CPU:
>
> int run_test = 1;
> static void perform_work(u_long counter,u_long b,u_long c,u_long d)
> {
>  int i;
>  while (run_test) {
>    for (i=0;i<100000;i++);
>    (*(unsigned long*)counter)++;
>  }
>  while (1) tm_wkafter(1000);
> }
>
> If I create 2 instances of this task with the T_SLICE option set:
>
>    t_create("WORK",10,0,0,0,&tid);
>    t_start(tid,T_TSLICE, perform_work, args);
>
>
> I see that only 1 task is consuming CPU.
>
> # taskset 1 ./roundrobin.exe &
> #    0"000.543| [main] SCHED_RT priorities => [1 .. 99]
>   0"000.656| [main] SCHED_RT.99 reserved for IRQ emulation
>   0"000.692| [main] SCHED_RT.98 reserved for scheduler-lock emulation
> 0 -> 6602
> 1 -> 0
>
> If I adapt the code so that I call in my init the threadobj_start_rr
> function, I see that the load is equally distributed over the 2
> threads:
>
> # taskset 1 ./roundrobin.exe &
> #    0"000.557| [main] SCHED_RT priorities => [1 .. 99]
>   0"000.672| [main] SCHED_RT.99 reserved for IRQ emulation
>   0"000.708| [main] SCHED_RT.98 reserved for scheduler-lock emulation
> 0 -> 3290
> 1 -> 3291
>
> Here are the questions:
> - why is the threadobj_start_rr function not called from the context
> of the init of the psos layer.
> - why is the roundrobin implemented in this way? If the tasks would be
> mapped on the SCHED_RR instead of the SCHED_FF the Linux scheduler
> would take care of this.
> On the other hand, once the threadobj_start_rr function is called from
> my init, and I create the tasks in T_NOTSLICE mode, the time-slicing
> is still done.
>
> Thanks.
>
> ---
> Ronny

Any comments on this?

---
Ronny

_______________________________________________
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core

Reply via email to