Subject: Re: linux-next: manual merge of the tip tree

From: NeilBrown <[email-masked]>
Date: Thu, 17 Oct 2013 12:29:22 +1100

On Wed, 16 Oct 2013 23:30:05 +0200 Peter Zijlstra <[email-masked]>
wrote:

> On Wed, Oct 16, 2013 at 08:51:39PM +0200, Thierry Reding wrote:
> > Today's linux-next merge of the tip tree got a conflict in
> > 
> > 	include/linux/wait.h
> > 
> > caused by commits 1ab2460 (wait: add wait_event_cmd()) and fb869b6
> > (sched/wait: Clean up wait.h details a bit).
> > 
> > I've cleaned it up (see below). Please verify that the resolution looks
> > good.
> 
> >  +#define __wait_event_cmd(wq, condition, cmd1, cmd2)			\
> >  +do {									\
> >  +	DEFINE_WAIT(__wait);						\
> >  +									\
> >  +	for (;;) {							\
> >  +		prepare_to_wait(&wq, &__wait, TASK_UNINTERRUPTIBLE);	\
> >  +		if (condition)						\
> >  +			break;						\
> >  +		cmd1;							\
> >  +		schedule();						\
> >  +		cmd2;							\
> >  +	}								\
> >  +	finish_wait(&wq, &__wait);					\
> >  +} while (0)
> 
> Ideally we'd write the new thing like:
> 
> #define __wait_event_cmd(wq, condition, cmd1, cmd2) 			\
> 	(void)___wait_event(wq, condition, TASK_UNINTERRUPTIBLE, 0, 0,	\
> 			    cmd1; schedule(); cmd2)
> 

Oooo.. that looks much nicer.  I'll make it look like that before it goes
upstream.

Thanks,
NeilBrown