All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dongmao Zhang <dmzhang@suse.com>
To: Brassow Jonathan <jbrassow@redhat.com>
Cc: dm-devel@redhat.com, agk@redhat.com
Subject: Re: [PATCH 0/2] patches to improve cluster raid1 performance [V2]
Date: Fri, 27 Sep 2013 15:59:11 +0800	[thread overview]
Message-ID: <52453ACF.7050803@suse.com> (raw)
In-Reply-To: <5CE90943-3783-472B-BCCD-BF1F392599C3@redhat.com>

great, thanks for your response:)


于 2013年09月27日 01:17, Brassow Jonathan 写道:
> I'll try to look these patches over during the next couple days.  Thanks for sending.
>
> One thing I'll be looking for is that any delays in the flush don't violate the need for dm-raid1.c to ensure that the log changes have hit the disk before performing any writes.
>
>   brassow
>
> On Sep 26, 2013, at 5:50 AM, dongmao zhang wrote:
>
>> This patch change DM_ULOG_REQUEST_VERSION from 2 to 3. It could
>> tell cmirrord that kernel is now supporting delay some flushes, and
>> cmirrord will do someting accordingly.
>>
>>
>> Based on my test result, the cluster raid1 writes loss 80% performance. I found
>> that the most time is occupied by the function userspace_flush.
>>
>> Usually userspace_flush needs three stages(mark, clear, flush)to communicate with cmirrord.
>>
>>>  From the cmirrord's perspective, mark and flush functions run cluster_send first and then return to
>> the kernel.
>>
>> In other words, the requests of mark_region and flush in userspace_flush
>> at least require a cluster_send period to finish. this is the root cause
>> of bad performance.
>>
>> The idea is to merge flush and mark request together in both cmirrord and dm-log-userspace.
>>
>> We run clog_flush directly after clog_mark_region. So the userspace_flush do not
>> have to request flush again after requesting mark_region.  Moreover, I think the flush
>> of clear region could be delayed. If we have both mark and clear region, only sending
>> a mark_region request is OK, because clog_flush will automatically run.(ignore the clean_region
>> time). It only takes one cluster_send period. If we have only mark region,
>> a mark_region request is also OK, it takes one cluster_send period. If we have only
>> clear_region, we could delay the flush of cleared_region for 3 seconds.
>>
>> Overall, before the patch, mark_region require approximately two cluster_send
>> period(mark_region and flush), after the patch, mark_region only needs one
>> cluster_send period. Based on my test, the performance is as twice as before.
>>
>>
>>
>> dongmao zhang (2):
>>   improve the performance of dm-log-userspace
>>   change API of dm-log-userspace to support delay flush
>>
>> drivers/md/dm-log-userspace-base.c    |  109 ++++++++++++++++++++++++++++++---
>> include/uapi/linux/dm-log-userspace.h |    2 +-
>> 2 files changed, 101 insertions(+), 10 deletions(-)
>>
>> --
>> 1.7.3.4
>>
>> --
>> dm-devel mailing list
>> dm-devel@redhat.com
>> https://www.redhat.com/mailman/listinfo/dm-devel
>
>

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

  reply	other threads:[~2013-09-27  7:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-09-26 10:50 [PATCH 0/2] patches to improve cluster raid1 performance [V2] dongmao zhang
2013-09-26 10:50 ` [PATCH 1/2] improve the performance of dm-log-userspace dongmao zhang
2013-09-26 10:50 ` [PATCH 2/2] change API of dm-log-userspace to support delay flush dongmao zhang
2013-09-26 17:17 ` [PATCH 0/2] patches to improve cluster raid1 performance [V2] Brassow Jonathan
2013-09-27  7:59   ` Dongmao Zhang [this message]
2013-09-30 14:24 ` Brassow Jonathan
2013-10-08  8:33   ` Dong Mao Zhang
2013-10-10 16:29     ` Brassow Jonathan
2013-10-15  6:32       ` Dongmao Zhang
2013-10-18 21:04         ` Brassow Jonathan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52453ACF.7050803@suse.com \
    --to=dmzhang@suse.com \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=jbrassow@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.