Re: [PATCH v8 1/9] dax: Use percpu rwsem for dax_{read,write}_lock()
On Wed, Dec 15, 2021 at 10:06:29AM +0800, Shiyang Ruan wrote: > > > 在 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.f...@fujitsu.com/T/#m4031bc3dc49dcbaac6f8d99877f910fa9a6f998a Any kind of rationale needs to go into the patch description. > 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... Just normal read/write I/O on a DAX device.
Re: [PATCH v8 1/9] dax: Use percpu rwsem for dax_{read,write}_lock()
在 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.f...@fujitsu.com/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.
Re: [PATCH v8 1/9] dax: Use percpu rwsem for dax_{read,write}_lock()
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? 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.