[dm-devel] [PATCHES]: dm lock optimization
Mikulas Patocka
mpatocka at redhat.com
Sat Apr 21 16:17:38 UTC 2012
On Thu, 19 Apr 2012, Jun'ichi Nomura wrote:
> Hello Mikulas,
>
> On 04/19/12 12:03, Mikulas Patocka wrote:
> > http://people.redhat.com/mpatocka/patches/kernel/dm-lock-optimization/
> >
> > The patches remove cache-line bouncing from device mapper when multiple
> > processors submit requests simultaneously.
>
> I think the idea of optimization is nice.
>
> >From a quick look, however, I have some comments:
>
> dm-optimize-no-irqsave-map-lock.patch:
> - dm_get_live_table() is called from request_fn,
> that can be called from in_interrupt context.
> So the added BUG_ON will be triggered.
>
> dm-optimize-percpu-io-lock.patch:
> - The following existing mechanisms could be used:
> * include/linux/rcupdate.h
> * include/linux/lglock.h
> (or extended if necessary).
>
> dm-optimize-get_live_table_fast.patch:
> - dm_lld_busy() can (theoretically, if dm-mpath is stacked)
> be called from in_interrupt context and trigger the
> BUG_ON.
>
> --
> Jun'ichi Nomura, NEC Corporation
Hi
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
Mikulas
More information about the dm-devel
mailing list