[lkml]   [2012]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: semaphore and mutex in current Linux kernel (3.2.2)
On Sun, Apr 1, 2012 at 8:19 PM, Ingo Molnar <> wrote:
> * Chen, Dennis (SRDC SW) <> wrote:
>> Documentation/mutex-design.txt:
>> "- 'struct mutex' is smaller on most architectures: E.g. on x86,
>> 'struct semaphore' is 20 bytes, 'struct mutex' is 16 bytes.
>> A smaller structure size means less RAM footprint, and better
>> CPU-cache utilization."
>> ================================================================
>> Now in my x86-64 32-bit Linux environment, 'struct semaphone'
>> is 16 bytes, 'struct mutex' is 20 bytes. So seems the RAM
>> footprint advantages are not there...
> It got larger due to the adaptive spin-mutex performance
> optimization.

Thanks Ingo, so part of the document is obsolete and "less RAM footprint" and "tighter code"
is not advantage of mutex anymore, being the disadvantage factor. Spin-mutex performance optimization
is highly expected...

>> For the performance advantages followed, I don't have the
>> ./test-mutex and maybe the testing environment, so haven't the
>> 1st hand data for this item...
> Well, a way to reproduce that would be to find a lock_mutex
> intense workload ('perf top -g', etc.), and then changing back
> the underlying mutex to a semaphore, and measure the performance
> of the two primitives.
Why not the 'test-mutex' tool in the document?
I guess it should be the private tool from you, if you can share it to me then I can help to make
a new round performance check of the two primitives in the latest kernel... make a deal?

 \ /
  Last update: 2012-04-02 17:31    [W:0.077 / U:0.584 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site