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;
}