All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcelo Tosatti <mtosatti@redhat.com>
To: Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>
Cc: Takuya Yoshikawa <takuya.yoshikawa@gmail.com>,
	avi@redhat.com, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/4 changelog-v2] KVM: Switch to srcu-less get_dirty_log()
Date: Thu, 8 Mar 2012 21:08:35 -0300	[thread overview]
Message-ID: <20120309000835.GA25838@amt.cnet> (raw)
In-Reply-To: <20120308103545.24b81093.yoshikawa.takuya@oss.ntt.co.jp>

On Thu, Mar 08, 2012 at 10:35:45AM +0900, Takuya Yoshikawa wrote:
> Marcelo Tosatti <mtosatti@redhat.com> wrote:
> 
> > What is worrying are large memory cases: think of the 50GB slot case.
> > 100ms hold time is pretty bad (and reacquiring the lock is relatively
> > simple).
> > 
> 
> OK, I agree basically.
> 
> But let me explain one thing before deciding what I should do next.
> 
> With my method, even when we use a 50GB slot, the hold time will be under
> 10ms -- not 100ms -- if the memory actually updated from the last time is
> 1GB (256K dirty pages).
> 
> > >   8747274.0   10973.3       33.3      -31%    -3%    256K
>   Note that this unit-test was done on my tiny core-i3 32-bit host.
>   On servers which can install more than 50GB memory, this will become
>   much faster: actually my live migration tests done on Xeon saw much
>   better numbers.  Unit-test has been tuned for the worst case.
> 
> I admit that if the dirty memory size is more than 10GB, we may see over
> 100ms hold time you are worrying about.
> 
>   For that I was proposing introducing a new GET_DIRTY_LOG API which can
>   restrict the number of dirty pages we get the log - but this is a long
>   term goal.
> 
> 
> So, I am OK to try to introduce cond_resched_lock_cb() as you suggested.
> But, as I explained above, my current implementation does not introduce
> any real regression concerning to mmu_lock hold time:
> 
>   Before we could see 10ms hold time in real workloads:
>   > funcgraph_entry:      ! 9783.060 us |  kvm_mmu_slot_remove_write_access();
> 
>   I have never seen ms hold time with my method in the same workloads.
> 
> So, it would be helpful if you can apply the patch series and I can work
> on top of that: although I cannot use servers with 100GB memory now,
> migrating a guest with 16GB memory or so may be possible later: I need
> to reserve servers for that.

Makes sense.

It looks good to me, Avi can you review & ack please?

> I also want to know "mmu_lock -- TLB flush"-decoupling plan.  We will not
> need to introduce cond_resched_lock_cb() in sched.h if that is possible.
> 
> Thanks,
> 	Takuya

  reply	other threads:[~2012-03-09  0:08 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-01 10:30 [PATCH 0/4] KVM: srcu-less dirty logging -v2 Takuya Yoshikawa
2012-03-01 10:31 ` [PATCH 1/4] KVM: MMU: Split the main body of rmap_write_protect() off from others Takuya Yoshikawa
2012-03-12  7:39   ` Takuya Yoshikawa
2012-03-12  7:52     ` Takuya Yoshikawa
2012-03-01 10:32 ` [PATCH 2/4] KVM: Avoid checking huge page mappings in get_dirty_log() Takuya Yoshikawa
2012-03-02  2:56   ` Takuya Yoshikawa
2012-03-02  5:11     ` Takuya Yoshikawa
2012-03-12 18:04   ` Avi Kivity
2012-03-13  9:20     ` Takuya Yoshikawa
2012-03-13 10:12       ` Avi Kivity
2012-03-13 23:04   ` Marcelo Tosatti
2012-03-14  1:04     ` Takuya Yoshikawa
2012-03-14  5:34     ` Takuya Yoshikawa
2012-03-14 10:58       ` Marcelo Tosatti
2012-03-01 10:33 ` [PATCH 3/4] KVM: Switch to srcu-less get_dirty_log() Takuya Yoshikawa
2012-03-03  5:21   ` [PATCH 3/4 changelog-v2] " Takuya Yoshikawa
2012-03-06 11:15     ` Marcelo Tosatti
2012-03-06 14:43       ` Takuya Yoshikawa
2012-03-06 15:01         ` Marcelo Tosatti
2012-03-06 15:23           ` Takuya Yoshikawa
2012-03-06 15:28             ` Marcelo Tosatti
2012-03-07  8:07               ` Takuya Yoshikawa
2012-03-07 23:25                 ` Marcelo Tosatti
2012-03-08  1:35                   ` Takuya Yoshikawa
2012-03-09  0:08                     ` Marcelo Tosatti [this message]
2012-03-12 12:05                       ` Avi Kivity
2012-03-07  8:18               ` Takuya Yoshikawa
2012-03-07 23:20                 ` Marcelo Tosatti
2012-03-16  5:03   ` [PATCH 3/4] " Xiao Guangrong
2012-03-16  6:55     ` Takuya Yoshikawa
2012-03-16  7:30       ` Xiao Guangrong
2012-03-16  7:55         ` Takuya Yoshikawa
2012-03-16  8:28           ` Xiao Guangrong
2012-03-16  9:44             ` Takuya Yoshikawa
2012-03-19  9:34               ` Xiao Guangrong
2012-03-19 10:15                 ` Takuya Yoshikawa
2012-03-01 10:34 ` [PATCH 4/4] KVM: Remove unused dirty_bitmap_head and nr_dirty_pages Takuya Yoshikawa
2012-03-03  5:12 ` [PATCH 0/4] KVM: srcu-less dirty logging -v2 Takuya Yoshikawa
2012-03-20 14:43 ` Avi Kivity

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=20120309000835.GA25838@amt.cnet \
    --to=mtosatti@redhat.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=takuya.yoshikawa@gmail.com \
    --cc=yoshikawa.takuya@oss.ntt.co.jp \
    /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.