[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] [PATCHES]: dm lock optimization
- From: "Jun'ichi Nomura" <j-nomura ce jp nec com>
- To: Mikulas Patocka <mpatocka redhat com>
- Cc: device-mapper development <dm-devel redhat com>, "Alasdair G. Kergon" <agk redhat com>
- Subject: Re: [dm-devel] [PATCHES]: dm lock optimization
- Date: Mon, 23 Apr 2012 19:56:52 +0900
Hi Mikulas,
On 04/22/12 01:17, Mikulas Patocka wrote:
> I created new patches that use rcu instead of map_lock, so they address
> the issues you mentioned. Get the new patches here:
> http://people.redhat.com/mpatocka/patches/kernel/dm-lock-optimization/
>
> performance with new patches:
> no patch: 69.3
> patch 1: 54.0
> patch 1,2: 44.2
> patch 1,2,3: 39.8
> patch 1,2,3,4: 32.7
Thank you. I have 2 comments for the new patches.
synchronize_rcu could be put in dm_table_destroy() instead of __bind().
I think it's safer place to wait.
io_lock could be converted to SRCU.
I.e. something like:
On reader-side:
idx = srcu_read_lock(io_srcu);
if (!DMF_BLOCK_IO_FOR_SUSPEND)
split_and_process_bio();
srcu_read_unlock(io_srcu,idx);
In dm_suspend:
set_bit(DMF_BLOCK_IO_FOR_SUSPEND);
mb();
synchronize_srcu(io_srcu);
<from here, nobody will enter split_and_process_bio>
That makes dm-optimize-percpu-io-lock.patch simpler.
dm-optimize-take-io_lock-on-table-swap.patch may become simpler, too.
--
Jun'ichi Nomura, NEC Corporation
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]