On Tue, Apr 15, 2014 at 09:32:52PM +0900, Dongsheng Yang wrote: > From: Dongsheng <[email protected]> > > There is already a function in include/linux/wait.h to cover the > 'exclusive' usage. So we can use it in sched/wait.c to replace > the opened implementation of it. > > Signed-off-by: Dongsheng <[email protected]> > --- > kernel/sched/wait.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/kernel/sched/wait.c b/kernel/sched/wait.c > index 283750e..b04827e 100644 > --- a/kernel/sched/wait.c > +++ b/kernel/sched/wait.c > @@ -38,9 +38,8 @@ void add_wait_queue_exclusive(wait_queue_head_t *q, > wait_queue_t *wait) > unsigned long flags; > > trace_sched_wait(current); > - wait->flags |= WQ_FLAG_EXCLUSIVE; > spin_lock_irqsave(&q->lock, flags); > - __add_wait_queue_tail(q, wait); > + __add_wait_queue_tail_exclusive(q, wait); > spin_unlock_irqrestore(&q->lock, flags); > } > EXPORT_SYMBOL(add_wait_queue_exclusive); > @@ -192,10 +191,9 @@ prepare_to_wait_exclusive(wait_queue_head_t *q, > wait_queue_t *wait, int state) > unsigned long flags; > > trace_sched_wait(current); > - wait->flags |= WQ_FLAG_EXCLUSIVE; > spin_lock_irqsave(&q->lock, flags); > if (list_empty(&wait->task_list)) > - __add_wait_queue_tail(q, wait); > + __add_wait_queue_tail_exclusive(q, wait); > set_current_state(state); > spin_unlock_irqrestore(&q->lock, flags);
That is not a no-op, if !list_empty() we loose the WQ_flag -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

