[PATCH 13/16] sched/wait: Collapse __wait_event_interruptible_tty()

2013-10-02 Thread Peter Zijlstra
Reduce macro complexity by using the new ___wait_event() helper.
No change in behaviour, identical generated code.

Reviewed-by: Oleg Nesterov 
Signed-off-by: Peter Zijlstra 
---
 include/linux/tty.h  |   21 +
 include/linux/wait.h |  192 +++
 2 files changed, 63 insertions(+), 150 deletions(-)

--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -679,23 +679,10 @@ static inline void tty_wait_until_sent_f
 })
 
 #define __wait_event_interruptible_tty(tty, wq, condition, ret)
\
-do {   \
-   DEFINE_WAIT(__wait);\
-   \
-   for (;;) {  \
-   prepare_to_wait(, &__wait, TASK_INTERRUPTIBLE);  \
-   if (condition)  \
-   break;  \
-   if (signal_pending(current)) {  \
-   ret = -ERESTARTSYS; \
-   break;  \
-   }   \
-   tty_unlock(tty);\
-   schedule(); \
-   tty_lock(tty);  \
-   }   \
-   finish_wait(, &__wait);  \
-} while (0)
+   ___wait_event(wq, condition, TASK_INTERRUPTIBLE, 0, ret,\
+   tty_unlock(tty);\
+   schedule(); \
+   tty_lock(tty))
 
 #ifdef CONFIG_PROC_FS
 extern void proc_tty_register_driver(struct tty_driver *);


--
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/


[PATCH 13/16] sched/wait: Collapse __wait_event_interruptible_tty()

2013-10-02 Thread Peter Zijlstra
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
---
 include/linux/tty.h  |   21 +
 include/linux/wait.h |  192 +++
 2 files changed, 63 insertions(+), 150 deletions(-)

--- a/include/linux/tty.h
+++ b/include/linux/tty.h
@@ -679,23 +679,10 @@ static inline void tty_wait_until_sent_f
 })
 
 #define __wait_event_interruptible_tty(tty, wq, condition, ret)
\
-do {   \
-   DEFINE_WAIT(__wait);\
-   \
-   for (;;) {  \
-   prepare_to_wait(wq, __wait, TASK_INTERRUPTIBLE);  \
-   if (condition)  \
-   break;  \
-   if (signal_pending(current)) {  \
-   ret = -ERESTARTSYS; \
-   break;  \
-   }   \
-   tty_unlock(tty);\
-   schedule(); \
-   tty_lock(tty);  \
-   }   \
-   finish_wait(wq, __wait);  \
-} while (0)
+   ___wait_event(wq, condition, TASK_INTERRUPTIBLE, 0, ret,\
+   tty_unlock(tty);\
+   schedule(); \
+   tty_lock(tty))
 
 #ifdef CONFIG_PROC_FS
 extern void proc_tty_register_driver(struct tty_driver *);


--
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/