Re: dm stripe: add DAX support

From: Kani, Toshimitsu
Date: Tue Jul 12 2016 - 18:56:22 EST


On Fri, 2016-06-24 at 14:29 -0400, Mike Snitzer wrote:
>Â
> BTW, if in your testing you could evaluate/quantify any extra overhead
> from DM that'd be useful to share.ÂÂIt could be there are bottlenecks
> that need to be fixed, etc.

Here are some results from fio benchmark. ÂThe test is single-threaded and is
bound to one CPU.

ÂDAX ÂLVM Â IOPS Â NOTE
Â---------------------------------------
 Y  ÂN  Â790K
 Y  ÂY  Â754K  5% overhead with LVM
 N  ÂN  Â567K
 N  ÂY  Â457K  20% overhead with LVM

ÂDAX: Y: mount -o dax,noatime, N: mount -o noatime
ÂLVM: Y: dm-linear on pmem0 device, N: pmem0 device
Âfio: bs=4k, size=2G, direct=1, rw=randread,Ânumjobs=1

Among the 5% overhead with DAX/LVM, the new DM direct_access interfaces
account for less than 0.5%.

Âdm_blk_direct_access 0.28%
Âlinear_direct_access 0.17%

The average latency increases slightly from 0.93us to 0.95us. ÂI think most of
the overhead comes from the submit_bio() path, which is used only for
accessing metadata with DAX. ÂI believe this is due to cloning bio for each
request in DM. ÂThere is 12% more L2 miss in total.

Without DAX, 20% overhead is observed with LVM. ÂAverage latency increases
from 1.39us to 1.82us. ÂWithout DAX, bio is cloned for both data and metadata.

Thanks,
-Toshi