Re: [patch] fs: aio fix rcu lookup

From: Nick Piggin
Date: Thu Jan 20 2011 - 13:32:40 EST


On Thu, Jan 20, 2011 at 3:03 PM, Paul E. McKenney
<paulmck@xxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Jan 20, 2011 at 08:20:00AM +1100, Nick Piggin wrote:
>> On Thu, Jan 20, 2011 at 8:03 AM, Jeff Moyer <jmoyer@xxxxxxxxxx> wrote:
>> >> I don't know exactly how all programs use io_destroy -- of the small
>> >> number that do, probably an even smaller number would care here. But I
>> >> don't think it simplifies things enough to use synchronize_rcu for it.
>> >
>> > Above it sounded like you didn't think AIO should be using RCU at all.
>>
>> synchronize_rcu of course, not RCU (typo).
>
> I think that Nick is suggesting that call_rcu() be used instead.
> Perhaps also very sparing use of synchronize_rcu_expedited(), which
> is faster than synchronize_rcu(), but which which uses more CPU time.

call_rcu() is the obvious alternative, yes.

Basically, once we give in to synchronize_rcu() we're basically giving
up. That's certainly a very good tradeoff for something like filesystem
unregistration or module unload, it buys big simplifications in real
fastpaths. But I just don't think it should be taken lightly.
--
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/