All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Lieven <pl@kamp.de>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] Qemu and heavily increased RSS usage
Date: Wed, 22 Jun 2016 21:55:51 +0200	[thread overview]
Message-ID: <576AED47.4010504@kamp.de> (raw)
In-Reply-To: <20160622105656.GC11330@stefanha-x1.localdomain>

Am 22.06.2016 um 12:56 schrieb Stefan Hajnoczi:
> On Tue, Jun 21, 2016 at 05:12:57PM +0200, Peter Lieven wrote:
>>  - We changed the coroutine pool to a per thread model. I disabled the pool. This seems
>>    to cut the max used RSS to about 150MB which is still a lot more than qemu-2.2.0
> The per-thread coroutine pools only grow when a thread creates/destroys
> coroutines.
>
> The QEMU main loop, iothread, and maybe vcpus should use coroutines.
> The numerous thread-pool worker threads should not use coroutines IIRC.
>
> Creating coroutines is expensive and the pools improve performance a
> lot.  Maybe you can make observations about how to manage pool size more
> efficiently for your VM?

I did not want to blame the coroutine pool. Its a good thing. I just wanted to
mention that we changed from a global pool (with a global mutex) to a thread
based pool. This might influence memory consumption. But the increased RSS
usage I observe is also there with disable coroutine pool.

What makes the coroutine pool memory intensive is the stack size of 1MB per
coroutine. Is it really necessary to have such a big stack?

Peter

  reply	other threads:[~2016-06-22 19:56 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-21  8:21 [Qemu-devel] Qemu and heavily increased RSS usage Peter Lieven
2016-06-21 13:18 ` Dr. David Alan Gilbert
2016-06-21 15:12   ` Peter Lieven
2016-06-22 10:56     ` Stefan Hajnoczi
2016-06-22 19:55       ` Peter Lieven [this message]
2016-06-22 20:56         ` Peter Maydell
2016-06-24  9:37           ` Stefan Hajnoczi
2016-06-24  9:53             ` Peter Lieven
2016-06-24  9:57               ` Dr. David Alan Gilbert
2016-06-24  9:58             ` Peter Maydell
2016-06-24 10:45               ` Peter Lieven
2016-06-27 12:39                 ` Stefan Hajnoczi
2016-06-27 13:33                   ` Peter Lieven
2016-06-23  9:57   ` Peter Lieven
2016-06-24 22:57     ` Michael S. Tsirkin
2016-06-23 14:58   ` Peter Lieven
2016-06-23 15:00     ` Dr. David Alan Gilbert
2016-06-23 15:02       ` Peter Lieven
2016-06-23 15:21     ` Paolo Bonzini
2016-06-23 15:31       ` Peter Lieven
2016-06-23 15:47         ` Paolo Bonzini
2016-06-23 16:19           ` Peter Lieven
2016-06-23 16:53             ` Paolo Bonzini
2016-06-23 21:28               ` Peter Lieven
2016-06-24  4:10                 ` Paolo Bonzini
2016-06-24  8:11                   ` Peter Lieven
2016-06-24  8:20                     ` Paolo Bonzini
2016-06-24  8:45                       ` Peter Lieven

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=576AED47.4010504@kamp.de \
    --to=pl@kamp.de \
    --cc=dgilbert@redhat.com \
    --cc=pbonzini@redhat.com \
    --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.