On Fri, Oct 15, 2021 at 09:18:06AM +0000, Liu, Yi L wrote: > > Acquire from the xarray is > > rcu_lock() > > ioas = xa_load() > > if (ioas) > > if (down_read_trylock(&ioas->destroying_lock)) > > all good suggestions, will refine accordingly. Here destroying_lock is a > rw_semaphore. right? Since down_read_trylock() accepts a rwsem. Yes, you probably need a sleeping lock Jason