comp.lang.ada
 help / color / mirror / Atom feed
From: Tucker Taft <stt@averstar.com>
Subject: Re: Ceiling Locking, Priority Inversion, etc
Date: 1999/06/21
Date: 1999-06-21T00:00:00+00:00	[thread overview]
Message-ID: <376E76C0.BF265DB5@averstar.com> (raw)
In-Reply-To: 376DE6E0.2C04@gecms.com.au

Graeme Perkes wrote:
> 
> I need to create protected objects within the one application
> that provide FIFO or priority queuing mode and prevention of
> priority inversion. These characteristics are only needed by
> particular protected objects within my application.
> 
> The difficulty is that I can't use the configuration pragmas
> QUEUEING_POLICY or CEILING_LOCKING to do this - unfortunately,
> these apply to the entire program and not individual instances of
> protected objects.
> 
> Are there any simple ways to achieve this with Ada95?

It should be possible to implement priority queueing explicitly, using
"requeue" and Get_Priority(E'Caller), if the run-time is providing 
FIFO queueing.  So if you make the partition use FIFO queueing in 
general, you could make individual protected objects use priority queueing.

As far as prevention of priority inversion, why wouldn't it
be OK for ceiling_locking to be partition wide?

> I'm using GNAT on Solaris.
> 
> Cheers,
> --
> Graeme Perkes                        GEC Marconi Systems Pty Limited
> mailto:graeme.perkes@gecms.com.au    40-52 Talavera Road, North Ryde
> Tel: +61 2 9855 8961                 NSW 2113 Australia
> Fax: +61 2 9855 8884

-- 
-Tucker Taft   stt@averstar.com   http://www.averstar.com/~stt/
Technical Director, Distributed IT Solutions  (www.averstar.com/tools)
AverStar (formerly Intermetrics, Inc.)   Burlington, MA  USA




      reply	other threads:[~1999-06-21  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-06-21  0:00 Ceiling Locking, Priority Inversion, etc Graeme Perkes
1999-06-21  0:00 ` Tucker Taft [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox