All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Lieven <pl@dlh.net>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: kvm@vger.kernel.org, Gleb Natapov <gleb@redhat.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] linux guests and ksm performance
Date: Tue, 28 Feb 2012 13:16:45 +0100	[thread overview]
Message-ID: <4F4CC5AD.4020005@dlh.net> (raw)
In-Reply-To: <CAJSP0QWj0fJT-P-yHKicz4mGyhW4RnWXgimNad07JYXew5qmZw@mail.gmail.com>

On 28.02.2012 13:05, Stefan Hajnoczi wrote:
> On Tue, Feb 28, 2012 at 11:46 AM, Peter Lieven<pl@dlh.net>  wrote:
>> On 24.02.2012 08:23, Stefan Hajnoczi wrote:
>>> On Fri, Feb 24, 2012 at 6:53 AM, Stefan Hajnoczi<stefanha@gmail.com>
>>>   wrote:
>>>> On Fri, Feb 24, 2012 at 6:41 AM, Stefan Hajnoczi<stefanha@gmail.com>
>>>>   wrote:
>>>>> On Thu, Feb 23, 2012 at 7:08 PM, peter.lieven@gmail.com<pl@dlh.net>
>>>>>   wrote:
>>>>>> Stefan Hajnoczi<stefanha@gmail.com>    schrieb:
>>>>>>
>>>>>>> On Thu, Feb 23, 2012 at 3:40 PM, Peter Lieven<pl@dlh.net>    wrote:
>>>>>>>> However, in a virtual machine I have not observed the above slow down
>>>>>>> to
>>>>>>>> that extend
>>>>>>>> while the benefit of zero after free in a virtualisation environment
>>>>>>> is
>>>>>>>> obvious:
>>>>>>>>
>>>>>>>> 1) zero pages can easily be merged by ksm or other technique.
>>>>>>>> 2) zero (dup) pages are a lot faster to transfer in case of
>>>>>>> migration.
>>>>>>>
>>>>>>> The other approach is a memory page "discard" mechanism - which
>>>>>>> obviously requires more code changes than zeroing freed pages.
>>>>>>>
>>>>>>> The advantage is that we don't take the brute-force and CPU intensive
>>>>>>> approach of zeroing pages.  It would be like a fine-grained ballooning
>>>>>>> feature.
>>>>>>>
>>>>>> I dont think that it is cpu intense. All user pages are zeroed anyway,
>>>>>> but at allocation time it shouldnt be a big difference in terms of cpu
>>>>>> power.
>>>>> It's easy to find a scenario where eagerly zeroing pages is wasteful.
>>>>> Imagine a process that uses all of physical memory.  Once it
>>>>> terminates the system is going to run processes that only use a small
>>>>> set of pages.  It's pointless zeroing all those pages if we're not
>>>>> going to use them anymore.
>>>> Perhaps the middle path is to zero pages but do it after a grace
>>>> timeout.  I wonder if this helps eliminate the 2-3% slowdown you
>>>> noticed when compiling.
>>> Gah, it's too early in the morning.  I don't think this timer actually
>>> makes sense.
>>
>> do you think it makes then sense to make a patchset/proposal to notice a
>> guest
>> kernel about the presense of ksm in the host and switch to zero after free?
> I think your idea is interesting - whether or not people are happy
> with it will depend on the performance impact.  It seems reasonable to
> me.
could you support/help me in implementing and publishing this approach?

Peter

WARNING: multiple messages have this Message-ID (diff)
From: Peter Lieven <pl@dlh.net>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: Gleb Natapov <gleb@redhat.com>,
	kvm@vger.kernel.org, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] linux guests and ksm performance
Date: Tue, 28 Feb 2012 13:16:45 +0100	[thread overview]
Message-ID: <4F4CC5AD.4020005@dlh.net> (raw)
In-Reply-To: <CAJSP0QWj0fJT-P-yHKicz4mGyhW4RnWXgimNad07JYXew5qmZw@mail.gmail.com>

On 28.02.2012 13:05, Stefan Hajnoczi wrote:
> On Tue, Feb 28, 2012 at 11:46 AM, Peter Lieven<pl@dlh.net>  wrote:
>> On 24.02.2012 08:23, Stefan Hajnoczi wrote:
>>> On Fri, Feb 24, 2012 at 6:53 AM, Stefan Hajnoczi<stefanha@gmail.com>
>>>   wrote:
>>>> On Fri, Feb 24, 2012 at 6:41 AM, Stefan Hajnoczi<stefanha@gmail.com>
>>>>   wrote:
>>>>> On Thu, Feb 23, 2012 at 7:08 PM, peter.lieven@gmail.com<pl@dlh.net>
>>>>>   wrote:
>>>>>> Stefan Hajnoczi<stefanha@gmail.com>    schrieb:
>>>>>>
>>>>>>> On Thu, Feb 23, 2012 at 3:40 PM, Peter Lieven<pl@dlh.net>    wrote:
>>>>>>>> However, in a virtual machine I have not observed the above slow down
>>>>>>> to
>>>>>>>> that extend
>>>>>>>> while the benefit of zero after free in a virtualisation environment
>>>>>>> is
>>>>>>>> obvious:
>>>>>>>>
>>>>>>>> 1) zero pages can easily be merged by ksm or other technique.
>>>>>>>> 2) zero (dup) pages are a lot faster to transfer in case of
>>>>>>> migration.
>>>>>>>
>>>>>>> The other approach is a memory page "discard" mechanism - which
>>>>>>> obviously requires more code changes than zeroing freed pages.
>>>>>>>
>>>>>>> The advantage is that we don't take the brute-force and CPU intensive
>>>>>>> approach of zeroing pages.  It would be like a fine-grained ballooning
>>>>>>> feature.
>>>>>>>
>>>>>> I dont think that it is cpu intense. All user pages are zeroed anyway,
>>>>>> but at allocation time it shouldnt be a big difference in terms of cpu
>>>>>> power.
>>>>> It's easy to find a scenario where eagerly zeroing pages is wasteful.
>>>>> Imagine a process that uses all of physical memory.  Once it
>>>>> terminates the system is going to run processes that only use a small
>>>>> set of pages.  It's pointless zeroing all those pages if we're not
>>>>> going to use them anymore.
>>>> Perhaps the middle path is to zero pages but do it after a grace
>>>> timeout.  I wonder if this helps eliminate the 2-3% slowdown you
>>>> noticed when compiling.
>>> Gah, it's too early in the morning.  I don't think this timer actually
>>> makes sense.
>>
>> do you think it makes then sense to make a patchset/proposal to notice a
>> guest
>> kernel about the presense of ksm in the host and switch to zero after free?
> I think your idea is interesting - whether or not people are happy
> with it will depend on the performance impact.  It seems reasonable to
> me.
could you support/help me in implementing and publishing this approach?

Peter

  reply	other threads:[~2012-02-28 12:16 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-23 15:40 linux guests and ksm performance Peter Lieven
2012-02-23 15:40 ` [Qemu-devel] " Peter Lieven
2012-02-23 16:42 ` Stefan Hajnoczi
2012-02-23 16:42   ` [Qemu-devel] " Stefan Hajnoczi
2012-02-23 18:39   ` Javier Guerra Giraldez
2012-02-23 18:39     ` [Qemu-devel] " Javier Guerra Giraldez
2012-02-23 19:08   ` peter.lieven@gmail.com
2012-02-23 19:08     ` [Qemu-devel] " peter.lieven@gmail.com
2012-02-24  6:41     ` Stefan Hajnoczi
2012-02-24  6:41       ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  6:53       ` Stefan Hajnoczi
2012-02-24  6:53         ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  7:23         ` Stefan Hajnoczi
2012-02-24  7:23           ` [Qemu-devel] " Stefan Hajnoczi
2012-02-24  7:43           ` Peter Lieven
2012-02-24  7:43             ` [Qemu-devel] " Peter Lieven
2012-02-28 11:45           ` Peter Lieven
2012-02-28 11:46           ` Peter Lieven
2012-02-28 12:05             ` Stefan Hajnoczi
2012-02-28 12:16               ` Peter Lieven [this message]
2012-02-28 12:16                 ` Peter Lieven
2012-02-28 13:16       ` Avi Kivity
2012-02-28 13:16         ` [Qemu-devel] " Avi Kivity
2012-02-28 13:20         ` Peter Lieven
2012-02-28 13:20           ` [Qemu-devel] " Peter Lieven
2012-02-28 13:56           ` Avi Kivity
2012-02-28 13:56             ` [Qemu-devel] " Avi Kivity
2012-02-24  7:04   ` Gleb Natapov
2012-02-24  7:04     ` [Qemu-devel] " Gleb Natapov
2012-02-28 13:14   ` Avi Kivity
2012-02-28 13:14     ` [Qemu-devel] " 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=4F4CC5AD.4020005@dlh.net \
    --to=pl@dlh.net \
    --cc=gleb@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.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.