Re: problem with performer priorities

New Message Reply Date view Thread view Subject view Author view

From: Marcin Romaszewicz (marcin++at++asmodean.engr.sgi.com)
Date: 01/31/2000 10:37:35


Hi Eylon,

What you're seeing is a problem with some of the libc functions that
performer uses. We're aware of this problem and we're working on fixing it
right now. Until we can find a workaround in performer, or get the libc
functions fixed, you shouldn't put two realtime processes on a single cpu.

I would suggest running compute at a normal (timeshare) priority, since
it's performance isn't critical to overall performance. That leaves 7
realtime processes and 6 cpu's, we need to find a way to reduce that. If
your two culls are cheap, isolate a CPU and put them both on it with a
timeshare priority. Since the cpu is isolated, no other processes will run
there, so your two culls will behave like they're realtime anyway. If you
can't put the culls on one cpu, try seeing if running app in a timeshare
priority is acceptable.

Also, in irix 6.5+, do not set the priority of any performer process
higher than 89. The priorities the os runs certain services at have
changed since irix 6.4 days. The priority bands look like this:

priorty description
-----------------------------------------------------------
255 Reserved c-a thread
240-254 Hard real time
200-239 Interrupt threads
110-199 Interactive real time
90-109 System daemons
0-89 Soft real time
(-1) Batch
(-3)-(-2) Timeshare
(-4) Batch
(-5) Weightless

So, your priority of 110 for the culls would run them above system
daemons, which can cause problems.

-- Marcin

On Mon, 31 Jan 2000, eylon wrote:

> hi performers
>
> I have 8 processes (3 * DRAW + 3 * CULL + APP + COMPUTE) running on 6
> cpu's.
> DRAW0, DRAW1, DRAW2 and CULL0 are running each one on its own cpu, CULL1
> and the COMPUTE are running on one cpu and so are CULL2 and APP.
> I tried to set CULL1 and CULL2 priority to 110 and all other priorities
> to 90.
> In order to lock the cpu's and set the priorities i used the functions
> from libpfutil/lockcpu.c.
>
> When using the old system call schedctl() it works fine except that it
> does not work on 6.5.
> On 6.5 when using the new system call sched_setscheduler(), a few
> seconds after the priorities where set the performer processes
> seem to enter some deadlock and they just stuck.
>
> I tried to change the priorities to be equal, to set the priorities
> without locking the cpu's, to change the scheduler
> policy to fifo and then to round-robin but nothing help
>
> does anyone familiar with the problem or has any idea what's going on
> here ???
>
> thanks in advance
>
> Eylon.
> -----------------------------------------------------------------------
> List Archives, FAQ, FTP: http://www.sgi.com/software/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
>


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Mon Jan 31 2000 - 10:37:40 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.