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  2009  2010  <20112012  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  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: RE: no space in pool for a new client (below max block thresh) in EPICS R3.14.12
From: "Jeff Hill" <[email protected]>
To: "'Ernest L. Williams Jr.'" <[email protected]>
Cc: "'Eric Norum'" <[email protected]>, [email protected]
Date: Fri, 11 Feb 2011 12:17:22 -0700
> I have the following running under ...
>
> vxWorks 6.8:
> Intel Dual Core 

You must be one of the first sites running EPICS on the new symmetric
multiprocessing (SMP) vxWorks!

One can guess that another core has accessed osdMaxBlockSize, which is
initialized to zero, in its cache before osdSufficentSpaceInPoolInit has
finished. The following statement in osiSufficentSpaceInPool is supposed to
prevent that situation from happening.

epicsThreadOnce ( &osdMaxBlockOnceler, osdSufficentSpaceInPoolInit, 0 );

A quick look at the implementation of epicsThreadOnce on vxWorks does not
reveal any flaws related to its working correctly on an SMP vxWorks OS. What
version of EPICS are you running on this system? I seem to recall that there
is a patch against R3.14.11 which fixes the implementation of
epicsThreadOnce.

> Must I throw the  "-mlong"  flag?
> I thought that was only for the PowerPC architecture.?

Not familiar with that command line option for gcc.

Jeff
______________________________________________________
Jeffrey O. Hill           Email        [email protected]
LANL MS H820              Voice        505 665 1831
Los Alamos NM 87545 USA   FAX          505 665 5107

Message content: TSPA

With sufficient thrust, pigs fly just fine. However, this is
not necessarily a good idea. It is hard to be sure where they
are going to land, and it could be dangerous sitting under them
as they fly overhead. -- RFC 1925


> -----Original Message-----
> From: Ernest L. Williams Jr. [mailto:[email protected]]
> Sent: Friday, February 11, 2011 11:14 AM
> To: Jeff Hill
> Cc: 'Andrew Johnson'; 'Eric Bjorklund'; 'Eric Norum'; tech-
> [email protected]
> Subject: Re: no space in pool for a new client (below max block thresh) in
> EPICS R3.14.12
> 
> Hi Jeff,
> 
> Awesome.
> 
> Thanks for the quick response.
> 
> I have Gobs of Memory
> I have the following running under vxWorks 6.8:
> XVB601 BSP - Intel(R) Core i7 Dual Core CPU/MCH and the Mobile Intel
> QM57 Express Chipset
> 
> ==========================================================================
> =========
> CPU: GE Intelligent Platforms Embedded Systems - XVB601-BSP-VXW -
> SYMMETRIC_IO_MODE.  .
> Memory Size: 0xcb700000.  BSP version 2.0/01.04.
> ==========================================================================
> ===========
> 
> Must I throw the  "-mlong"  flag?
> I thought that was only for the PowerPC architecture.?
> 
> 
> Cheers,
> Ernest
> 
> 
> Jeff Hill wrote:
> > Hi Ernest,
> >
> >
> >> CAS: no space in pool for a new client (below max block thresh)
> >>
> >
> > This happens when osiSufficentSpaceInPool return FALSE. The CA server
> tries
> > its best to not use the very last bit of memory (of RAM), and it calls
> > osiSufficentSpaceInPool to find out when it's getting too close to the
> end.
> >
> > If its vxWorks or RTEMS it may be that your IOC is in a RAM limited
> > situation, or its system pool is severely fragmented. Also, the RTEMS
> > implementation of osiSufficentSpaceInPool is more recent than the
> vxWorks
> > version (which is probably unmodified since the early 90s).
> >
> > On other OS we currently assume that running out of RAM isn't much of an
> > issue because of page files, and or no one has taken time to implement a
> > better approach, so osiSufficentSpaceInPool always returns TRUE.
> >
> > On RTEMS:
> >
> > /*
> >  * osiSufficentSpaceInPool ()
> >  */
> > epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t
> > contiguousBlockSize )
> > {
> >     rtems_malloc_statistics_t s;
> >     unsigned long n;
> >
> >     malloc_get_statistics(&s);
> >     n = s.space_available - (unsigned long)(s.lifetime_allocated -
> > s.lifetime_freed);
> >     return (n > (50000 + contiguousBlockSize));
> > }
> >
> > On vxWorks:
> > /*
> >  * osiSufficentSpaceInPool ()
> >  */
> > epicsShareFunc int epicsShareAPI osiSufficentSpaceInPool ( size_t
> > contiguousBlockSize )
> > {
> >     epicsThreadOnce ( &osdMaxBlockOnceler, osdSufficentSpaceInPoolInit,
> 0 );
> >
> >     if ( UINT_MAX - 100000u >= contiguousBlockSize ) {
> >         return ( osdMaxBlockSize > 100000 + contiguousBlockSize );
> >     }
> >     else {
> >         return 0;
> >     }
> > }
> >
> > Jeff
> > ______________________________________________________
> > Jeffrey O. Hill           Email        [email protected]
> > LANL MS H820              Voice        505 665 1831
> > Los Alamos NM 87545 USA   FAX          505 665 5107
> >
> > Message content: TSPA
> >
> > With sufficient thrust, pigs fly just fine. However, this is
> > not necessarily a good idea. It is hard to be sure where they
> > are going to land, and it could be dangerous sitting under them
> > as they fly overhead. -- RFC 1925
> >
> >
> >
> >> -----Original Message-----
> >> From: Ernest L. Williams Jr. [mailto:[email protected]]
> >> Sent: Friday, February 11, 2011 9:39 AM
> >> To: Jeff Hill; Andrew Johnson
> >> Cc: Ernest L. Williams Jr.; Eric Bjorklund
> >> Subject: CAS: no space in pool for a new client (below max block
> thresh)
> >> in EPICS R3.14.12
> >>
> >> Hi Jeff,
> >>
> >> What vxWorks resource must I increase to address this message after
> >> booting my Petium4 VME IOC running EPICS R3.14.12?
> >>
> >> I get the following: CAS: no space in pool for a new client (below max
> >> block thresh)
> >>
> >>
> >> iocInit
> >> iocInit: Reached initHookAtIocBuild
> >> Starting iocInit
> >> iocInit: Reached initHookAtBeginning
> >>
> ##########################################################################
> >> ##
> >> ## EPICS R3.14.12-SLAC_1 $Date: 2010/11/27 17:57:27 $
> >> ## EPICS Base built Feb 11 2011
> >>
> ##########################################################################
> >> ##
> >> iocInit: Reached initHookAfterCallbackInit
> >> iocInit: Reached initHookAfterCaLinkInit
> >> iocInit: Reached initHookAfterInitDrvSup
> >> iocInit: Reached initHookAfterInitRecSup
> >> iocInit: Reached initHookAfterInitDevSup
> >> iocInit: Reached initHookAfterInitDatabase
> >> iocInit: Reached initHookAfterFinishDevSup
> >> iocInit: Reached initHookAfterScanInit
> >> iocInit: Reached initHookAfterInitialProcess
> >> CAS: no space in pool for a new client (below max block thresh)
> >>
> >
> >



Replies:
Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Ernest L. Williams
Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Andrew Johnson
References:
RE: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Jeff Hill
Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Ernest L. Williams Jr.

Navigate by Date:
Prev: RE: USB4000 Szalata, Zenon M.
Next: Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Ernest L. Williams
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Ernest L. Williams Jr.
Next: Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Ernest L. Williams
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  <20112012  2013  2014  2015  2016  2017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 18 Nov 2013 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·