From patchwork Tue Jul 12 16:23:06 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Peter Lieven X-Patchwork-Id: 9225681 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 E1A1C604DB for ; Tue, 12 Jul 2016 16:25:00 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D35B122230 for ; Tue, 12 Jul 2016 16:25:00 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C7DE327CCB; Tue, 12 Jul 2016 16:25:00 +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 C9F1A22230 for ; Tue, 12 Jul 2016 16:24:59 +0000 (UTC) Received: from localhost ([::1]:42013 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN0UU-0000S8-W9 for patchwork-qemu-devel@patchwork.kernel.org; Tue, 12 Jul 2016 12:24:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN0Sz-0007a9-M7 for qemu-devel@nongnu.org; Tue, 12 Jul 2016 12:23:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bN0Sv-0003bj-R3 for qemu-devel@nongnu.org; Tue, 12 Jul 2016 12:23:24 -0400 Received: from mx-v6.kamp.de ([2a02:248:0:51::16]:41491 helo=mx01.kamp.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bN0Sv-0003bf-H5 for qemu-devel@nongnu.org; Tue, 12 Jul 2016 12:23:21 -0400 Received: (qmail 28631 invoked by uid 89); 12 Jul 2016 16:23:20 -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/21890. hbedv: 8.3.40.44/7.12.99.34. avast: 1.2.2/16071101. spamassassin: 3.4.1. Clear:RC:1(195.62.97.28):. Processed in 0.227358 secs); 12 Jul 2016 16:23:20 -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); 12 Jul 2016 16:23:17 -0000 X-GL_Whitelist: yes Received: (qmail 2570 invoked from network); 12 Jul 2016 16:23:12 -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; 12 Jul 2016 16:23:12 -0000 Received: by lieven-pc (Postfix, from userid 1000) id C94F820F9B; Tue, 12 Jul 2016 18:23:10 +0200 (CEST) From: Peter Lieven To: qemu-devel@nongnu.org Date: Tue, 12 Jul 2016 18:23:06 +0200 Message-Id: <1468340586-19304-7-git-send-email-pl@kamp.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1468340586-19304-1-git-send-email-pl@kamp.de> References: <1468340586-19304-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 V5 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 Reviewed-by: Stefan Hajnoczi --- 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 eac323a..f84d777 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,