On Wed, Mar 23, 2011 at 6:48 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Wed, Mar 23, 2011 at 8:37 AM, Tejun Heo <tj@xxxxxxxxxx> wrote: >> >> Currently, mutex_trylock() doesn't use adaptive spinning. ÂIt tries >> just once. ÂI got curious whether using adaptive spinning on >> mutex_trylock() would be beneficial and it seems so, at least for >> btrfs anyway. > > Hmm. Seems reasonable to me. TAS/spin with exponential back-off has been preferred locking approach in Postgres (and I believe other DBMSes) for years, at least since '04 when I had last touched Postgres code. Even with 'false negative' cost in user-space being much higher than in the kernel, it's still just a question of scale (no wonder measurable improvement here is reported from dbench on SSD capable of few dozen thousand IOPS). Regards, Andrey > The patch looks clean, although part of that is just the mutex_spin() > cleanup that is independent of actually using it in trylock. > > So no objections from me. > > Â Â Â Â Â Â Â Â Â ÂLinus > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at Âhttp://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
