Re: [PATCH v8 1/9] dax: Use percpu rwsem for dax_{read,write}_lock()

From: Shiyang Ruan
Date: Tue Dec 14 2021 - 21:06:39 EST




在 2021/12/14 23:40, Christoph Hellwig 写道:
On Thu, Dec 02, 2021 at 04:48:48PM +0800, Shiyang Ruan wrote:
In order to introduce dax holder registration, we need a write lock for
dax. Change the current lock to percpu_rw_semaphore and introduce a
write lock for registration.

Why do we need to change the existing, global locking for that?

I think we have talked about this in the previous v7 patchset:


https://lore.kernel.org/nvdimm/20210924130959.2695749-1-ruansy.fnst@xxxxxxxxxxx/T/#m4031bc3dc49dcbaac6f8d99877f910fa9a6f998a

If it is a global lock, any write lock will block other dax devices.


What is the impact of this to benchmarks? Also if we stop using srcu
protection, we should be able to get rid of grace periods or RCU frees.

I didn't test in benchmarks for now. Could you show me which one I should test this code on? I am not familiar with this...


--
Thanks,
Ruan.