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  <20092010  2011  2012  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  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: DEC driver DMA Underflow
From: "Mark Rivers" <[email protected]>
To: "Matt Rippa" <[email protected]>, <[email protected]>
Date: Wed, 25 Nov 2009 15:23:15 -0600
I don't know upgrading to 3.14.x will fix that, I have had problems that
sound similar on MVME2700 on 3.14.8.2 and 3.14.10.  But I don't recall
seeing the DMA underflow message. The network goes belly up and cannot
recover, though everything else looks OK.  Andrew Johnson made a change
to the BSP recently that he though might address the issue, but I have
not tested it.  On the other hand this has not happened for many months
now.  Sometimes it happened every week.

Mark


-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Matt Rippa
Sent: Wednesday, November 25, 2009 2:24 PM
To: [email protected]
Subject: DEC driver DMA Underflow

Hello -

We're running an IOC on a MVME2700 board with VxWorks5.5 and 
EPICS 3.13.9. Yesterday we logged a DMA underflow event from the 
network which resulted in a restart of the driver. CA couldn't 
survive and we quickly had S_errno_ENOBUFS. We had to reboot to 
recover.

Does the DMA underflow indicate a bus error? Is CA designed to 
survive such an event? Short of upgrading to EPICS 3.14.x is 
there anything that can be done to prevent this?

Thanks,
-Matt



Here's some relevant code from the end driver:

/* restart if DMA underflow is detected */

if (pTxD->tDesc0 & PCISWAP(TDESC0_UF))
{
  LOG_MSG ("%s%d - fatal DMA underflow\n",
  (int) DRV_NAME, pDrvCtrl->unit, 0, 0, 0, 0);

   dec21x4xStop (pDrvCtrl);
   pDrvCtrl->txCleaning = FALSE;
   netJobAdd ((FUNCPTR)dec21x4xRestart, (int)pDrvCtrl, 0, 0, 0, 0);
   return;
}



Replies:
Re: DEC driver DMA Underflow Matt Rippa
Re: DEC driver DMA Underflow Andrew Johnson
References:
DEC driver DMA Underflow Matt Rippa

Navigate by Date:
Prev: DEC driver DMA Underflow Matt Rippa
Next: RE: DEC driver DMA Underflow Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: DEC driver DMA Underflow Matt Rippa
Next: Re: DEC driver DMA Underflow Matt Rippa
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  <20092010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 31 Jan 2014 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·