From nobody Mon Dec 15 22:38:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1582917956; cv=none; d=zohomail.com; s=zohoarc; b=MZclx8h3LZDg3/tHCKFdK+Tzio8NYLgOXSnPNXi/AeCZrt248owHxvqU/oynydbF/q+KHHUs+YguwPWXQLeCATYWlOrJNXiNiSFDmZJ5FNgsKtQwm/9joFHJ6DpBkXq8+BIc7wVsbT0O4iRJMoc+LLf7DcFJ6mJ7dN9MARhh/ec= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582917956; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MUKeYtgIb4UZ9vwvUtDtiSAihx2HzY0rjwybRRhbUFA=; b=HkPfLXshNA1IeMBbThzoQrVZl5X4J25lOqM+dlZkSuj5trbImjUgW5qBrmOJ8sVFU+eO/8OBJddg9oYeo9FzGtAH4LjyKyRsh6E5b+BIhKwQO2/bq4XCsKA2Km4nJ1o666mg2n6TJ0LWAXLDpO2Yb3hk5tx+cKFOE2TGJ3ibJ38= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582917956008750.3097238490818; Fri, 28 Feb 2020 11:25:56 -0800 (PST) Received: from localhost ([::1]:52970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lGk-0005Ho-Rf for importer@patchew.org; Fri, 28 Feb 2020 14:25:54 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40119) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lFE-0003WS-4G for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7lFD-0005xz-1d for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:20 -0500 Received: from mail-wm1-x336.google.com ([2a00:1450:4864:20::336]:52924) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7lFC-0005wy-Qh for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:18 -0500 Received: by mail-wm1-x336.google.com with SMTP id p9so4443812wmc.2 for ; Fri, 28 Feb 2020 11:24:18 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id n2sm14331577wro.96.2020.02.28.11.24.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 11:24:16 -0800 (PST) Received: from zen.home.arpa (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 6F3871FF8C; Fri, 28 Feb 2020 19:24:15 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=MUKeYtgIb4UZ9vwvUtDtiSAihx2HzY0rjwybRRhbUFA=; b=WjVnA+sdeDD/dAjucmn9POJ7exza6O0tTnNUXa3sBOiMPZIdnWGPu1kG2Jeu3eTfRf xmpDPDFiZehF+P9i4+qAPYlazCLRCfJ7Cxq7jPH8Sd5eqP9VTXxEH0nYfZgLKMy8FANj ofA+z6GmaoWaPd7+V+ZyE+hAKIlvit2z3ojC/JvJ/CMEytAS+DagOQAI1g+xgkYmU6tb wgo19A5+fQBnLiZK/1E79Jli6hDHvu0Dqwjsi321cwxhK0ae9AOgTVq/r75aGH8T5L0Q DIAU2kHbUsjAO1/aBhDLHaOyAl8hcdQNV2ergB923KuKtZVG5LIptROdkqJVIBSUi2sd fy3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MUKeYtgIb4UZ9vwvUtDtiSAihx2HzY0rjwybRRhbUFA=; b=KVVmCRlG5wS0rPK39dEf1ngu3qqQCn1tCWDNwghzQccb3pMxMEb9BJcnFNUXfsbCQs 59vjad1erFyUk+gOHh8MgW5AA0pC033NQzsCTkZm5ozK5pLMrV19RJNOhH/XoTNI999q +RNvzxtsE3Z9tcK12MAIUQGT310TWPcwOf/eT9mp8YRv2rrH/jsRZ8k6lLWKFjdUjv0J fglwIgCGBciq2sK3wQlepqVcBoYgm4Q+D6knKThZy4+Hd6nRm0XTxg6tL+nH02v5jDKI hNzb08QGqiXX9Ka3rWckPf5ix0W3a7/A3ANtuXWwsoOxmuxf2hoqooqVy/yM2X7eZJtg oxjA== X-Gm-Message-State: APjAAAX5G4PLePrR6Bq4My1SHgvhwtXosvQ7D5kPTrosWDfT3eBuStsN QJIjufKZAHR55atZpAOnxRdHmKQV8Kg= X-Google-Smtp-Source: APXvYqy1SlszhI88Y7gjUPHtf96KQnRCJzuaPdiYVuNszs2TiTp7G7sjkar1e4T2l4WBnxT1eowqBA== X-Received: by 2002:a7b:c183:: with SMTP id y3mr5848704wmi.45.1582917857376; Fri, 28 Feb 2020 11:24:17 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v2 1/4] accel/tcg: use units.h for defining code gen buffer sizes Date: Fri, 28 Feb 2020 19:24:12 +0000 Message-Id: <20200228192415.19867-2-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200228192415.19867-1-alex.bennee@linaro.org> References: <20200228192415.19867-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::336 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Niek Linnenbank , qemu-arm@nongnu.org, Paolo Bonzini , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) It's easier to read. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Niek Linnenbank Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/translate-all.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index a08ab11f657..238b0e575bf 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -18,6 +18,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/units.h" #include "qemu-common.h" =20 #define NO_CPU_IO_DEFS @@ -901,33 +902,33 @@ static void page_lock_pair(PageDesc **ret_p1, tb_page= _addr_t phys1, =20 /* Minimum size of the code gen buffer. This number is randomly chosen, but not so small that we can't have a fair number of TB's live. */ -#define MIN_CODE_GEN_BUFFER_SIZE (1024u * 1024) +#define MIN_CODE_GEN_BUFFER_SIZE (1 * MiB) =20 /* Maximum size of the code gen buffer we'd like to use. Unless otherwise indicated, this is constrained by the range of direct branches on the host cpu, as used by the TCG implementation of goto_tb. */ #if defined(__x86_64__) -# define MAX_CODE_GEN_BUFFER_SIZE (2ul * 1024 * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (2 * GiB) #elif defined(__sparc__) -# define MAX_CODE_GEN_BUFFER_SIZE (2ul * 1024 * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (2 * GiB) #elif defined(__powerpc64__) -# define MAX_CODE_GEN_BUFFER_SIZE (2ul * 1024 * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (2 * GiB) #elif defined(__powerpc__) -# define MAX_CODE_GEN_BUFFER_SIZE (32u * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (32 * MiB) #elif defined(__aarch64__) -# define MAX_CODE_GEN_BUFFER_SIZE (2ul * 1024 * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (2 * GiB) #elif defined(__s390x__) /* We have a +- 4GB range on the branches; leave some slop. */ -# define MAX_CODE_GEN_BUFFER_SIZE (3ul * 1024 * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (3 * GiB) #elif defined(__mips__) /* We have a 256MB branch region, but leave room to make sure the main executable is also within that region. */ -# define MAX_CODE_GEN_BUFFER_SIZE (128ul * 1024 * 1024) +# define MAX_CODE_GEN_BUFFER_SIZE (128 * MiB) #else # define MAX_CODE_GEN_BUFFER_SIZE ((size_t)-1) #endif =20 -#define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (32u * 1024 * 1024) +#define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (32 * MiB) =20 #define DEFAULT_CODE_GEN_BUFFER_SIZE \ (DEFAULT_CODE_GEN_BUFFER_SIZE_1 < MAX_CODE_GEN_BUFFER_SIZE \ --=20 2.20.1 From nobody Mon Dec 15 22:38:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1582918038; cv=none; d=zohomail.com; s=zohoarc; b=gaq40Pl/wZ8GpvaIa+wyej6UlnQ1NGKZLm0wvQnkcSX1plglmgL2rlULaUT3jHno9W9AU886Tiuu3209wax/0pOd32jA0izmu16TB18I9Xc44g+4ZrabfeQGrq5YeZUb4D3ehmQw3aQpcz3mKOaUqROwcmj7bG15UZRC78BEAVw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582918038; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=60CqZg7BZfR1xnQfWxmp/hW3ExnnXGerh7BjsN5qqsw=; b=R678WwaBLn7bH1dOtBFyHOVnR14Ah3QedNECG5TzsxOsABvrrfQ4Ssa/YlAQmeo5nMOxwwk5+ol6fxLNy1ffwNrSxSVKuztkncUWQOyqe/5TbxSFNozU0uvQK54RJWJPfdsqoxn879OieLyq0n6LzK7r7bVqJeLB1Su8ucDzbRI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582918038049866.461583118223; Fri, 28 Feb 2020 11:27:18 -0800 (PST) Received: from localhost ([::1]:53002 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lI3-0007Ws-18 for importer@patchew.org; Fri, 28 Feb 2020 14:27:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40164) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lFG-0003Wx-8a for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7lFF-00060J-8M for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:22 -0500 Received: from mail-wr1-x442.google.com ([2a00:1450:4864:20::442]:41079) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7lFE-0005zE-RV for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:20 -0500 Received: by mail-wr1-x442.google.com with SMTP id v4so4268845wrs.8 for ; Fri, 28 Feb 2020 11:24:20 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id f207sm3486974wme.9.2020.02.28.11.24.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 11:24:17 -0800 (PST) Received: from zen.home.arpa (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 8D57A1FF8F; Fri, 28 Feb 2020 19:24:15 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=60CqZg7BZfR1xnQfWxmp/hW3ExnnXGerh7BjsN5qqsw=; b=wQJ7tLmCk2n6mJft+pmcYUL7yRG61S/J3nvLZjtJVivba+it7vyCmCTgHl+MdHOHmj 38YfbaeRGc62Ya7EuTgkn/lkXJnG4c2TGF1SIIPHZEAfVfrY711uSRPW4HguVAhaCJ/C EacS9J0R6MOrcMijLoc40JB+6P6/afgThuWmImSCpiicerT/fEAVXu8QnaARSmeEtoZZ PbfTVNgN57AkZiCky3EvvRS1jKubejcLrORGY9eAUb5lzJeT79EopSP8nyYOQjxK+6yn Aplhg9Npj3xm176+gAfwcGbG4amf+qoN+LSrk7z0RpT7U08IJyMdYExd4+YID1QP53MY YzQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=60CqZg7BZfR1xnQfWxmp/hW3ExnnXGerh7BjsN5qqsw=; b=Hkg2CwtWQLmsu7Z6iPw3wheA3jkNAGbUOvfGX4+1FFg44rJIrWYlJtOpH1yDo5W4TV 6XeJMHj9esXI3X2nzIkp4Xa4cCl2iPVIJIXvLoHzk6JvVBkjHCb8s+mWsYcalyvWjVY/ O8BzcP/fwkcJSCYdjt2jQtzRyiev/dgPUIqJ3SrNziJr/BQvvgOPiTt5tUw4hza8PQd0 QhvmaxiSlLTZ6icyQTouDBheFv8aSQbgjWyvzuz2sszuc3puO0Aa4/tULPe0AFk03IXs C1Bbz8UiZbGtiLkfP2fJy9hc3sg1kzstL7EhUBs1Zr4Yu72mP1q5UB2cRCoNHTp8NAth d+4Q== X-Gm-Message-State: APjAAAUvrktGUuxmr/y0uXhliQZ1TKtrMWhrce7/5NaG+srOu9f6LMJF Hp0vOre37EKh72XBVH4+OCQFsg== X-Google-Smtp-Source: APXvYqwgvtxjGhdW0mhDrhkJSbzRBHz+1Af3ub82MTc8010b5Uzv7Vugw03T8/4oIf4SG+X0yXucyg== X-Received: by 2002:adf:ded2:: with SMTP id i18mr333585wrn.173.1582917859408; Fri, 28 Feb 2020 11:24:19 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v2 2/4] accel/tcg: remove link between guest ram and TCG cache size Date: Fri, 28 Feb 2020 19:24:13 +0000 Message-Id: <20200228192415.19867-3-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200228192415.19867-1-alex.bennee@linaro.org> References: <20200228192415.19867-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::442 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Niek Linnenbank , qemu-arm@nongnu.org, Paolo Bonzini , Igor Mammedov , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Basing the TB cache size on the ram_size was always a little heuristic and was broken by a1b18df9a4 which caused ram_size not to be fully realised at the time we initialise the TCG translation cache. The current DEFAULT_CODE_GEN_BUFFER_SIZE may still be a little small but follow-up patches will address that. Fixes: a1b18df9a4 Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson Tested-by: Philippe Mathieu-Daud=C3=A9 Cc: Niek Linnenbank Cc: Igor Mammedov Reviewed-by: Niek Linnenbank --- accel/tcg/translate-all.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 238b0e575bf..5b66af783b5 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -938,15 +938,7 @@ static inline size_t size_code_gen_buffer(size_t tb_si= ze) { /* Size the buffer. */ if (tb_size =3D=3D 0) { -#ifdef USE_STATIC_CODE_GEN_BUFFER tb_size =3D DEFAULT_CODE_GEN_BUFFER_SIZE; -#else - /* ??? Needs adjustments. */ - /* ??? If we relax the requirement that CONFIG_USER_ONLY use the - static buffer, we could size this on RESERVED_VA, on the text - segment size of the executable, or continue to use the default.= */ - tb_size =3D (unsigned long)(ram_size / 4); -#endif } if (tb_size < MIN_CODE_GEN_BUFFER_SIZE) { tb_size =3D MIN_CODE_GEN_BUFFER_SIZE; --=20 2.20.1 From nobody Mon Dec 15 22:38:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1582917958; cv=none; d=zohomail.com; s=zohoarc; b=NyGEtJkm+8g9MlImxzcjf/niUXEBp3lTQ3H6MkmOPx60u9fmAbTvj1Y+BcMKDxamfTTudXNeb6PefQZc+fw33wvPaXWQ+C6wzBjk1xCtCOKjy+WUOrJrlxf0Zob/M7vo9hdvE8lrDMkLqDazuj3XNjtTjjeVwgA3i2TOEYtjnB0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582917958; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qwNAqRvi6iGMEY7tiLR6IKWg1Rzq0J9dU0xZ2yHjmzk=; b=adtbqASM+5s/JmliKWy1QfvlZH04hkhYvjcK5K22+es2obNuQ4SxQjK6dF0LzuloRCKGpFWGXqmiisUZWCPW3+OjyLi+xSiiRHrjiJ92N3n4VJm+H1VXYn/47smeo7pPVnaKgK0BomTwv0v8v2xlIJ7Jy5bZmOfaDto/z1g+As8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582917958806681.65844575788; Fri, 28 Feb 2020 11:25:58 -0800 (PST) Received: from localhost ([::1]:52974 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lGn-0005P9-J1 for importer@patchew.org; Fri, 28 Feb 2020 14:25:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40219) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lFI-0003Z4-M3 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7lFH-00062x-Kt for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:24 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:36298) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7lFH-00061g-Ev for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:23 -0500 Received: by mail-wm1-x344.google.com with SMTP id g83so2293214wme.1 for ; Fri, 28 Feb 2020 11:24:23 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id c2sm3414429wma.39.2020.02.28.11.24.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 11:24:18 -0800 (PST) Received: from zen.home.arpa (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id AF0FE1FF90; Fri, 28 Feb 2020 19:24:15 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qwNAqRvi6iGMEY7tiLR6IKWg1Rzq0J9dU0xZ2yHjmzk=; b=Y2/Kdq6ymA20vwIqp+ohfD/kYkY58CAGrLwDuyiuNDCH6K9WUiTgkJpu5sZI0qzH0S QqnF5qZ8AuPCZFYYpSV1DIB2LtB1uS9XfZQPXsVAtq4saIUakbqPrd4Zhycf6ilRXVAp CKrfaTKKOhhPMvZWFn/3Qo6rK/axje+MXEFjMTjoJ2oqtY7IR1Sayf3a3yiqJuHUqAeT TClmJ8wYxHnWZn+7ElMzTFCrh6VwN8dOuhnZHX16ZL5k85YinbSYDVFBUNRteY6zKqyO H0D9l7C16f8lcKi/KMwAHryEIMsHM51bXwCKvTI3IFWxA4TdWY6kWeAj0pyLeVJ99PJo UD0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qwNAqRvi6iGMEY7tiLR6IKWg1Rzq0J9dU0xZ2yHjmzk=; b=mSxSLIzIMGCFYe0X4OuJfgZvcx7yC64IkuBz9uVZm2NDvQeoQAPeL0nxMVh+PJqRp0 R82elX3iYiKtNsUltrCdbZdOagGGE/R/hqV92iipMpZV8OPxZ2e/NGVd0uPvKfQZ95ki tCXiWCh702zRIjkiAPsWUSKbx0CkGe2tRejEKrcUW3QZNURaHKQabPsCwuLVdxsSLgDh aOhgMpuyn9Pa6cLNlXhx488wQ+awvjTvy03dC0nrAR7lNe3d33mw5MQPbto3V6f1yw/r j2BoqnhulkgdTkyKVLSTMxk9SNLQhMG0ISAmUyZkORW3K3xQzBiQcKtZZi7VAK+GBjQs Uajg== X-Gm-Message-State: APjAAAUex9hHfXXjZgIauhqtYps7LhoerAjQeT0IGK3PnGtKAiTIlj+h 5p8otNSFVUhm9yBke/5BAPkMEg== X-Google-Smtp-Source: APXvYqxdkk3tJqQi7DWRlMHefTfzVFtk7TMxi5+MVkrFHba/dZlDZmiRyPd0ApaXKOMdlFGKMyhV0Q== X-Received: by 2002:a1c:1d90:: with SMTP id d138mr5906030wmd.163.1582917862533; Fri, 28 Feb 2020 11:24:22 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v2 3/4] accel/tcg: only USE_STATIC_CODE_GEN_BUFFER on 32 bit hosts Date: Fri, 28 Feb 2020 19:24:14 +0000 Message-Id: <20200228192415.19867-4-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200228192415.19867-1-alex.bennee@linaro.org> References: <20200228192415.19867-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::344 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Richard Henderson , Niek Linnenbank , qemu-arm@nongnu.org, Paolo Bonzini , =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) There is no particular reason to use a static codegen buffer on 64 bit hosts as we have address space to burn. Allow the common CONFIG_USER case to use the mmap'ed buffers like SoftMMU. Signed-off-by: Alex Benn=C3=A9e Reviewed-by: Richard Henderson Reviewed-by: Philippe Mathieu-Daud=C3=A9 Tested-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Niek Linnenbank --- accel/tcg/translate-all.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 5b66af783b5..4ce5d1b3931 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -892,11 +892,12 @@ static void page_lock_pair(PageDesc **ret_p1, tb_page= _addr_t phys1, } } =20 -#if defined(CONFIG_USER_ONLY) -/* Currently it is not recommended to allocate big chunks of data in - user mode. It will change when a dedicated libc will be used. */ -/* ??? 64-bit hosts ought to have no problem mmaping data outside the - region in which the guest needs to run. Revisit this. */ +#if defined(CONFIG_USER_ONLY) && TCG_TARGET_REG_BITS =3D=3D 32 +/* + * For user mode on smaller 32 bit systems we may run into trouble + * allocating big chunks of data in the right place. On these systems + * we utilise a static code generation buffer directly in the binary. + */ #define USE_STATIC_CODE_GEN_BUFFER #endif =20 --=20 2.20.1 From nobody Mon Dec 15 22:38:09 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1582918048; cv=none; d=zohomail.com; s=zohoarc; b=k8RaipYijPzjCc2shOsnfDDbKI89LGfIZjRv3W0NjdLF15KdZc6YI30MkhVGT0uQMuHA4+SSoeVHTMp/T5Wc8yXYEjr+ayrvkuIkKHfuqHpP4Iu+xC58NbCDqVB8CW7dP/H5ZKrWESaMvHeBY1HvH+TTmwSH/78Jjbw0AHZTUys= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1582918048; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Ani8t6ZA25StH0QycQf8FnItMvLK0JPOczLU0WnT68k=; b=fFDT/U8GCj00z6TjMJM7Hl5uiYmEZYIA/BOdHS/yBqrFHobj+9iP6zWxqV0k06pnRUDl6Fmm0bfgApOwc4JyWZirrZMGvTCqweviOALPQ7Lx8B00tUwoay3u5yGyw7WzEh1lexG0fzaW4Ow5oBHjIshMlYadPnr5kRWj3NsS+dc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1582918048332278.9764896318063; Fri, 28 Feb 2020 11:27:28 -0800 (PST) Received: from localhost ([::1]:53006 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lIF-0007ft-7W for importer@patchew.org; Fri, 28 Feb 2020 14:27:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:40187) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7lFH-0003XI-B5 for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7lFG-00061A-3y for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:23 -0500 Received: from mail-wm1-x341.google.com ([2a00:1450:4864:20::341]:37935) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7lFF-00060B-Tk for qemu-devel@nongnu.org; Fri, 28 Feb 2020 14:24:22 -0500 Received: by mail-wm1-x341.google.com with SMTP id n64so3157607wme.3 for ; Fri, 28 Feb 2020 11:24:21 -0800 (PST) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id z2sm5545260wrr.78.2020.02.28.11.24.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Feb 2020 11:24:18 -0800 (PST) Received: from zen.home.arpa (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id CF86C1FF91; Fri, 28 Feb 2020 19:24:15 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Ani8t6ZA25StH0QycQf8FnItMvLK0JPOczLU0WnT68k=; b=Z4FDt9zfTNU5jn+SS1tlQ7zjVqU8f2aFwlnyuTOEqZpMB9UPQ/MdgseI9oXZZC1P2C HL2de5LzxGqSVh1sartSH2VPkKYiTUMwGf9qbalWXZeKrWlxNLaUEPz1Hr0pPXlwIEld 3D+rQbUxXJ+u1zQo8E05qMOg0ji7AhFBwFog29wUzRrZYA2h8TflTeXZVBR9RDLHo3OG gH8DJLzTpdFplkXaekbKQtBbXb+/+xx3B3qeHlQDxqcfDchDZcxNkLLjcwKqTJo9SBSo tibDrLv+zIlAPmt/FWcdv4lh95PxmBoUupbXjj8i1+el/HMJgWzoVcyyUhmve3LT6SBw altA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Ani8t6ZA25StH0QycQf8FnItMvLK0JPOczLU0WnT68k=; b=bnv7aYkstF+L9hNGWcFa3H2/rg8Vh9DVWmXQDtDijcB8+dbwNdwibn/mEFOkRuVg8a UnD+YlBnmmc0X7D7994aclLWvOTb3sHZjE2OCbd7y4PioSaSg7piy/vBlpH9fCHdg7bz pAxix7hL6M/FvdwQV6r9owVtIFYELRR0Ec2g9U6J5v/YHoFQGOK6my5StWhX+w+Wvm2J ZmD8dcaK5qOc+k+8Zerz5jGeLHkCrZgmwBRDI61/0Ff4YWTlyNQFHGe5yZvE13j053Ab D6K+HyXzXB/a2X16itb5LEXuOLNRVozC95UnhwAX1GdfHBdb1ams/UbSmCOA1GQRbVgI bCZQ== X-Gm-Message-State: APjAAAVzYXEUeepJQuviYNhPx+dF7M5vHrTzv8b97pr2u/kakHo4L5nC vSWxgmO7jF/ZmQi0DaI0mwBhdQ== X-Google-Smtp-Source: APXvYqxX0K5VlP7khb0B3TY7mbFimJd1DfaHLzhe3Vxz8k8SoADIlpjL3QjKKZHAr40DSoEUquHlrA== X-Received: by 2002:a1c:dcd5:: with SMTP id t204mr6157986wmg.34.1582917860602; Fri, 28 Feb 2020 11:24:20 -0800 (PST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v2 4/4] accel/tcg: increase default code gen buffer size for 64 bit Date: Fri, 28 Feb 2020 19:24:15 +0000 Message-Id: <20200228192415.19867-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200228192415.19867-1-alex.bennee@linaro.org> References: <20200228192415.19867-1-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2a00:1450:4864:20::341 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Paolo Bonzini , Niek Linnenbank , qemu-arm@nongnu.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , Richard Henderson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) While 32mb is certainly usable a full system boot ends up flushing the codegen buffer nearly 100 times. Increase the default on 64 bit hosts to take advantage of all that spare memory. After this change I can boot my tests system without any TB flushes. As we usually run more CONFIG_USER binaries at a time in typical usage we aren't quite as profligate for user-mode code generation usage. We also bring the static code gen defies to the same place to keep all the reasoning in the comments together. Signed-off-by: Alex Benn=C3=A9e Tested-by: Niek Linnenbank Reviewed-by: Niek Linnenbank --- v2 - 2gb->1gb for system emulation - split user and system emulation buffer sizes --- accel/tcg/translate-all.c | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index 4ce5d1b3931..78914154bfc 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -892,15 +892,6 @@ static void page_lock_pair(PageDesc **ret_p1, tb_page_= addr_t phys1, } } =20 -#if defined(CONFIG_USER_ONLY) && TCG_TARGET_REG_BITS =3D=3D 32 -/* - * For user mode on smaller 32 bit systems we may run into trouble - * allocating big chunks of data in the right place. On these systems - * we utilise a static code generation buffer directly in the binary. - */ -#define USE_STATIC_CODE_GEN_BUFFER -#endif - /* Minimum size of the code gen buffer. This number is randomly chosen, but not so small that we can't have a fair number of TB's live. */ #define MIN_CODE_GEN_BUFFER_SIZE (1 * MiB) @@ -929,7 +920,33 @@ static void page_lock_pair(PageDesc **ret_p1, tb_page_= addr_t phys1, # define MAX_CODE_GEN_BUFFER_SIZE ((size_t)-1) #endif =20 +#if TCG_TARGET_REG_BITS =3D=3D 32 #define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (32 * MiB) +#ifdef CONFIG_USER_ONLY +/* + * For user mode on smaller 32 bit systems we may run into trouble + * allocating big chunks of data in the right place. On these systems + * we utilise a static code generation buffer directly in the binary. + */ +#define USE_STATIC_CODE_GEN_BUFFER +#endif +#else /* TCG_TARGET_REG_BITS =3D=3D 64 */ +#ifdef CONFIG_USER_ONLY +/* + * As user-mode emulation typically means running multiple instances + * of the translator don't go too nuts with our default code gen + * buffer lest we make things too hard for the OS. + */ +#define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (128 * MiB) +#else +/* + * We expect most system emulation to run one or two guests per host. + * Users running large scale system emulation may want to tweak their + * runtime setup via the tb-size control on the command line. + */ +#define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (1 * GiB) +#endif +#endif =20 #define DEFAULT_CODE_GEN_BUFFER_SIZE \ (DEFAULT_CODE_GEN_BUFFER_SIZE_1 < MAX_CODE_GEN_BUFFER_SIZE \ --=20 2.20.1