Hi Jeff
I am using EPICS R3-14-12. :)
Cheers
Ernest
Sent from my iPhone
On Feb 11, 2011, at 11:17, Jeff Hill <[email protected]> wrote:
>> 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)
>>>>
>>>
>>>
>
- 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.
- RE: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Jeff Hill
- Navigate by Date:
- Prev:
RE: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Jeff Hill
- Next:
Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Andrew Johnson
- 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
- Navigate by Thread:
- Prev:
RE: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Jeff Hill
- Next:
Re: no space in pool for a new client (below max block thresh) in EPICS R3.14.12 Andrew Johnson
- 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
|