Commit-ID:  48c2521717b39cb6904941ec2847d9775669207a
Gitweb:     http://git.kernel.org/tip/48c2521717b39cb6904941ec2847d9775669207a
Author:     Peter Zijlstra <pet...@infradead.org>
AuthorDate: Wed, 2 Oct 2013 11:22:26 +0200
Committer:  Ingo Molnar <mi...@kernel.org>
CommitDate: Fri, 4 Oct 2013 10:14:49 +0200

sched/wait: Collapse __wait_event_interruptible_exclusive()

Reduce macro complexity by using the new ___wait_event() helper.
No change in behaviour, identical generated code.

Reviewed-by: Oleg Nesterov <o...@redhat.com>
Signed-off-by: Peter Zijlstra <pet...@infradead.org>
Link: http://lkml.kernel.org/r/20131002092528.541716...@infradead.org
Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 include/linux/wait.h | 22 ++--------------------
 1 file changed, 2 insertions(+), 20 deletions(-)

diff --git a/include/linux/wait.h b/include/linux/wait.h
index a79fb15..c4ab172 100644
--- a/include/linux/wait.h
+++ b/include/linux/wait.h
@@ -421,26 +421,8 @@ do {                                                       
                \
 })
 
 #define __wait_event_interruptible_exclusive(wq, condition, ret)       \
-do {                                                                   \
-       __label__ __out;                                                \
-       DEFINE_WAIT(__wait);                                            \
-                                                                       \
-       for (;;) {                                                      \
-               prepare_to_wait_exclusive(&wq, &__wait,                 \
-                                       TASK_INTERRUPTIBLE);            \
-               if (condition)                                          \
-                       break;                                          \
-               if (signal_pending(current)) {                          \
-                       ret = -ERESTARTSYS;                             \
-                       abort_exclusive_wait(&wq, &__wait,              \
-                               TASK_INTERRUPTIBLE, NULL);              \
-                       goto __out;                                     \
-               }                                                       \
-               schedule();                                             \
-       }                                                               \
-       finish_wait(&wq, &__wait);                                      \
-__out: ;                                                               \
-} while (0)
+       ___wait_event(wq, condition, TASK_INTERRUPTIBLE, 1, ret,        \
+                     schedule())
 
 #define wait_event_interruptible_exclusive(wq, condition)              \
 ({                                                                     \
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to