Re: [PATCH 0/2] wait: introduce WQ_FLAG_EXCLUSIVE_HEAD

From: Dilger, Andreas
Date: Thu Mar 20 2014 - 22:47:00 EST


On 2014/03/20, 11:51 AM, "Oleg Nesterov" <oleg@xxxxxxxxxx> wrote:

>On 03/19, Oleg Nesterov wrote:
>>
>> OK, I'll try to test/cleanup/resend tomorrow.
>
>Cough. Still un-tested, sorry. I will test it somehow and report,
>but I'd like to send this for review right now.
>
>Because I simply can't decide what the new flag should actually
>do, so please ack/nack the semantics/naming at least.
>
>Changes:
>
> 1. I decided it would be better to change __wait_event()
> to accept wait.flags right now. This looks better in
> any case to me, and otherwise we need to introduce the
> __wait_exclusive_enum.
>
> The change looks trivial (both actually), please tell
> me if you think it doesn't deserve a separate patch.
>
> 2. I won't insist, but WQ_FLAG_EXCLUSIVE_HEAD can be used
> without WQ_FLAG_EXCLUSIVE.
>
> Unlikely this can be useful, but it looks more natural
> this way. Otherwise we need to add another check to
> ensure that WQ_FLAG_EXCLUSIVE_HEAD can't come alone.
>
> However, perhaps this means the new flag needs another
> name. I agree in advance with any.

What about:

#define WQ_FLAG_HEAD 0x02

#define WQ_FLAG_EXCLUSIVE_HEAD (WQ_FLAG_HEAD | WQ_FLAG_EXCLUSIVE)

That avoids having WQ_FLAG_EXCLUSIVE_HEAD not actually meaning "exclusive"?

Patches look reasonable at first glance. The second patch would need
to be changed to handle that WQ_FLAG_EXCLUSIVE_HEAD has both bits set
(probably just replace uses of WQ_FLAG_EXCLUSIVE_HEAD with WQ_FLAG_HEAD).

Cheers, Andreas
--
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/