lkml.org 
[lkml]   [2009]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [GIT PULL] adaptive spinning mutexes

* Linus Torvalds <torvalds@linux-foundation.org> wrote:

> > Has anyone found a non-synthetic benchmark where this makes a
> > significant difference? Aside from btrfs, I mean.
>
> Yea, if you have some particular filesystem (or other subsystem) that
> uses a global mutex, you'll obviously see way more contention. Btrfs may
> not be _unique_ in this regard, but it's definitely doing something that
> isn't good.
>
> Btw, it's doing something that ext3 also used to do iirc, until we fixed
> it to use spinlocks instead (the block group lock in particular).
>
> Yeah - just double-checked. Commit c12b9866ea52 in the historical Linux
> archive, from 2003. Which made block allocation protected by a per-group
> spinlock, rather than lock_super().

btw., i think spin-mutexes have a design advantage here: in a lot of code
areas it's quite difficult to use spinlocks - cannot allocate memory,
cannot call any code that can sporadically block (but does not _normally_
block), etc.

With mutexes those atomicity constraints go away - and the performance
profile should now be quite close to that of spinlocks as well.

Ingo


\
 
 \ /
  Last update: 2009-01-15 19:11    [W:2.692 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site