From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45380) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGCB1-0004RM-Ck for qemu-devel@nongnu.org; Thu, 23 Jun 2016 17:28:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bGCAw-0005wX-Df for qemu-devel@nongnu.org; Thu, 23 Jun 2016 17:28:43 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:43003 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bGCAw-0005v9-49 for qemu-devel@nongnu.org; Thu, 23 Jun 2016 17:28:38 -0400 Message-ID: <576C5481.6070605@kamp.de> Date: Thu, 23 Jun 2016 23:28:33 +0200 From: Peter Lieven MIME-Version: 1.0 References: <5768F923.7040502@kamp.de> <20160621131815.GB2264@work-vm> <576BF910.70304@kamp.de> <178ee05d-cb23-e1ba-5a7f-87a5caef1e91@redhat.com> <576C00D1.9020202@kamp.de> <48f0c4a6-8c26-446d-1dfd-c79da0c18707@redhat.com> <576C0C1D.9090709@kamp.de> In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] Qemu and heavily increased RSS usage List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , "Dr. David Alan Gilbert" Cc: "qemu-devel@nongnu.org" , Fam Zheng , Peter Maydell Am 23.06.2016 um 18:53 schrieb Paolo Bonzini: > > On 23/06/2016 18:19, Peter Lieven wrote: >> Mhh, so your idea could be right. But what to do now? The introduction >> of RCU obviously increases the short term RSS usage. But thats never >> corrected as it seems. >> >> I see this behaviour with kernel 3.19 and kernel 4.4 > If it's 10M nothing. If there is a 100M regression that is also caused > by RCU, we have to give up on it for that data structure, or mmap/munmap > the affected data structures. If it was only 10MB I would agree. But if I run the VM described earlier in this thread it goes from ~35MB with Qemu-2.2.0 to ~130-150MB with current master. This is with coroutine pool disabled. With the coroutine pool it can grow to sth like 300-350MB. Is there an easy way to determinate if RCU is the problem? I have the same symptoms, valgrind doesn't see the allocated memory. Is it possible to make rcu_call directly invoking the function - maybe with a lock around it that serializes the calls? Even if its expensive it might show if we search at the right place. Thanks, Peter