1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 <2007> 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: task priorities, busy cpu, and timeout |
From: | Andrew Johnson <[email protected]> |
To: | Dennis Nicklaus <[email protected]> |
Cc: | [email protected] |
Date: | Wed, 28 Feb 2007 16:18:41 -0600 |
We have a Motorola MVME 5500 CPU running Epics on VxWorks. It'sdoing some cpu-intensive computations and runs about 37% idle. Our problem is that this makes EPICS connectivity iffy, resulting in a timeout to a client doing a caget (for example) about 20% of the time.
A large fraction (about half) of the used cpu time is spent in the Epics cbLow task, processing genSub record routines which are processed based on an epics "event" scan field (posted at about 1Hz). (see spy output below)
Is there an existing document/web page describing the duties and relative priorities of the various Epics tasks somewhere? Which task(s) are responsible for responding to a CA Client (the CAS-client tasks, I'm guessing)?
Can I lower the priorty of the cbLow task (to below that of the CAS-client tasks) and still expect epics to work correctly?
Why do the genSub event-driven records get processed in cbLow? Is it because they are genSubs or because they are event-driven?
It's a relatively new system and re-designing our software in light of the cpu-usage is certainly possible, but we'd like to know more about the epics priorities and how exactly a client gets a channel access timeout before proceeding. We're running epics 3.14.8 on vxworks 6.1 if it makes any difference.
- Andrew -- The right to be heard does not automatically include the right to be taken seriously. -- Hubert H. Humphrey