EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

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

Subject: Re: channel access
From: Andrew Johnson <[email protected]>
To: "Coleman, Thomas A." <[email protected]>
Cc: "'[email protected]'" <[email protected]>
Date: Mon, 19 Nov 2001 14:53:53 -0600
"Coleman, Thomas A." wrote:
> 
> Any suggestions on where to look for this problem?
> "No Buffers"? What buffers are limited
> and how to I increase them?
> I'm running 3.13.5 on a 4MB 680x0 ioc.

I assume you're using Tornado 2.x.  Other sites running Tornado 2.0 should
be aware of this issue too if you're going to be connecting lots of CA
clients to your IOCs.

> 0x149bc8 (CA_online): ../online_notify.c: CA beacon error was
> "S_errno_ENOBUFS"

Run netStackSysPoolShow() and netStackDataPoolShow() on your IOC - you
should see that one or both of them show that it's been running out of
space.  When the network stack was replaced in Tornado 2.x they also
changed the method of allocating network buffers.  Previous versions would
allocate new buffers as needed up to a maximum MAX_MBUFS (see
usrNetwork.c), but the new stack has a series of two kinds of buffers of
various different sizes but which never increase - you fix their sizes at
compile time.  These are also configurable by editing usrNetwork.c, but
read the vxWorks Network Programmer's Guide first (section 4.6.3).

I am now using the following settings for APS IOCs, having increased the
sizes in both pools after some experience (Don't just Cut and Paste the
text below, I've omitted some lines from the usrNetwork.c file).

M_CL_CONFIG mClBlkConfig =
    {
    /*
    no. mBlks       no. clBlks          memArea         memSize
    -----------     ----------          -------         -------
    */
    1500,           1200,               NULL,           0
    };

CL_DESC clDescTbl [] =
    {
    /*
    clusterSize         num             memArea         memSize
    -----------         ----            -------         -------
    */
    {64,                250,            NULL,           0},
    {128,               800,            NULL,           0},
    {256,                75,            NULL,           0},
    {512,                25,            NULL,           0},
    {1024,               25,            NULL,           0},
    {2048,               25,            NULL,           0}
    };

M_CL_CONFIG sysMclBlkConfig =
    {
    /*
    no. mBlks       no. clBlks          memArea         memSize
    -----------     ----------          -------         -------
    */
    256*4*2,        256*4,              NULL,           0
    };

CL_DESC sysClDescTbl [] =
    {
    /*
    clusterSize         num             memArea         memSize
    -----------         ----            -------         -------
    */
    {64,                256,            NULL,           0},
    {128,               256,            NULL,           0},
    {256,               256,            NULL,           0},
    {512,               256,            NULL,           0},
    };

- Andrew
-- 
Perfection is reached, not when there is no longer anything to add,
but when there is no longer anything to take away.
- Antoine de Saint-Exupery


References:
RE: channel access Coleman, Thomas A.

Navigate by Date:
Prev: RE: channel access john sinclair
Next: RE: channel access Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: RE: channel access Coleman, Thomas A.
Next: RE: channel access Jeff Hill
Index: 1994  1995  1996  1997  1998  1999  2000  <20012002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 10 Aug 2010 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·