Re: [GIT PULL] adaptive spinning mutexes

Ingo Molnar
2009-01-14T19:28:11Z

* Ingo Molnar <mingo@elte.hu> wrote:

> Latest performance figures, on a 2-socket 16-way Nehalem test-system,
> running the code above, measured via "test-mutex V 128 10" VFS
> creat+unlink scalability test on tmpfs and ext3:
>
> no-spin spin
>
> [tmpfs] avg ops/sec: 291038 392865 (+34.9%)
> [ext3] avg ops/sec: 283291 435674 (+53.7%)

Btw., for historic kicks i just went back to v2.6.15-2019-gf17578d - the
last pre-mutexes semaphore based kernel, using the same .config.

I tracked down two bugs in it to make it boot on a Nehalem, so we can now
compare the above numbers against historic semaphore performance:

[v2.6.14] [v2.6.29]

Semaphores | Mutexes
----------------------------------------------
| no-spin spin
|
[tmpfs] ops/sec: 50713 | 291038 392865 (+34.9%)
[ext3] ops/sec: 45214 | 283291 435674 (+53.7%)

A 10x macro-performance improvement on ext3, compared to 2.6.14 :-)

While lots of other details got changed meanwhile, i'm sure most of the
performance win on this particular VFS workload comes from mutexes.

So i think the long mutex migration pain was definitely worth it.

Ingo