Re: [PATCH] aio: Convert ioctx_table to XArray

From: Jens Axboe
Date: Tue Dec 11 2018 - 13:55:00 EST

On 12/11/18 11:53 AM, Matthew Wilcox wrote:
> On Tue, Dec 11, 2018 at 11:46:53AM -0700, Jens Axboe wrote:
>> On 12/11/18 11:45 AM, Matthew Wilcox wrote:
>>> I think we need the rcu read lock here to prevent ctx from being freed
>>> under us by free_ioctx().
>> Then that begs the question, how about __xa_load() that is already called
>> under RCU read lock?
> I've been considering adding it to the API, yes. I was under the
> impression that nested rcu_read_lock() calls were not expensive, even

They are not expensive, but they are not free either. And if we know we
are already under a rcu read lock, it seems pretty pointless. For the
two cases (memremap and aio), the rcu read lock is right there, before
the call. Easy to verify that it's safe.

Jens Axboe