From patchwork Tue Aug 23 14:21:45 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Lieven X-Patchwork-Id: 9295751 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 44924607F0 for ; Tue, 23 Aug 2016 14:26:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 35DB228702 for ; Tue, 23 Aug 2016 14:26:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2AA41287F8; Tue, 23 Aug 2016 14:26:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=2.0 tests=BAYES_00,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id A8DA828702 for ; Tue, 23 Aug 2016 14:26:51 +0000 (UTC) Received: from localhost ([::1]:46853 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcCfC-00078G-Qo for patchwork-qemu-devel@patchwork.kernel.org; Tue, 23 Aug 2016 10:26:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40648) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcCak-0002xi-0y for qemu-devel@nongnu.org; Tue, 23 Aug 2016 10:22:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bcCad-0002hU-H5 for qemu-devel@nongnu.org; Tue, 23 Aug 2016 10:22:12 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:60462 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bcCad-0002hJ-7x for qemu-devel@nongnu.org; Tue, 23 Aug 2016 10:22:07 -0400 Received: (qmail 3875 invoked by uid 89); 23 Aug 2016 14:22:03 -0000 Received: from [195.62.97.28] by client-16-kamp (envelope-from , uid 89) with qmail-scanner-2010/03/19-MF (clamdscan: 0.99.2/22129. avast: 1.2.2/16082300. spamassassin: 3.4.1. Clear:RC:1(195.62.97.28):. Processed in 0.261216 secs); 23 Aug 2016 14:22:03 -0000 Received: from smtp.kamp.de (HELO submission.kamp.de) ([195.62.97.28]) by mx01.kamp.de with ESMTPS (DHE-RSA-AES256-GCM-SHA384 encrypted); 23 Aug 2016 14:22:00 -0000 X-GL_Whitelist: yes Received: (qmail 4811 invoked from network); 23 Aug 2016 14:21:50 -0000 Received: from lieven-pc.kamp-intra.net (HELO lieven-pc) (relay@kamp.de@::ffff:172.21.12.60) by submission.kamp.de with ESMTPS (DHE-RSA-AES256-GCM-SHA384 encrypted) ESMTPA; 23 Aug 2016 14:21:50 -0000 Received: by lieven-pc (Postfix, from userid 1000) id 8A4BA208AB; Tue, 23 Aug 2016 16:21:48 +0200 (CEST) From: Peter Lieven To: qemu-devel@nongnu.org Date: Tue, 23 Aug 2016 16:21:45 +0200 Message-Id: <1471962105-31267-7-git-send-email-pl@kamp.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1471962105-31267-1-git-send-email-pl@kamp.de> References: <1471962105-31267-1-git-send-email-pl@kamp.de> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a02:248:0:51::16 Subject: [Qemu-devel] [PATCH V7 6/6] coroutine: reduce stack size to 64kB X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, peter.maydell@linaro.org, mst@redhat.com, armbru@redhat.com, Peter Lieven , dgilbert@redhat.com, mreitz@redhat.com, pbonzini@redhat.com, rth@twiddle.net Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" X-Virus-Scanned: ClamAV using ClamSMTP evaluation with the recently introduced maximum stack usage 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. The guard page added in qemu_alloc_stack will catch a potential stack overflow introduced by this commit. Signed-off-by: Peter Lieven Reviewed-by: Eric Blake --- include/qemu/coroutine_int.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/qemu/coroutine_int.h b/include/qemu/coroutine_int.h index f62f83f..011910f 100644 --- a/include/qemu/coroutine_int.h +++ b/include/qemu/coroutine_int.h @@ -28,7 +28,7 @@ #include "qemu/queue.h" #include "qemu/coroutine.h" -#define COROUTINE_STACK_SIZE (1 << 20) +#define COROUTINE_STACK_SIZE (1 << 16) typedef enum { COROUTINE_YIELD = 1,