[lkml]   [2013]   [Nov]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: [PATCH v6 3/5] qrwlock: Enable fair queue read/write lock
Sorry for the late reply.

The presence of the unfair option as default is largely due to fixing the recursive read lock in interrupt handler problem. You are right that it is no longer a valid reason now.

An unfair lock may have a better performance characteristics, especially for a highly contended lock. Other than that, I have no other reason to keep an unfair option. I don't mind taking out the unfair option and make the fair qrwlock the default. It does simplify the code. I will send out an updated patchset with only the fair qrwlock.

Thank for suggestion.

-----Original Message-----
From: [] On Behalf Of Linus Torvalds
Sent: Monday, November 18, 2013 1:12 PM
To: Long, Wai Man
Cc: Thomas Gleixner; Ingo Molnar; H. Peter Anvin; Arnd Bergmann;; the arch/x86 maintainers; Linux Kernel Mailing List; Peter Zijlstra; Steven Rostedt; Andrew Morton; Michel Lespinasse; Andi Kleen; Rik van Riel; Paul E. McKenney; Raghavendra K T; George Spelvin; Tim Chen; Chandramouleeswaran, Aswin; Norton, Scott J
Subject: Re: [PATCH v6 3/5] qrwlock: Enable fair queue read/write lock

On Tue, Nov 12, 2013 at 6:48 AM, Waiman Long <> wrote:
> By default, queue rwlock is fair among writers and gives preference to
> readers allowing them to steal lock even if a writer is waiting.
> However, there is a desire to have a fair variant of rwlock that is
> more deterministic. To enable this [..]

Is there really any point in having the option for unfair at all?

From your timings, it looks like the unfair locks are more expensive for the writer side, but since pretty much the whole point of rwlocks is when readers are the common case, I don't think we care.

And I'm not at all convinced we want the complexity of two different kinds of rwlocks with different semantics and extra code for said semantics..

Your *original* fair rwlocks were unusable, since they didn't allow for the irq semantics that most users need, but afaik your current version always makes an irq/bh-context reader work even when the lock is otherwise trying to be fair, so this whole dual behavior seems to be largely pointless.


 \ /
  Last update: 2013-11-19 06:21    [W:0.049 / U:2.352 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site