Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
<== Date ==> <== Thread ==>

Subject: Re: asynDriver / epicsTimer bug
From: Eric Norum <norume@aps.anl.gov>
To: Dirk Zimoch <dirk.zimoch@psi.ch>
Cc: TECHTALK Tech-Talk <tech-talk@aps.anl.gov>
Date: Wed, 31 May 2006 07:12:18 -0500
On May 31, 2006, at 4:27 AM, Dirk Zimoch wrote:

Hi all,

attached is a test program that can reproduce the problem. Since it uses sysClkRateGet(), it compiles only on vxWorks.

It calls pasynOctet->readRaw() once with pasynUser->timeout=1.1/sysClkRateGet() and once with pasynUser->timeout=1.0/sysClkRateGet().

In the first case, readRaw() returns asynTimeout, as expected. In the second case, readRaw() does not return.

I print the thread ID before calling readRaw(). When I do 'tt' on the thread ID, readRaw() suddenly returns asynTimeout. Very strange.

Hmm....
This sounds like a task starvation issue.  It appears that the read task is looping at a higher priority than the event timer callback task and so is preventing the callback from running.   My suspicion is that it's the vxWorks version of select() which is not rounding the timeout up to at least one tick.   If so, the problem will still be present in the latest version of ASYN. 


-- 

Eric Norum <norume@aps.anl.gov>

Advanced Photon Source                     

Argonne National Laboratory

(630) 252-4793





Replies:
Re: asynDriver / epicsTimer bug Dirk Zimoch
References:
asynDriver / epicsTimer bug Dirk Zimoch
Re: asynDriver / epicsTimer bug Dirk Zimoch

Navigate by Date:
Prev: Re: asynDriver / epicsTimer bug Eric Norum
Next: Re: asynDriver / epicsTimer bug Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
Navigate by Thread:
Prev: Re: asynDriver / epicsTimer bug Dirk Zimoch
Next: Re: asynDriver / epicsTimer bug Dirk Zimoch
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  <20062007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017 
ANJ, 02 Sep 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·