EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: epicsEvent (posix implementation) bug ?
From: "Jeff Hill" <[email protected]>
To: "'Eric Norum'" <[email protected]>, <[email protected]>
Cc: [email protected]
Date: Mon, 31 Jan 2011 10:09:31 -0700

Ø  Not sure about windows, but since priority inversion is a major issue only for

Ø  systems with strict priority-based scheduling I'm not sure that it's that big a

Ø  deal there anyhow.

 

So I can confirm that Windows does not support such options, and agree that this is probably because it isn’t that type of (strict priority scheduled) OS. I am going to guess that Windows CE also doesn’t allow for such options.

 

Perhaps the application developers guide should say something like this.

 

“Where possible and reasonably efficient the OS specific implementation of the event semaphore should select options which provide priority based queuing, but portable source codes who are consumers of the epicsEvent interface should not depend of this feature nor allow its absence to substantially change their run-time behavior.”

 

Jeff
______________________________________________________
Jeffrey O. Hill           Email       
[email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

 

Message content: TSPA

 

With sufficient thrust, pigs fly just fine. However, this is

not necessarily a good idea. It is hard to be sure where they

are going to land, and it could be dangerous sitting under them

as they fly overhead. -- RFC 1925

 

From: [email protected] [mailto:[email protected]] On Behalf Of Eric Norum
Sent: Monday, January 31, 2011 9:13 AM
To: [email protected]
Cc: EPICS Tech Talk
Subject: Re: epicsEvent (posix implementation) bug ?

 

Are you suggesting that we require priority-based queueing for multiple readers?  At the moment the appDevGuide does not specify this requirement, though as you point out, non-priority queueing can lead to priority inversion.  The current vxWorks and RTEMS implementations provide FIFO queueing but it would be a one-word change to get them provide priority queueing.  Not sure about windows, but since priority inversion is a major issue only for systems with strict priority-based scheduling I'm not sure that it's that big a deal there anyhow.

 

On Jan 31, 2011, at 1:16 AM, <[email protected]> wrote:



Removing the thread wakeup FIFO and sharing the wakeup event is
essential for correct scheduling behaviour otherwise a low priority
thread can block a high priority thread on a message queue read even
with priority inheritance enabled. EpicsEvent will also need patching to
enable PTHREAD_PRIO_INHERIT, the code is present in EpicsMutex but
EpicsEvent initializes a pthread_mutex directly. I'll nominate this as a
job for the codeathon.

 

-- 
Eric Norum
[email protected]

 


Replies:
Re: epicsEvent (posix implementation) bug ? Eric Norum
References:
epicsEvent (posix implementation) bug ? Till Straumann
RE: epicsEvent (posix implementation) bug ? james.rowland
Re: epicsEvent (posix implementation) bug ? Eric Norum

Navigate by Date:
Prev: Re: ca_create_channel memory management pthomas
Next: Re: epicsEvent (posix implementation) bug ? Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: epicsEvent (posix implementation) bug ? Eric Norum
Next: Re: epicsEvent (posix implementation) bug ? Eric Norum
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·