lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 1 Apr 2012 14:19:43 +0200
From:	Ingo Molnar <mingo@...nel.org>
To:	"Chen, Dennis (SRDC SW)" <Dennis1.Chen@....com>
Cc:	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	"mingo@...hat.com" <mingo@...hat.com>
Subject: Re: semaphore and mutex in current Linux kernel (3.2.2)


* Chen, Dennis (SRDC SW) <Dennis1.Chen@....com> 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.

> 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.

Thanks,

	Ingo
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ