Re: spin locks
Posted in 2014
Added to FAQ.
Regards,
David.
> On 23 September 2013 at 22:52 John Miller iii <miller3@us.ibm.com> wrote:
>
>
> The two mutex which are directly effected are sh_stamp and po_lock, but
> the VP_MEMORY_CACHE_KB speeds up malloc()/free() functionality
> which can have an indirect impact on many things.
>
> Setting this to a value of 1024 (i.e. 1MB) can have a great impact. If
> you are not worried about
> a few MB then setting this to 4096 would be my starting point.
>
> Two additional notes,
> 1) The functionality of this has been improved so please look at the
> setting
> in new releases.
>
> 2) This feature is only available with the enterprises edition
>
> John F. Miller III
> STSM, Lead Architect
> miller3@us.ibm.com
>
> ids-bounces@iiug.org wrote on 09/23/2013 12:44:56 PM:
>
> > From: "david@smooth1.co.uk" <david@smooth1.co.uk>
> > To: ids@iiug.org,
> > Date: 09/23/2013 12:45 PM
> > Subject: Re: spin locks [31483]
> > Sent by: ids-bounces@iiug.org
> >
> > Can you go over what some of the other ones are and which ones are
> > affected by
> > VP_MEMORY_CACHE_KB?
> >
> > Also what values for VP_MEMORY_CACHE_KB do people use?
> >
> > David.
> >
> > On 23 September 2013 at 18:47 John Miller iii <miller3@us.ibm.com> wrote:
>
> > > The output of onstat -g spi is so low, it is really not even worth
> > > worrying about. The po_pool lock
> > > is the hottest mutex which has 118 latch waits in over 9 hours. This
> means
> > > you are averaging 1 wait
> > > every 4.5 minutes and only spins 521 times before it acquires the
> mutex. I
> > > generally do not even look
> > > at mutex with less than 1000 spins per acquisition.
> > >
> > > This is the lock on the global memory pool which often deals with
> config,
> > > gls,
> > > network, and general overhead items which are not owned by a user.
> > >
> > > Hope it helps,
> > >
> > > John F. Miller III
> > > STSM, Lead Architect
> > > miller3@us.ibm.com
> > > 503-747-1366
> > > IBM Informix Dynamic Server (IDS)
> > >
> > > ids-bounces@iiug.org wrote on 09/23/2013 09:04:07 AM:
> > >
> > > > From: "Art Kagel" <art.kagel@gmail.com>
> > > > To: ids@iiug.org,
> > > > Date: 09/23/2013 10:08 AM
> > > > Subject: Re: spin locks [31481]
> > > > Sent by: ids-bounces@iiug.org
> > > >
> > > > That's true. I missed the "IE" in the version string.
> > > >
> > > > Art
> > > >
> > > > Art S. Kagel, Principal Consultant
> > > >
> > > > Advanced DataTools (www.advancedatatools.com)
> > > > Blog: http://informix-myview.blogspot.com/
> > > >
> > > > Disclaimer: Please keep in mind that my own opinions are my own
> opinions
> > > > and do not reflect on my employer, Advanced DataTools, the IIUG, nor
> any
> > > > other organization with which I am associated either explicitly,
> > > > implicitly, or by inference. Neither do those opinions reflect those
> of
> > > > other individuals affiliated with any entity with which I am
> affiliated
> > > nor
> > > > those of the entities themselves.
> > > >
> > > > On Mon, Sep 23, 2013 at 3:02 AM, Hrvoje Zokovic
> > > > <hzokovic.iiug@gmail.com>wrote:
> > > >
> > > > > According to 12.10.TC1IE i think this is innovator-C edition and
> you
> > > can
> > > > > not use CPU VP memory
> > > > > cache on this edition (it is Enterprise/Ultimate only feature)
> > > > > HTH
> > > > > Hrvoje
> > > > >
> > > > > On 22.9.2013. 3:20, Art Kagel wrote:
> > > > > > IB that is the memory pool latch. You can probably reduce the
> > > activity on
> > > > > > it by enabling VP_MEMORY_CACHE_KB so that each CPU VP holds on to
>
> > > some of
> > > > > > the memory from the central pool and so has to interact withthe
> pool
> > >
> > > > > latch
> > > > > > less frequently.
> > > > > >
> > > > > > Art
> > > > > >
> > > > > > Art S. Kagel, Principal Consultant
> > > > > >
> > > > > > Advanced DataTools (www.advancedatatools.com)
> > > > > > Blog: http://informix-myview.blogspot.com/
> > > > > >
> > > > > > Disclaimer: Please keep in mind that my own opinions are my own
> > > opinions
> > > > > > and do not reflect on my employer, Advanced DataTools, the IIUG,
> nor
> > > any
> > > > > > other organization with which I am associated either explicitly,
> > > > > > implicitly, or by inference. Neither do those opinions reflect
> those
> > > of
> > > > > > other individuals affiliated with any entity with which I am
> > > affiliated
> > > > > nor
> > > > > > those of the entities themselves.
> > > > > >
> > > > > > On Fri, Sep 20, 2013 at 4:56 PM, BillHatVerizon
> > > > > <garage_dba@verizon.net>wrote:
> > > > > >
> > > > > >> This is the output of onstat g spi .
> > > > > >> What is po_lock below?
> > > > > >> Do the numbers look high or is it not possible to answer without
>
> > > more
> > > > > info
> > > > > >> ?
> > > > > >> This is on Windows server 2008 R2 SP1.
> > > > > >>
> > > > > >> IBM Informix Dynamic Server Version 12.10.TC1IE -- On-Line -- Up
>
> > > > > 09:04:41
> > > > > >> --> > > > > >> 733952 Kbytes
> > > > > >>
> > > > > >> Spin locks with waits:
> > > > > >> Num Waits Num Loops Avg Loop/Wait Name
> > > > > >> 1 88 88.00 mutex lock, name = AIOreq
> > > > > >> 2 31 15.50 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 121 121.00 mutex lock, name = AIOreq
> > > > > >> 1 102 102.00 mutex lock, name = AIOreq
> > > > > >> 1 38 38.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 110 110.00 mutex lock, name = AIOreq
> > > > > >> 1 155 155.00 mutex lock, name = AIOreq
> > > > > >> 1 203 203.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 28 28.00 mutex lock, name = AIOreq
> > > > > >> 2 102 51.00 mutex lock, name = AIOreq
> > > > > >> 1 14 14.00 mutex lock, name = AIOreq
> > > > > >> 1 80 80.00 mutex lock, name = AIOreq
> > > > > >> 2 63 31.50 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 68 68.00 mutex lock, name = AIOreq
> > > > > >> 1 116 116.00 mutex lock, name = AIOreq
> > > > > >> 1 19 19.00 mutex lock, name = AIOreq
> > > > > >> 1 160 160.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 1 170 170.00 mutex lock, name = AIOreq
> > > > > >> 1 48 48.00 mutex lock, name = AIOreq
> > > > > >> 1 24 24.00 mutex lock, name = AIOreq
> > > > > >> 1 68 68.00 mutex lock, name = AIOreq
> > > > > >> 2 134 67.00 mutex lock, name = AIOreq
> > > > > >> 2 183 91.50 mutex lock, name = AIOreq
> > > > > >> 1 49 49.00 mutex lock, name = AIOreq
> > > > > >> 3 284 94.67 mutex lock, name = AIOreq
> > > > > >> 1 6 6.00 mutex lock, name = AIOreq
> > > > > >> 1 58 58.00 mutex lock, name = AIOreq
> > > > > >> 1 1 1.00 mutex lock, name = AIOreq
> > > > > >> 2 135 67.50 mutex lock, name = AIOreq
> > > > > >> 2 49 24.50 mutex lock, nam