mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Davidlohr Bueso <dave@stgolabs.net>
Cc: Ingo Molnar <mingo@kernel.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	linux-kernel@vger.kernel.org, Davidlohr Bueso <dbueso@suse.de>
Subject: Re: [PATCH 2/8] locking/mutex: Get rid of use_ww_cxt param in common paths
Date: Sun, 28 Dec 2014 17:23:03 +0100	[thread overview]
Message-ID: <20141228162303.GA12952@dyad.arnhem.chello.nl> (raw)
In-Reply-To: <1419757883-4423-3-git-send-email-dave@stgolabs.net>

On Sun, Dec 28, 2014 at 01:11:17AM -0800, Davidlohr Bueso wrote:
> ... and simplify a bit the parameters of __mutex_lock_common(). This
> is straightforward as we can just check if the ww cxt for NULL if passed
> from non wait/wound paths.


The reason for this trainwreck is because of some older GCC not actually doing
the const propagation of the MULL pointer right.

There were at least two threads on this,
b0267507dfd0187fb7840a0ec461a510a7f041c5 might give clues.

>  static bool mutex_optimistic_spin(struct mutex *lock,
> -				  struct ww_acquire_ctx *ww_ctx, const bool use_ww_ctx)
> +				  struct ww_acquire_ctx *ww_ctx)
>  {
>  	struct task_struct *task = current;
>  
> @@ -313,7 +313,7 @@ static bool mutex_optimistic_spin(struct mutex *lock,
>  	while (true) {
>  		struct task_struct *owner;
>  
> -		if (use_ww_ctx && ww_ctx->acquired > 0) {
> +		if (ww_ctx && ww_ctx->acquired > 0) {
>  			struct ww_mutex *ww;
>  
>  			ww = container_of(lock, struct ww_mutex, base);

  reply	other threads:[~2014-12-28 16:30 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-28  9:11 [PATCH 0/8] locking: Various updates Davidlohr Bueso
2014-12-28  9:11 ` [PATCH 1/8] Documentation/memory-barriers.txt: Fix smp typo Davidlohr Bueso
2014-12-31  2:02   ` Paul E. McKenney
2014-12-28  9:11 ` [PATCH 2/8] locking/mutex: Get rid of use_ww_cxt param in common paths Davidlohr Bueso
2014-12-28 16:23   ` Peter Zijlstra [this message]
2014-12-28 18:12     ` Davidlohr Bueso
2014-12-28  9:11 ` [PATCH 3/8] locking/mutex: Checking the stamp is ww only Davidlohr Bueso
2014-12-28  9:11 ` [PATCH 4/8] locking/mutex: Delete useless comment Davidlohr Bueso
2014-12-28  9:11 ` [PATCH 5/8] locking/mutex: Introduce ww_mutex_set_context_slowpath Davidlohr Bueso
2014-12-28  9:11 ` [PATCH 6/8] locking/mcs: Better differentiate between mcs variants Davidlohr Bueso
2015-01-14 14:13   ` Ingo Molnar
2015-01-14 15:55     ` Davidlohr Bueso
2015-01-14 14:16   ` Ingo Molnar
2014-12-28  9:11 ` [PATCH 7/8] locking: Use [READ,ASSIGN]_ONCE() for non-scalar types Davidlohr Bueso
2014-12-28 16:30   ` Peter Zijlstra
2014-12-28  9:11 ` [PATCH 8/8] locking/osq: No need for load/acquire when acquire-polling Davidlohr Bueso

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=20141228162303.GA12952@dyad.arnhem.chello.nl \
    --to=peterz@infradead.org \
    --cc=dave@stgolabs.net \
    --cc=dbueso@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®