All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] locks should not be needed for reading completion state
@ 2015-01-17  4:05 Nicholas Mc Guire
  2015-02-04 14:37 ` [tip:locking/core] sched/completion: Remove unnecessary -> wait.lock serialization when " tip-bot for Nicholas Mc Guire
  0 siblings, 1 reply; 2+ messages in thread
From: Nicholas Mc Guire @ 2015-01-17  4:05 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Peter Zijlstra, linux-kernel, Nicholas Mc Guire

Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
---

Should that not be enough to wrap it into ACCESS_ONCE() here ?

Not a wild performance benefit - but might be worth it anyway

 kernel/sched/completion.c |    9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/kernel/sched/completion.c b/kernel/sched/completion.c
index 607f852..7c5cd70 100644
--- a/kernel/sched/completion.c
+++ b/kernel/sched/completion.c
@@ -288,13 +288,6 @@ EXPORT_SYMBOL(try_wait_for_completion);
  */
 bool completion_done(struct completion *x)
 {
-	unsigned long flags;
-	int ret = 1;
-
-	spin_lock_irqsave(&x->wait.lock, flags);
-	if (!x->done)
-		ret = 0;
-	spin_unlock_irqrestore(&x->wait.lock, flags);
-	return ret;
+	return !ACCESS_ONCE(x->done);
 }
 EXPORT_SYMBOL(completion_done);
-- 
1.7.10.4


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [tip:locking/core] sched/completion: Remove unnecessary -> wait.lock serialization when reading completion state
  2015-01-17  4:05 [PATCH] locks should not be needed for reading completion state Nicholas Mc Guire
@ 2015-02-04 14:37 ` tip-bot for Nicholas Mc Guire
  0 siblings, 0 replies; 2+ messages in thread
From: tip-bot for Nicholas Mc Guire @ 2015-02-04 14:37 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: hpa, der.herr, peterz, linux-kernel, tglx, torvalds, mingo

Commit-ID:  de30ec47302c101c7badc8fe687641fd75e596e7
Gitweb:     http://git.kernel.org/tip/de30ec47302c101c7badc8fe687641fd75e596e7
Author:     Nicholas Mc Guire <der.herr@hofr.at>
AuthorDate: Sat, 17 Jan 2015 05:05:34 +0100
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Wed, 4 Feb 2015 07:57:36 +0100

sched/completion: Remove unnecessary ->wait.lock serialization when reading completion state

Signed-off-by: Nicholas Mc Guire <der.herr@hofr.at>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/1421467534-22834-1-git-send-email-der.herr@hofr.at
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 kernel/sched/completion.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/kernel/sched/completion.c b/kernel/sched/completion.c
index 607f852..9d1fe32d 100644
--- a/kernel/sched/completion.c
+++ b/kernel/sched/completion.c
@@ -288,13 +288,6 @@ EXPORT_SYMBOL(try_wait_for_completion);
  */
 bool completion_done(struct completion *x)
 {
-	unsigned long flags;
-	int ret = 1;
-
-	spin_lock_irqsave(&x->wait.lock, flags);
-	if (!x->done)
-		ret = 0;
-	spin_unlock_irqrestore(&x->wait.lock, flags);
-	return ret;
+	return !!ACCESS_ONCE(x->done);
 }
 EXPORT_SYMBOL(completion_done);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-02-04 14:38 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-17  4:05 [PATCH] locks should not be needed for reading completion state Nicholas Mc Guire
2015-02-04 14:37 ` [tip:locking/core] sched/completion: Remove unnecessary -> wait.lock serialization when " tip-bot for Nicholas Mc Guire

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.