All of lore.kernel.org
 help / color / mirror / Atom feed
From: Waiman Long <waiman.long@hp.com>
To: Davidlohr Bueso <davidlohr@hp.com>
Cc: Ingo Molnar <mingo@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-kernel@vger.kernel.org, Jason Low <jason.low2@hp.com>,
	Scott J Norton <scott.norton@hp.com>,
	aswin@hp.com
Subject: Re: [PATCH v2 1/7] locking/rwsem: check for active writer/spinner before wakeup
Date: Mon, 11 Aug 2014 15:35:24 -0400	[thread overview]
Message-ID: <53E91AFC.1030307@hp.com> (raw)
In-Reply-To: <1407714603.7594.10.camel@buesod1.americas.hpqcorp.net>

On 08/10/2014 07:50 PM, Davidlohr Bueso wrote:
> On Sun, 2014-08-10 at 17:41 -0400, Waiman Long wrote:
>> On 08/08/2014 03:03 PM, Davidlohr Bueso wrote:
>>> On Fri, 2014-08-08 at 14:30 -0400, Waiman Long wrote:
>>>> I have 2 issues about this. First of all, the timing windows between
>>>> atomic_set() and mutex_has_owner() check is really small, I doubt it
>>>> will be that effective.
>>> That is true, which is why I didn't bother showing any performance data
>>> in the changelog. However, more important than any performance, avoiding
>>> bogus wakeups is the _right_ thing to do when allowing lock stealing.
>>>
>>>> Secondly, I think you may need to call
>>>> mutex_release() and debug_mutex_unlock() to make the debugging code
>>>> work, but they seems to be called only under the wait_lock. So I think
>>>> there is more work that need to be done before this patch is ready.
>>> When !DEBUG both mutex_release() and debug_mutex_unlock() should be
>>> no-ops. So this allows us to do the mutex_has_owner() check *without*
>>> holding the wait_lock.
>>>
>>> When DEBUG is set, we don't even bother calling mutex_has_owner(), so
>>> nothing changes.
>>>
>>> I don't understand your concern.
>> It is true I forgot the fact that MUTEX_SPIN_ON_OWNER is disabled when
>> DEBUG_MUTEX is on. However, mutex_release is controlled by the LOCKDEP
>> config variable which is independent of DEBUG_MUTEX. So it is still a
>> concern.
> But afaict you cannot have LOCKDEP without enabling DEBUG_MUTEX (but not
> necessarily vice-versa). Both are quite intertwined within other
> debugging dependencies/options.
>

I think you are right. This will require comment in the code to avoid 
this kind of confusion.

-Longman

  reply	other threads:[~2014-08-11 19:35 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07 22:26 [PATCH v2 0/7] locking/rwsem: enable reader opt-spinning & writer respin Waiman Long
2014-08-07 22:26 ` [PATCH v2 1/7] locking/rwsem: check for active writer/spinner before wakeup Waiman Long
2014-08-08  0:45   ` Davidlohr Bueso
2014-08-08  5:39     ` Davidlohr Bueso
2014-08-08 18:30       ` Waiman Long
2014-08-08 19:03         ` Davidlohr Bueso
2014-08-10 21:41           ` Waiman Long
2014-08-10 23:50             ` Davidlohr Bueso
2014-08-11 19:35               ` Waiman Long [this message]
2014-08-08 19:50       ` Jason Low
2014-08-08 20:21         ` Davidlohr Bueso
2014-08-08 20:38           ` Jason Low
2014-08-10 21:44             ` Waiman Long
2014-08-07 22:26 ` [PATCH v2 2/7] locking/rwsem: threshold limited spinning for active readers Waiman Long
2014-08-07 22:26 ` [PATCH v2 3/7] locking/rwsem: rwsem_can_spin_on_owner can be called with preemption enabled Waiman Long
2014-08-07 22:26 ` [PATCH v2 4/7] locking/rwsem: more aggressive use of optimistic spinning Waiman Long
2014-08-07 22:26 ` [PATCH v2 5/7] locking/rwsem: move down rwsem_down_read_failed function Waiman Long
2014-08-07 22:26 ` [PATCH v2 6/7] locking/rwsem: enables optimistic spinning for readers Waiman Long
2014-08-07 22:26 ` [PATCH v2 7/7] locking/rwsem: allow waiting writers to go back to spinning Waiman Long
2014-08-07 23:52 ` [PATCH v2 0/7] locking/rwsem: enable reader opt-spinning & writer respin Davidlohr Bueso
2014-08-08 18:16   ` Waiman Long

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53E91AFC.1030307@hp.com \
    --to=waiman.long@hp.com \
    --cc=aswin@hp.com \
    --cc=davidlohr@hp.com \
    --cc=jason.low2@hp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=peterz@infradead.org \
    --cc=scott.norton@hp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.