From: sjw <simon.j.wright@mac.com>
Subject: Re: Task Priorities on Ubuntu Linux
Date: Wed, 9 Dec 2009 13:20:30 -0800 (PST)
Date: 2009-12-09T13:20:30-08:00 [thread overview]
Message-ID: <dcade4ed-6b35-4e23-9659-10a3948652a3@g26g2000yqe.googlegroups.com> (raw)
In-Reply-To: f38162c7-8a5b-49c4-b6a8-010f0d64e290@9g2000yqa.googlegroups.com
On Dec 9, 2:34 pm, singo <sander.i...@gmail.com> wrote:
> Hi,
>
> Another question on the real-time annex and its implementation in
> gnat-4.3 (Ubuntu Linux).
>
> When I use different task priorities I get an - at least for me -
> unexpected behavior... I have defined 10 tasks with different
> priority. When I run my program, I expect only one task per processor
> (this means four on my quad-core machine) to run. However,
> unexpectedly all 10 tasks are run on my machine.
>
> Is this because the tasks are mapped on the underlying OS (here
> Linux), which then instead schedules the tasks of different priority
> with some kind of time-slicing (round-robin) approach? I would
> appreciate some clarification in this matter.
>
> Best regards
>
> Ingo
>
> P.S: Here comes my example program:
>
> pragma Task_Dispatching_Policy(FIFO_Within_Priorities);
> pragma Queuing_Policy(Priority_Queuing);
>
> with Ada.Text_IO;
> use Ada.Text_IO;
>
> with Ada.Real_Time;
> use Ada.Real_Time;
>
> procedure TaskPriorities is
>
> task type T(Id: Integer) is
> pragma Priority(Id);
> end;
>
> task body T is
> begin
> loop
> Put(Integer'Image(Id));
> end loop;
> end T;
>
> Task10 : T(11);
> Task9 : T(12);
> Task8 : T(13);
> Task7 : T(14);
> Task6 : T(15);
> Task5 : T(16);
> Task4 : T(17);
> Task3 : T(18);
> Task2 : T(19);
> Task1 : T(20);
>
> begin
> null;
> end TaskPriorities;
It used to be that on Linux you would have to run as root for
specified priorities to be respected.
FWIW, on Mac OS X Dmitry's program behaves much the same as an
ordinary user and as root: variously,
$ ./taskpriorities
11 13 12 15 14 18 17 20 19^C
$ ./taskpriorities
19 20 18 16 14^C
$ ./taskpriorities
19 20 18 17^C
$ sudo ./taskpriorities
Password:
19 20 18 16 14^C
next prev parent reply other threads:[~2009-12-09 21:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-09 14:34 Task Priorities on Ubuntu Linux singo
2009-12-09 15:10 ` Dmitry A. Kazakov
2009-12-09 21:20 ` sjw [this message]
2009-12-10 8:27 ` singo
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox