All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Waiman Long <Waiman.Long@hp.com>
Cc: Ingo Molnar <mingo@kernel.org>,
	Maarten Lankhorst <maarten.lankhorst@canonical.com>,
	Rik van Riel <riel@redhat.com>,
	linux-kernel@vger.kernel.org,
	Scott J Norton <scott.norton@hp.com>,
	Fengguang Wu <fengguang.wu@intel.com>
Subject: Re: [PATCH 2/2 v6] locking/selftest: Support queued rwlock
Date: Tue, 5 Aug 2014 15:28:37 +0200	[thread overview]
Message-ID: <20140805132837.GA19379@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <1406659999-13974-3-git-send-email-Waiman.Long@hp.com>

[-- Attachment #1: Type: text/plain, Size: 1557 bytes --]

On Tue, Jul 29, 2014 at 02:53:19PM -0400, Waiman Long wrote:
> The queued rwlock does not support the use of recursive read-lock in
> the process context. With changes in the lockdep code to check and
> disallow recursive read-lock, it is also necessary for the locking
> selftest to be updated to change the process context recursive read
> locking results from SUCCESS to FAILURE for rwlock.
> 
> Signed-off-by: Waiman Long <Waiman.Long@hp.com>
> Signed-off-by: Peter Zijlstra <peterz@infradead.org>
> ---
>  lib/locking-selftest.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/lib/locking-selftest.c b/lib/locking-selftest.c
> index 872a15a..9a33688 100644
> --- a/lib/locking-selftest.c
> +++ b/lib/locking-selftest.c
> @@ -267,19 +267,19 @@ GENERATE_TESTCASE(AA_rsem)
>  #undef E
>  
>  /*
> - * Special-case for read-locking, they are
> + * Special-case for read-locking, they are not
>   * allowed to recurse on the same lock class:
>   */
>  static void rlock_AA1(void)
>  {
>  	RL(X1);
> -	RL(X1); // this one should NOT fail
> +	RL(X1); // this one should fail
>  }
>  
>  static void rlock_AA1B(void)
>  {
>  	RL(X1);
> -	RL(X2); // this one should NOT fail
> +	RL(X2); // this one should fail
>  }

Maybe I wasn't clear; but I meant you should extend the lock tests to
cover the full qrwlock semantics.

That means we also need tests like:

	RL(X1);
	IRQ_ENTER();
	RL(X2);
	IRQ_EXIT();

To fully validate that in_interrupt exception to fairness etc..

[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]

  reply	other threads:[~2014-08-05 13:29 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-29 18:53 [PATCH 0/2 v6] lockdep: add support for queued rwlock Waiman Long
2014-07-29 18:53 ` [PATCH 1/2 v6] locking/lockdep: Restrict the use of recursive read_lock() with qrwlock Waiman Long
2014-07-29 18:53 ` [PATCH 2/2 v6] locking/selftest: Support queued rwlock Waiman Long
2014-08-05 13:28   ` Peter Zijlstra [this message]
2014-08-05 14:07     ` Shuah Khan
2014-08-05 14:41       ` Peter Zijlstra
2014-08-05 14:44         ` Maarten Lankhorst
2014-08-05 14:54           ` Peter Zijlstra
2014-08-05 15:05             ` Shuah Khan
2014-08-05 15:25               ` Peter Zijlstra
2014-08-05 15:45                 ` Shuah Khan
2014-08-06 17:24     ` 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=20140805132837.GA19379@twins.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=Waiman.Long@hp.com \
    --cc=fengguang.wu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maarten.lankhorst@canonical.com \
    --cc=mingo@kernel.org \
    --cc=riel@redhat.com \
    --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.