From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36696) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHqxY-00043U-DG for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:13:41 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bHqxR-0000Ou-N9 for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:13:39 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:56083 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bHqxR-0000Oe-Dy for qemu-devel@nongnu.org; Tue, 28 Jun 2016 07:13:33 -0400 References: <1467104499-27517-1-git-send-email-pl@kamp.de> <1467104499-27517-4-git-send-email-pl@kamp.de> From: Peter Lieven Message-ID: <57725BD6.4040305@kamp.de> Date: Tue, 28 Jun 2016 13:13:26 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 03/15] coroutine-ucontext: reduce stack size to 64kB List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , qemu-devel@nongnu.org Cc: kwolf@redhat.com, peter.maydell@linaro.org, mst@redhat.com, dgilbert@redhat.com, mreitz@redhat.com, kraxel@redhat.com Am 28.06.2016 um 12:54 schrieb Paolo Bonzini: > > On 28/06/2016 11:01, Peter Lieven wrote: >> evaluation with the recently introduced maximum stack size monitoring revealed >> that the actual used stack size was never above 4kB so allocating 1MB stack >> for each coroutine is a lot of wasted memory. So reduce the stack size to >> 64kB which should still give enough head room. > If we make the stack this much smaller, there is a non-zero chance of > smashing it. You must add a guard page if you do this (actually more > than one because QEMU will happily have stack frames as big as 16 KB). > The stack counts for RSS but it's not actually allocated memory, so why > does it matter? Is there an easy way to determinate how much of the RSS is actually allocated? I erroneously it was all allocated.... So as for the stack, the MAP_GROWSDOWN is it really important? Will the kernel allocate all pages of the stack otherwise if the last page is written? I am asking because I don't know if MAP_GROWSDOWN is a good idea as Peter mentioned there were discussions to deprecate it. Peter