[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5136BC33.5000608@hp.com>
Date: Tue, 05 Mar 2013 22:46:59 -0500
From: Waiman Long <Waiman.Long@...com>
To: Rik van Riel <riel@...hat.com>
CC: Linus Torvalds <torvalds@...ux-foundation.org>,
Davidlohr Bueso <davidlohr.bueso@...com>,
Emmanuel Benisty <benisty.e@...il.com>,
"Vinod, Chegu" <chegu_vinod@...com>,
"Low, Jason" <jason.low2@...com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
"H. Peter Anvin" <hpa@...or.com>,
Andrew Morton <akpm@...ux-foundation.org>, aquini@...hat.com,
Michel Lespinasse <walken@...gle.com>,
Ingo Molnar <mingo@...nel.org>,
Larry Woodman <lwoodman@...hat.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Steven Rostedt <rostedt@...dmis.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v2 0/4] ipc: reduce ipc lock contention
On 03/05/2013 03:53 PM, Rik van Riel wrote:
> On 03/05/2013 03:52 PM, Linus Torvalds wrote:
>> On Tue, Mar 5, 2013 at 11:42 AM, Waiman Long <Waiman.Long@...com> wrote:
>>>
>>> The recommended kernel.sem value from Oracle is "250 32000 100 128".
>>> I have
>>> tried to reduce the maximum semaphores per array (1st value) while
>>> increasing the max number of arrays. That tends to reduce the ipc_lock
>>> contention in kernel, but it is against Oracle's recommendation.
>>
>> Ok, the Oracle recommendations seem to be assuming that we'd be
>> scaling the semaphore locking sanely, which we don't. Since we share
>> one single lock for all semaphores in the whole array, Oracle's
>> recommendation does the wrong thing for our ipc_lock contention.
>
>> David's patch should make it much easier to do the locking more
>> fine-grained, and it sounds like Rik is actively working on that,
>
> Indeed. Though how well my patches will work with Oracle will
> depend a lot on what kind of semctl syscalls they are doing.
>
> Does Oracle typically do one semop per semctl syscall, or does
> it pass in a whole bunch at once?
>
i had collected a strace log of Oracle instance startup a while ago. In
the log, almost all of the semctl() call is to set a single semaphore
value in one of the element of the array using SETVAL. Also there are
far more semtimedop() than semctl(), about 100:1. Again, all the
semtimedop() operations are on a single element of the semaphore array.
Please note that the behavior of Oracle at startup time may not be
indicative of what it will do when running benchmarks like Swingbench.
However, I don't think there will be dramatic change in behavior.
-Longman
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists