Re: [PATCH] eventfd signal race in aio_complete()

From: Jeff Roberson
Date: Sat Mar 08 2008 - 16:39:28 EST


On Sat, 8 Mar 2008, Davide Libenzi wrote:

On Sat, 8 Mar 2008, Rik van Riel wrote:

On Fri, 7 Mar 2008 20:29:20 -0800 (PST)
Davide Libenzi <davidel@xxxxxxxxxxxxxxx> wrote:

The second solution/patch simply moves the eventfd_signal() call before
the __aio_put_req() call, but after the event has beed "ringed".
We should be clear to go with the shorter/nicer second solution. Those
patches builds, but I'm not even signing them off till I tested them.

If there are no spinlock ordering issues between &ctx->ctx_lock
and &ctx->wqh.lock (taken inside eventfd_signal), then the second
patch is indeed preferable.

Jeff and I did look at that briefly last night, but were not
familiar enough with the code to decide whether or not that was
safe.

There's no interlocking between the two, so let's go with #2.
Jeff, would you mind giving patch #2 a spin in your test suite?

I agree #2 would be best as well. It may take me a few days due to some equipment issues but I will get back to you as soon as I can.

Thanks,
Jeff




- Davide


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