Re: semvmx

From: Mladen Gogala <gogala.mladen_at_gmail.com>
Date: Wed, 17 Mar 2010 23:56:28 +0000 (UTC)
Message-ID: <hnrq7b$4po$3_at_solani.org>



On Wed, 17 Mar 2010 12:02:47 -0700, joel garry wrote:

> Is that an important difference, enough to bring down production for a
> kernel rebuild? Is this the sort of thing that might double semaphore
> or other dependent memory structure sizes in actual use as Oracle
> decides a granular boundary is passed? Or is it just something trivial?

Joel, semaphores are integer variables. This parameter simply determines the maximum possible value of any single semaphore. Semaphores are one OS word in size, each. HP-UX on Itanic has 64 bit word size, so you're not saving any memory by setting it to 32767. Document is below.

http://docs.hp.com/en/B2355-60105/semvmx.5.html

As for the question whether it is important enough to bring the production system down, the answer is "dunno, how important it is to do the installation"? I don't think it's that important, if any single semaphore crosses the value of 32767, that means that there are 32766 other semaphore holders and you may be having slight problems with concurrency. Semaphore operations function this way: each process that acquires the semaphore in shared mode increases its value by 1. Process that wants to acquire an exclusive control cannot do so while the value is larger than 0. Having semaphore value 32767 means that there are 32767 processes holding the resource in shared mode. Can you realistically expect to have 32k processes accessing the same resources on that system? If the answer is "no", you're good.

You should ask yourself one question: do I feel lucky? And do I like the users of that system? If the answer to the 2nd question is "no", then bring it on, or rather, bring it down.

-- 
http://mgogala.freehostia.com
Received on Wed Mar 17 2010 - 18:56:28 CDT

Original text of this message