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?
--
- Davide