From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538282; cv=none; d=zohomail.com; s=zohoarc; b=H/RYVs19Bj9BaIhtO+6LHAy/LNwGZf2z048+etegJDBnJVabocIDik9M7JuKV1AGxkI/fbx8TdT3sBP0zW8cr11Q1Mi3fziaTHaXzgVFR7+gP700rARNirzK8Q2FrivE6YHKVrC+kqjdPGTtT1MAp7MkMIeK7r6kWKQ7HccvlJM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538282; h=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=lOjnREAHRE3NSpPGGVT2torwOdj/k63lQwetVtnWUzc=; b=fcNmCiYvk8jmoOafcFyTBtXx05sYarBVmxOguw7HoAQ1P3g46HAtARjAd3nfROlIbTIMyEsiWtxge8Jp+wzVs2raBTX34+7IYuOEhNy8efVVlsZjxNOAppTA+3QvJMykhTEB4xpI+7Iscgh9tsuZlkcd/N8TeC2rRuSX1daemE8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538282579965.7927578179392; Wed, 8 Jan 2020 18:51:22 -0800 (PST) Received: from localhost ([::1]:53968 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNur-0004Yn-3M for importer@patchew.org; Wed, 08 Jan 2020 21:51:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51453) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNss-0002m5-Lo for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNsr-0005wc-6b for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:18 -0500 Received: from mail-pg1-x543.google.com ([2607:f8b0:4864:20::543]:45146) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNsq-0005sx-T6 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:17 -0500 Received: by mail-pg1-x543.google.com with SMTP id b9so2460128pgk.12 for ; Wed, 08 Jan 2020 18:49:16 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:14 -0800 (PST) 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=lOjnREAHRE3NSpPGGVT2torwOdj/k63lQwetVtnWUzc=; b=oRzVwyZ1BFwOC6oV6r2a33BMgVDUrI+d71bbIGtIaj9tTyuJagJ7Xv42HYzxrst7eM 5VDh4g0Kwwxwn4U2nffJfA6idrrod4G64Bpg9TXxwKc1DGc3OZiWhnw40pAHstU9DKZC 93gmmSHTgPXY49yhiTgHE7EDlXYtRoN02qfkox6oblblXx87lF3rs7CiYqgYnjrpLq2y ipSkmNk+fRXdmVdF0kvcuV1uqwTrd3oC/RnPrZo4Q6lu8aXiMeenqpDOTUQhiOlQAmcM IxoWOS28FKf3th7U7fcmSLBlThlmxXWd7SCm5NzQQHXnwsS6hsdtACVlgT2JSEglwTlV msvQ== 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=lOjnREAHRE3NSpPGGVT2torwOdj/k63lQwetVtnWUzc=; b=qWimyTeLkccy2QprtxuMcYzS69CckFSnrTVllCeGnbSLGmy3myN/dCDaNs4tnL+p0h i1pTciK2sStq9QZSJJiIIBxd+TjqEHwraM7lV3+Ao4zmoFrb7Ih0Ia7hGHbqzspnHyGN sCqKigByqlr3TCU/BboPs1erHjVGTiISOZYSDKTAjMZFQgtho18PcYNzja+gdZX+l57f +vPVSB+RgpR4HViBt1u1GQjfsy3ZttqeaE81oZQb7H1w15CCQQyOFW6skUnaD3KhxfsI iiMduvzU2UbLoc9dCilEaEeNVOqYGe3NhUtUg6wU//bOXB7jOV6UVdMlZnld20mfhiRB FXSA== X-Gm-Message-State: APjAAAXCfE9cy+yusbJksAn2VUBH8VrSXGsS9V+RauHKxiVbdzk28m1H sw4GPXlJU7JfQROdOqoqoCfhzkrbOuzeDA== X-Google-Smtp-Source: APXvYqyM3ixX06a5lwqw9cLoRCKzz9z1XMZKmGDQCPiGctMju6u+HKIPCtIRivtFPaerjQFBv6m6Gg== X-Received: by 2002:a62:b418:: with SMTP id h24mr9103623pfn.192.1578538155085; Wed, 08 Jan 2020 18:49:15 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 1/9] cputlb: Merge tlb_table_flush_by_mmuidx into tlb_flush_one_mmuidx_locked Date: Thu, 9 Jan 2020 13:48:59 +1100 Message-Id: <20200109024907.2730-2-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::543 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" There is only one caller for tlb_table_flush_by_mmuidx. Place the result at the earlier line number, due to an expected user in the near future. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis --- accel/tcg/cputlb.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index a991ea2964..1a81886e58 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -224,11 +224,16 @@ static void tlb_mmu_resize_locked(CPUArchState *env, = int mmu_idx) } } =20 -static inline void tlb_table_flush_by_mmuidx(CPUArchState *env, int mmu_id= x) +static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) { tlb_mmu_resize_locked(env, mmu_idx); - memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx)); env_tlb(env)->d[mmu_idx].n_used_entries =3D 0; + env_tlb(env)->d[mmu_idx].large_page_addr =3D -1; + env_tlb(env)->d[mmu_idx].large_page_mask =3D -1; + env_tlb(env)->d[mmu_idx].vindex =3D 0; + memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx)); + memset(env_tlb(env)->d[mmu_idx].vtable, -1, + sizeof(env_tlb(env)->d[0].vtable)); } =20 static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu= _idx) @@ -289,16 +294,6 @@ void tlb_flush_counts(size_t *pfull, size_t *ppart, si= ze_t *pelide) *pelide =3D elide; } =20 -static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) -{ - tlb_table_flush_by_mmuidx(env, mmu_idx); - env_tlb(env)->d[mmu_idx].large_page_addr =3D -1; - env_tlb(env)->d[mmu_idx].large_page_mask =3D -1; - env_tlb(env)->d[mmu_idx].vindex =3D 0; - memset(env_tlb(env)->d[mmu_idx].vtable, -1, - sizeof(env_tlb(env)->d[0].vtable)); -} - static void tlb_flush_by_mmuidx_async_work(CPUState *cpu, run_on_cpu_data = data) { CPUArchState *env =3D cpu->env_ptr; --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538283; cv=none; d=zohomail.com; s=zohoarc; b=CwMZqrOy5YkaEy+1Z6qy22lGa2b1bPQw9Vq3F5kNPBQHtRm0bRzR+ml06R+wOLfinipltFxJ8v/nsuCfZssftUQwivbETvlNy1r0T529EKyVMpxKwN23meRvCIOTjlrMFKH7EM0+/vD/M96QHuD/iMECOOQGL0OkmV9FcK3p/kI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538283; h=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=oYo91seWJSqDhs3XCiSQHvutnJwwuv/GyZ2g9/2606w=; b=WxOw598OSMdJ0Vc9kTo1QQeWn3h4iX1BoM73kPGYtJGInYHXYJO0x8jnW+y+xDwOE3/i/whvktCoZBv3zAva7sP1VdIB0WX1YAJBIV+nVc72kJIdvVA456cYZJc4jzagE7Qszc9UFLeD/snQU5/8APAavU/2df3eh2vaFmoRHRc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 157853828381090.34816610772589; Wed, 8 Jan 2020 18:51:23 -0800 (PST) Received: from localhost ([::1]:53972 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNus-0004dM-0r for importer@patchew.org; Wed, 08 Jan 2020 21:51:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51889) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNsv-0002mg-M1 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:23 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNss-00061s-Sh for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:21 -0500 Received: from mail-pj1-x1043.google.com ([2607:f8b0:4864:20::1043]:40718) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNss-0005zX-KJ for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:18 -0500 Received: by mail-pj1-x1043.google.com with SMTP id bg7so464912pjb.5 for ; Wed, 08 Jan 2020 18:49:18 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:16 -0800 (PST) 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=oYo91seWJSqDhs3XCiSQHvutnJwwuv/GyZ2g9/2606w=; b=jqLvji6f8WTRRN7e7Bp3O7yyqgwDG4DaAmt5URX3fMbc0lIRWBRpZwcdbejZtPO+Ai 4BiflENdMsF+y6FYjL9kIz+UB6qpHVXzAJIOmRb2FF4AdYtLMZIYWytF12gR7OBw0UgG YfHlGO/N+1LjDd9xuYHo2EH+2k7LcjuZ3TBKSuaLt/5BK9hzNPt2icvx02QX0yCevxKA CT9xBScazARDa4b62CpfjrNepQDqikZLgwaU+z/SHyQd9EKhozRCrpjqa9O3x/rXFqgF h2wtJCSqNuH7TbeLCvD/oAPy0B5EMA7/NXYR/DkEPWrX9GR46GZc26/psKRyay5d/29W L0tg== 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=oYo91seWJSqDhs3XCiSQHvutnJwwuv/GyZ2g9/2606w=; b=VkX/7Vf05LW7BwGYqXe5XY9eytlwmfzIbD/ejaxqbUmCGC46Damy2TGAXDlHXjm/DE ciX4QsO+kH79B26eUuST+K5gODdleXq5vT90QuEaUzuoEJEK7WC2LAQKeOL+T05nGCLf 5Mwcn6EzEFWRmXFvMfCbaNdaX5BAOsirB1qNMdZhSS4y/dBQfzPPtpWLjRNg+9UgwCKj /LNtFroXuSQTffpYeEp6X1BeICGXyfcG8mbwjdLcteYxDPnONsLg/PObQgxGha65nALi 08WLE+kJIw3n80olgQlFIpBPRfco6rgxk1hDsuo6IzpTzcSHMif5c7kFKVE+degqJogj Rqiw== X-Gm-Message-State: APjAAAU0i3+jLKdkiZhlN2CkvZ5Z3eY0O7R/0rQroOcH0o0LTJyLC5eK bpHJEFR5jZewtxZzeScL2yNBk5orwM92uQ== X-Google-Smtp-Source: APXvYqzsZYImwwUgjb49sHvfUoYeXtnlhX1V7lHOkJIE1ujwBh9N0nKTssVvMX4Oh7zK9pOBPR46PA== X-Received: by 2002:a17:902:248:: with SMTP id 66mr9302085plc.158.1578538157239; Wed, 08 Jan 2020 18:49:17 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 2/9] cputlb: Make tlb_n_entries private to cputlb.c Date: Thu, 9 Jan 2020 13:49:00 +1100 Message-Id: <20200109024907.2730-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::1043 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" There are no users of this function outside cputlb.c, and its interface will change in the next patch. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/cpu_ldst.h | 5 ----- accel/tcg/cputlb.c | 5 +++++ 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h index a46116167c..53de19753a 100644 --- a/include/exec/cpu_ldst.h +++ b/include/exec/cpu_ldst.h @@ -234,11 +234,6 @@ static inline uintptr_t tlb_index(CPUArchState *env, u= intptr_t mmu_idx, return (addr >> TARGET_PAGE_BITS) & size_mask; } =20 -static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx) -{ - return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1; -} - /* Find the TLB entry corresponding to the mmu_idx + address pair. */ static inline CPUTLBEntry *tlb_entry(CPUArchState *env, uintptr_t mmu_idx, target_ulong addr) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 1a81886e58..e4a8ed9534 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -80,6 +80,11 @@ QEMU_BUILD_BUG_ON(sizeof(target_ulong) > sizeof(run_on_c= pu_data)); QEMU_BUILD_BUG_ON(NB_MMU_MODES > 16); #define ALL_MMUIDX_BITS ((1 << NB_MMU_MODES) - 1) =20 +static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx) +{ + return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1; +} + static inline size_t sizeof_tlb(CPUArchState *env, uintptr_t mmu_idx) { return env_tlb(env)->f[mmu_idx].mask + (1 << CPU_TLB_ENTRY_BITS); --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538293; cv=none; d=zohomail.com; s=zohoarc; b=bN5Uxo3q7bnCTC4cKziW7TZyPUrWNFjqcg2TXZniluozjSeCn6mfHwOELoe8/ILUHxfIFf9InOoeaL4ThsMB7unFdfQxl1Myz+TcxHGrrEHbEga2mOZWgyYM/JCFMMoVfgqwvFQzYK5IktFbImAqf593TfrZmvE3izl20A2GRSI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538293; h=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=XkjF5TjcwaVUPhYaDrBfE80nKWVP4BhqQaLGCvT3zwQ=; b=DwCUxcwMzHTCGzphrX7rKwHwwy7PL6UjlBZkcJjspiVhDv2H6z0K3JQOSJMZUoN/hV0KPWlp//vMbLEeC/LYboRDOa33qHU1lviopN0TIw4J62vxH2JrmstGxiDBkB5M/9/X9OoBD4vhqyj86EwC/CCgCMmC22KVcx1VbRHFU+8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538293483457.7251961307993; Wed, 8 Jan 2020 18:51:33 -0800 (PST) Received: from localhost ([::1]:53976 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNv0-0004kh-Rj for importer@patchew.org; Wed, 08 Jan 2020 21:51:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52013) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNsw-0002nj-Ed for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNsv-00067W-48 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:22 -0500 Received: from mail-pf1-x441.google.com ([2607:f8b0:4864:20::441]:44230) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNsu-00065Y-Q9 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:20 -0500 Received: by mail-pf1-x441.google.com with SMTP id 195so2589679pfw.11 for ; Wed, 08 Jan 2020 18:49:20 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:18 -0800 (PST) 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=XkjF5TjcwaVUPhYaDrBfE80nKWVP4BhqQaLGCvT3zwQ=; b=Lr7HWUM7VCKxiTjLgQgMwOiNBU0mgnsowMR2zMh+H28Vo5FlXbScP+sFveSBk/OqTl v5e8m7rHyVxTfLoINm6Sr/93fb4jQJMVoGLPXuu2QkTYN7q0IhDCZEP6uJ9JjGzcWivj fg2q+RcBTrHqXZ82otsfjgGcSVOg1me1oMIW5mMfQ8pPIJqOHaXoQcCTRBvkEOR+VCg3 IsRa+XHQ6wA+6r3NcKdnAbGrxgt5rCFysocPq95ynmWFrPm/7OoHgEMtfuTsNjS8be2m 0hhud7bEafAF1hI79Znes0HVC0POIrtPuDbZq9VGixq3BBMJsNFygEG1cT6NtYHsizfC I+2g== 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=XkjF5TjcwaVUPhYaDrBfE80nKWVP4BhqQaLGCvT3zwQ=; b=EY4R0kSZa9E9XDaZoDDcTc1/2kWOay4yK8+0FTPb3l6ixK5GwzsObqEuPW27YaijYg fOEuycchqom8NE+eB5BCrWc2ZFSxLfZcjL4B2lF0xNn+FBs0LFGvY/1SYREpoQK5wxdX zfS3enutD4ZTmd0MuyHXxmvdMoFNvfiNf0RTIEtKUUeYLZXOWbImPIhc8dc9njOAy7wv cyZNWD4nn8CqGLcQ5XQM5atO/4Smfplk18vi5HeSv6ip+pyKkFytnnPgjP+ys83NneFO J/MBB/5BtqwVJXqFJDqUpTN2SLvzcimsXTbaQe4aPBWSEVgWZ+7lxhOMPN4sOSf2m6Qu kYiQ== X-Gm-Message-State: APjAAAVTjUka/bzguuA/TDCCxTpHzIeyFPZxodbR2pBbaI/NSmsvalH7 IP0a3cShL0DPG8ygKO4912dINeAUj3LB1w== X-Google-Smtp-Source: APXvYqznBH/7UcJT0LnYHND0o45QpyomOB7e5fICvg/d2XHzQOEmDXjDxKvIZZ6rw7C6O+dZ7991zw== X-Received: by 2002:a65:680f:: with SMTP id l15mr9001671pgt.307.1578538159478; Wed, 08 Jan 2020 18:49:19 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 3/9] cputlb: Pass CPUTLBDescFast to tlb_n_entries and sizeof_tlb Date: Thu, 9 Jan 2020 13:49:01 +1100 Message-Id: <20200109024907.2730-4-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::441 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" We do not need the entire CPUArchState to compute these values. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index e4a8ed9534..49c605b6d8 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -80,14 +80,14 @@ QEMU_BUILD_BUG_ON(sizeof(target_ulong) > sizeof(run_on_= cpu_data)); QEMU_BUILD_BUG_ON(NB_MMU_MODES > 16); #define ALL_MMUIDX_BITS ((1 << NB_MMU_MODES) - 1) =20 -static inline size_t tlb_n_entries(CPUArchState *env, uintptr_t mmu_idx) +static inline size_t tlb_n_entries(CPUTLBDescFast *fast) { - return (env_tlb(env)->f[mmu_idx].mask >> CPU_TLB_ENTRY_BITS) + 1; + return (fast->mask >> CPU_TLB_ENTRY_BITS) + 1; } =20 -static inline size_t sizeof_tlb(CPUArchState *env, uintptr_t mmu_idx) +static inline size_t sizeof_tlb(CPUTLBDescFast *fast) { - return env_tlb(env)->f[mmu_idx].mask + (1 << CPU_TLB_ENTRY_BITS); + return fast->mask + (1 << CPU_TLB_ENTRY_BITS); } =20 static void tlb_window_reset(CPUTLBDesc *desc, int64_t ns, @@ -156,7 +156,7 @@ static void tlb_dyn_init(CPUArchState *env) static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx) { CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; - size_t old_size =3D tlb_n_entries(env, mmu_idx); + size_t old_size =3D tlb_n_entries(&env_tlb(env)->f[mmu_idx]); size_t rate; size_t new_size =3D old_size; int64_t now =3D get_clock_realtime(); @@ -236,7 +236,8 @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *e= nv, int mmu_idx) env_tlb(env)->d[mmu_idx].large_page_addr =3D -1; env_tlb(env)->d[mmu_idx].large_page_mask =3D -1; env_tlb(env)->d[mmu_idx].vindex =3D 0; - memset(env_tlb(env)->f[mmu_idx].table, -1, sizeof_tlb(env, mmu_idx)); + memset(env_tlb(env)->f[mmu_idx].table, -1, + sizeof_tlb(&env_tlb(env)->f[mmu_idx])); memset(env_tlb(env)->d[mmu_idx].vtable, -1, sizeof(env_tlb(env)->d[0].vtable)); } @@ -622,7 +623,7 @@ void tlb_reset_dirty(CPUState *cpu, ram_addr_t start1, = ram_addr_t length) qemu_spin_lock(&env_tlb(env)->c.lock); for (mmu_idx =3D 0; mmu_idx < NB_MMU_MODES; mmu_idx++) { unsigned int i; - unsigned int n =3D tlb_n_entries(env, mmu_idx); + unsigned int n =3D tlb_n_entries(&env_tlb(env)->f[mmu_idx]); =20 for (i =3D 0; i < n; i++) { tlb_reset_dirty_range_locked(&env_tlb(env)->f[mmu_idx].table[i= ], --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538438; cv=none; d=zohomail.com; s=zohoarc; b=J9k5/qNHe11cUIP8Mw05aLCxJe8bCAr+bM9II310k8M3vYCqiL6H5FKUJMxyGmTgPMoB+yLAUqcROm6chH5Bibs5fmSWOJKHMsVKaZPjBBnFCcVcyr5EAXbXEkmKxBZ6I1Zx8OQRZjyuqM7PKSUIhcpojgVaIzS3kBD3Cw0fiSc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538438; h=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=XoAjYNfihA3pIGGqUIgB1dF/4sSPCxOSmNDHQZwJ7Ug=; b=b6bkTC31phSYSKb75uDfV9kbU5EclPFgNVVuvUv9kxN6tW/50EiPHQzLXaMnQgcoQjYkZLT6pEe7jcpsXAx0SUjO2yQRfheMUCaMfhIaNO0TY3ilNe3O1Cfe8rSUBhJ0TYqTQ0/iFnl3TA5OVihT6aR61XAHpWfqQqQbVpayUJA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538438021161.66446929509505; Wed, 8 Jan 2020 18:53:58 -0800 (PST) Received: from localhost ([::1]:54030 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNxM-0007iq-DL for importer@patchew.org; Wed, 08 Jan 2020 21:53:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52826) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNt2-0002xK-FS for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:31 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNsx-0006ET-MF for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:28 -0500 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:45207) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNsx-0006C3-DO for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:23 -0500 Received: by mail-pf1-x444.google.com with SMTP id 2so2588376pfg.12 for ; Wed, 08 Jan 2020 18:49:23 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:21 -0800 (PST) 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=XoAjYNfihA3pIGGqUIgB1dF/4sSPCxOSmNDHQZwJ7Ug=; b=r6JgBjCbX+iAzAo3az7wVE6MO56Fl41zL8f5lLPDlelxnsfbcv9zpjRwgCc+fFSQA7 d/jdcCGQddvlYHvcxKN4edPMVptyqwRTpI25DCVZ5DH2scbJBJgvDBdZcEFlHFIUlrhI 7FfJmXuTg3AsMWtpfY84WirAf3DOO+cihzG0r9LWmO1EKg1DXpY9dFLe682cAvsdUQOk Y9u24WdlLDLfn8Mja0K1y5Bngx47rbSGu/HkH+FWKfWgxKrQAyGp9L5cOdQPzoI1qgQK edfzClUhlkh/FrqQ+++Q0FWhdJmTsgtBWlI4gnWHW84ctDD39qvc+ng+Qzyq9tE8V6jO zaJg== 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=XoAjYNfihA3pIGGqUIgB1dF/4sSPCxOSmNDHQZwJ7Ug=; b=Yhrd5sPgRq7OOWWPbElbt/Egh7pFm5QVCEuiUoCWvBCGwNjVgyOD6rgROuWUPi6VqB +66jw9vevUYFyNvVyFvOV3Hbge6pEbuKqQxM7i8WJlaTgFXQ78x2L7ZfDnIN8YwGBzr9 /yEMRUNqPOpfNPQICgleQB3VCHYEfT59VNX0QVZjQwIPR1cxaoZf/fm1Vjx4CVj4tPb1 jDU5diUJYWY5+Yq6+0D3ALX43SDCSH5x6mQsv7KHx+3XfnW/TEjnTOFaaj3C0vEmLHio PwP+zE/KnRMsfOwY4RrmuOem+++zDhgqIzFL9iFdjSmRxoni5yMUvIEXIz0ouJcvmWXV ZPjg== X-Gm-Message-State: APjAAAX6zk6CnG3zusgxg4Ifc0GENbQhaZxb3J0IxnjeHgWQb01et9BR E66lPCk+Lm+MdDCnQsyU2KdbBygfxvLQxA== X-Google-Smtp-Source: APXvYqwHSCGZtSusFZHT8Z0439TTfSajYojF25z5nOtewuLCnhLdhI7mCe6phd7CBQhQmzwyQl+y7w== X-Received: by 2002:a63:ed4a:: with SMTP id m10mr7793045pgk.99.1578538161944; Wed, 08 Jan 2020 18:49:21 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 4/9] cputlb: Hoist tlb portions in tlb_mmu_resize_locked Date: Thu, 9 Jan 2020 13:49:02 +1100 Message-Id: <20200109024907.2730-5-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::444 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" No functional change, but the smaller expressions make the code easier to read. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 49c605b6d8..c7dc1dc85a 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -115,8 +115,8 @@ static void tlb_dyn_init(CPUArchState *env) =20 /** * tlb_mmu_resize_locked() - perform TLB resize bookkeeping; resize if nec= essary - * @env: CPU that owns the TLB - * @mmu_idx: MMU index of the TLB + * @desc: The CPUTLBDesc portion of the TLB + * @fast: The CPUTLBDescFast portion of the same TLB * * Called with tlb_lock_held. * @@ -153,10 +153,9 @@ static void tlb_dyn_init(CPUArchState *env) * high), since otherwise we are likely to have a significant amount of * conflict misses. */ -static void tlb_mmu_resize_locked(CPUArchState *env, int mmu_idx) +static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) { - CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; - size_t old_size =3D tlb_n_entries(&env_tlb(env)->f[mmu_idx]); + size_t old_size =3D tlb_n_entries(fast); size_t rate; size_t new_size =3D old_size; int64_t now =3D get_clock_realtime(); @@ -198,14 +197,15 @@ static void tlb_mmu_resize_locked(CPUArchState *env, = int mmu_idx) return; } =20 - g_free(env_tlb(env)->f[mmu_idx].table); - g_free(env_tlb(env)->d[mmu_idx].iotlb); + g_free(fast->table); + g_free(desc->iotlb); =20 tlb_window_reset(desc, now, 0); /* desc->n_used_entries is cleared by the caller */ - env_tlb(env)->f[mmu_idx].mask =3D (new_size - 1) << CPU_TLB_ENTRY_BITS; - env_tlb(env)->f[mmu_idx].table =3D g_try_new(CPUTLBEntry, new_size); - env_tlb(env)->d[mmu_idx].iotlb =3D g_try_new(CPUIOTLBEntry, new_size); + fast->mask =3D (new_size - 1) << CPU_TLB_ENTRY_BITS; + fast->table =3D g_try_new(CPUTLBEntry, new_size); + desc->iotlb =3D g_try_new(CPUIOTLBEntry, new_size); + /* * If the allocations fail, try smaller sizes. We just freed some * memory, so going back to half of new_size has a good chance of work= ing. @@ -213,25 +213,24 @@ static void tlb_mmu_resize_locked(CPUArchState *env, = int mmu_idx) * allocations to fail though, so we progressively reduce the allocati= on * size, aborting if we cannot even allocate the smallest TLB we suppo= rt. */ - while (env_tlb(env)->f[mmu_idx].table =3D=3D NULL || - env_tlb(env)->d[mmu_idx].iotlb =3D=3D NULL) { + while (fast->table =3D=3D NULL || desc->iotlb =3D=3D NULL) { if (new_size =3D=3D (1 << CPU_TLB_DYN_MIN_BITS)) { error_report("%s: %s", __func__, strerror(errno)); abort(); } new_size =3D MAX(new_size >> 1, 1 << CPU_TLB_DYN_MIN_BITS); - env_tlb(env)->f[mmu_idx].mask =3D (new_size - 1) << CPU_TLB_ENTRY_= BITS; + fast->mask =3D (new_size - 1) << CPU_TLB_ENTRY_BITS; =20 - g_free(env_tlb(env)->f[mmu_idx].table); - g_free(env_tlb(env)->d[mmu_idx].iotlb); - env_tlb(env)->f[mmu_idx].table =3D g_try_new(CPUTLBEntry, new_size= ); - env_tlb(env)->d[mmu_idx].iotlb =3D g_try_new(CPUIOTLBEntry, new_si= ze); + g_free(fast->table); + g_free(desc->iotlb); + fast->table =3D g_try_new(CPUTLBEntry, new_size); + desc->iotlb =3D g_try_new(CPUIOTLBEntry, new_size); } } =20 static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) { - tlb_mmu_resize_locked(env, mmu_idx); + tlb_mmu_resize_locked(&env_tlb(env)->d[mmu_idx], &env_tlb(env)->f[mmu_= idx]); env_tlb(env)->d[mmu_idx].n_used_entries =3D 0; env_tlb(env)->d[mmu_idx].large_page_addr =3D -1; env_tlb(env)->d[mmu_idx].large_page_mask =3D -1; --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538579; cv=none; d=zohomail.com; s=zohoarc; b=l1/EsBTKHAfahE6ohNEM+Z+gbj0g5fd2K0bBDoJY82HCuDJb/tBy2R2xfYsGFTtMrpN27F1BhCchoHAM+q2aAuAKgILeKSbu9tkbM4lCNqMVuOe1XKwSdTUxPR7K4UytZKJHxRorQtslaZpXVye2MDYy5UwSztk+RteluRJRHS8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538579; h=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=taUAUKC6BKYXJEWWKuFwpPcKa1boShSWsRP/UsHn9jc=; b=dloHPT6DTI1Q0n63c4rHpx3M7G3s8vSPEoGB3ZTezAUHzKfF3n+FW1H1DPAUGTfzTgfCOE5SZAPoLIMG96/L4AI6Mck0fmpLoMG5vClTkEPQR0v0czpriPpctOIWMfxtho3ZW4skpF1JUEhbyRuDgNnE6Cb3N+MGhmAAqaSGfvQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538579329954.0029602360577; Wed, 8 Jan 2020 18:56:19 -0800 (PST) Received: from localhost ([::1]:54104 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNze-0004jk-37 for importer@patchew.org; Wed, 08 Jan 2020 21:56:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:52872) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNt2-0002xu-Rn for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:32 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNsz-0006Ho-SA for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:28 -0500 Received: from mail-pl1-x644.google.com ([2607:f8b0:4864:20::644]:38161) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNsz-0006GR-LI for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:25 -0500 Received: by mail-pl1-x644.google.com with SMTP id f20so1924747plj.5 for ; Wed, 08 Jan 2020 18:49:25 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:23 -0800 (PST) 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=taUAUKC6BKYXJEWWKuFwpPcKa1boShSWsRP/UsHn9jc=; b=NoY5F58wu95p5ldgu3bNBAWK5JMbnfBU3g+F+E1zD/Q+rq0MYLKV7uOWPmxGEOkwZU PMXYV59UHLZMwm/2yRf/HvYnKLHDqeqzSWlKvm2LlknbhSbvCvJQ4ZSBZPNy9/AIUeAC 8RgCfFdDRmL/fCvQgf8allmpWdNqYNcO44rOGKuIM1S3SabFgZc2HpGo7LZIwWe+ay+R EbkHvLLKCt10jLb326PsJI8FP1MVEo/xZT8rLZuW4dNBNLsbNrMlJwaxMTAbOYGQ7MxK 1Sn5N2xDxoye/2QetoZVRKA+8SNqX9eA+u3oVy3xCD/ja6ABDKpDFWuUrexEjpxQeblj M9WQ== 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=taUAUKC6BKYXJEWWKuFwpPcKa1boShSWsRP/UsHn9jc=; b=DpWToTPPo38bTjvbE2ufh6ScwinEGEz+bHKBkSvQkOP1cQfVDn+h0nlvvNw/vX3tTb /FQkn2QPWSx5fIvHTBVpsk5W2rr6csmkSVH84f1MuvRVpP6NorrNOHT/5Gnx1PlfWuse /i7md5u92COCdyBC/TYawxUWmqSHAJy7Gz04bPDGosvZPW/QyiLDGjXZsshK+9/7w9RV rRcNtV9z1Y4pPjAFHYraT/Rg2k2gIzqvMIhDx5ASbQ5Jx8xqhleemylkX1UCzkYWTvHA 2gffHAaV3tGtFTGfo3s0O9CeC1xfpgTLyDiRJeYH2IniFTbtefHD3vgVbRSZ4Bwmsg8C 2urA== X-Gm-Message-State: APjAAAUcMC5EFo5XQTY4fMKHQf3QgQ1HO7ptvuyqLgMUoNkPvKT6Kviw O/r3wx4M+Q8pfugH7Ti07ewhT6I3XoI2cQ== X-Google-Smtp-Source: APXvYqywWaeSXJAIrdRZfSmM8cQ2aNPP+hL3PNUgcenuAxXjAf1Z9dnvwjP3m4G8g7OGPfdTZaSbOA== X-Received: by 2002:a17:90a:b904:: with SMTP id p4mr2496940pjr.62.1578538164395; Wed, 08 Jan 2020 18:49:24 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 5/9] cputlb: Hoist tlb portions in tlb_flush_one_mmuidx_locked Date: Thu, 9 Jan 2020 13:49:03 +1100 Message-Id: <20200109024907.2730-6-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::644 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" No functional change, but the smaller expressions make the code easier to read. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index c7dc1dc85a..eff427f137 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -230,15 +230,16 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, C= PUTLBDescFast *fast) =20 static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) { - tlb_mmu_resize_locked(&env_tlb(env)->d[mmu_idx], &env_tlb(env)->f[mmu_= idx]); - env_tlb(env)->d[mmu_idx].n_used_entries =3D 0; - env_tlb(env)->d[mmu_idx].large_page_addr =3D -1; - env_tlb(env)->d[mmu_idx].large_page_mask =3D -1; - env_tlb(env)->d[mmu_idx].vindex =3D 0; - memset(env_tlb(env)->f[mmu_idx].table, -1, - sizeof_tlb(&env_tlb(env)->f[mmu_idx])); - memset(env_tlb(env)->d[mmu_idx].vtable, -1, - sizeof(env_tlb(env)->d[0].vtable)); + CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; + CPUTLBDescFast *fast =3D &env_tlb(env)->f[mmu_idx]; + + tlb_mmu_resize_locked(desc, fast); + desc->n_used_entries =3D 0; + desc->large_page_addr =3D -1; + desc->large_page_mask =3D -1; + desc->vindex =3D 0; + memset(fast->table, -1, sizeof_tlb(fast)); + memset(desc->vtable, -1, sizeof(desc->vtable)); } =20 static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu= _idx) --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538437; cv=none; d=zohomail.com; s=zohoarc; b=gvJmIrmptiCLhGTxQDKJWnz9bg/83MUPZQB6w5+4iy37t9gqHzJzrmVyU1h3d6btDfNu+2p5p9zOfdMrVDrOzKee6g0jPJqrvigUjfY8D4d74Ko8CoOxm+dDOdgLR5KxrQbWZ1sdQ5Hp4DJI3pBYto8+2rxIFLphDCkw0pIoyxY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538437; h=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=1VRoVhZMUP15Xyp0yHS0XscMugYSBb6H/DPjAw3Df78=; b=JrPcpiZNZ8BXEOGlnFGUVxS3QWUu0i9k9xmbfk1bCMPZdSM6mk0bT8ieAVK3fwIIQAz36qhMkGIaXh5mtNbwaPBXz8MAuFqIFO54xJQ9mLK721b+J1rGj5PLQlDYtYvK04Mia5uOZh1RKPJgSn8Bz53GlVhPPKHWm1/5LgIa8GE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538437806557.5919165398277; Wed, 8 Jan 2020 18:53:57 -0800 (PST) Received: from localhost ([::1]:54026 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNxM-0007gT-3r for importer@patchew.org; Wed, 08 Jan 2020 21:53:56 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53343) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNt6-00033Z-Ht for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:36 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNt2-0006Lt-13 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:32 -0500 Received: from mail-pj1-x1041.google.com ([2607:f8b0:4864:20::1041]:33202) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNt1-0006Kj-RR for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:27 -0500 Received: by mail-pj1-x1041.google.com with SMTP id u63so419218pjb.0 for ; Wed, 08 Jan 2020 18:49:27 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:26 -0800 (PST) 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=1VRoVhZMUP15Xyp0yHS0XscMugYSBb6H/DPjAw3Df78=; b=E1tAra96EUHgHi+KJO21T1AirUAe6GZFAKnUsAVcFKP1/M+HHoKD1Otxq1iWqHOneA mZibz45Uu1qD5Z8INAjj+p2TcYJLh1AAU/M3GckfV6nkfd4exO8aKTzEWR2wgvQr3OAB 1M8zA51Y/StRudHRtagL/EMWDfcDUJAD09WURTmfX2xMkN75cJW6LjQkn6WE2THL8pc2 pelvn9ubIpPR1PLyN/WNQdHcE9tK9+0VU5rF4lHS95svfCj0UDzI1847M03+QUfSkLaU eKIc6K85h1Xojljy7iNqD1mWbL2i7ubhnRd2RCJbyIVUcc4vUDllL2o6guY/RQC5QrMM gxPA== 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=1VRoVhZMUP15Xyp0yHS0XscMugYSBb6H/DPjAw3Df78=; b=VEOd+vBsYaT5NJfItNKVSCmxyC0HlA1F8e+3BiySNtXkdXYyj/cIB9gEUnWZzDj359 D2GbI6MXyV2QDUichRaN2be2RVriVcfLu1fTtp5nJPjuT6yZ4tbF4wq0lsZ905JycYCR BGPkNziUqUwyw8cGAfKOUdajq2c2tRKNvFtman6SDFXMP9cmEklkq2FRE2F5Y7jhVm+s ERyvxC1uZRtK1jSo6gUrc+JqjMKX8DAb5C4xIgBJWgEeIiytR4fJLcwUUvOfh4ZxRV/K ahhj2wu3rKzXa6bW/g0t+aWIAaLss4SAowzdBcH+zrIaE/ADhYgfB+gLwCAbRCBcO9yo TtvA== X-Gm-Message-State: APjAAAV+mC1NPTPnl2m1rR4kPNaVMwhGLfSPARxFUOxn6BM4tFG0t9MB BImCWKQZfEoXGBLnQp7xs/xyzcotQqa8SQ== X-Google-Smtp-Source: APXvYqwg8fNb+G1AFZWW9c0xRfPTI6FVWVbXhxW60vSAjwAvIj4afLCHBgtMKtR0xtXsxwY8CxvMIA== X-Received: by 2002:a17:90a:868b:: with SMTP id p11mr2444509pjn.60.1578538166609; Wed, 08 Jan 2020 18:49:26 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 6/9] cputlb: Split out tlb_mmu_flush_locked Date: Thu, 9 Jan 2020 13:49:04 +1100 Message-Id: <20200109024907.2730-7-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::1041 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" We will want to be able to flush a tlb without resizing. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index eff427f137..e60e501334 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -228,12 +228,8 @@ static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CP= UTLBDescFast *fast) } } =20 -static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) +static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) { - CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; - CPUTLBDescFast *fast =3D &env_tlb(env)->f[mmu_idx]; - - tlb_mmu_resize_locked(desc, fast); desc->n_used_entries =3D 0; desc->large_page_addr =3D -1; desc->large_page_mask =3D -1; @@ -242,6 +238,15 @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *= env, int mmu_idx) memset(desc->vtable, -1, sizeof(desc->vtable)); } =20 +static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) +{ + CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; + CPUTLBDescFast *fast =3D &env_tlb(env)->f[mmu_idx]; + + tlb_mmu_resize_locked(desc, fast); + tlb_mmu_flush_locked(desc, fast); +} + static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu= _idx) { env_tlb(env)->d[mmu_idx].n_used_entries++; --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538446; cv=none; d=zohomail.com; s=zohoarc; b=oKq9WNDdm/w4f5FIkVwZEyUU8ZvP3ll6t41Jq8PgRYc7nTOdhADkGMk35+vzVwKKsTjBnk49aICP8zUre2VoJuw1w2l+qFeafXZRX0oFqcuyndd1txZHxCZ7CMyi3VDqryCOqtzBjpFiUySBXUxQBgMy0XVj/RWxEMUnxEh5PwU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538446; h=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=2Otsrpp3foKLNa1SqB84R8O87zHmU0sZwfC3eLGqWD8=; b=ntYYEL8o4XxCNQy7zdQQ9hkNA700Q1teaCGPgYISo3F5RxkCPD+tLBSGMKOkOa6DaBWRrXOyN2zHx3E9u8EVcwxof/mRJ8hvXkxafsjvowOOBP92cb6kw3P/AWRrP+mx8df1dZq1IeVeOYp0EhjwLFKW5plVTg1Rhfp9BBau7hI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538446484851.5094658024982; Wed, 8 Jan 2020 18:54:06 -0800 (PST) Received: from localhost ([::1]:54034 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNxT-000820-Rp for importer@patchew.org; Wed, 08 Jan 2020 21:54:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53471) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNt7-00034n-FJ for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:34 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNt4-0006Pm-Gw for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:33 -0500 Received: from mail-pj1-x1043.google.com ([2607:f8b0:4864:20::1043]:50669) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNt4-0006Oi-Ao for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:30 -0500 Received: by mail-pj1-x1043.google.com with SMTP id r67so478243pjb.0 for ; Wed, 08 Jan 2020 18:49:30 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:28 -0800 (PST) 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=2Otsrpp3foKLNa1SqB84R8O87zHmU0sZwfC3eLGqWD8=; b=l7+pey/eFmdAM/QTyGWQo+Ehd9CIHQROPHKV0opg1OXFqLPK3FiB2IaXrg9GhnTf1r I3zwqx5qP3Nkx7pz+RTM1VIkFfVTgi2oml0KFhUFS/KHhwm4TYrveaDAlp7AkPT5KAsp wpX1h/tRbc14yqnGdLDe0Uyq/uz5S8AH8wkAq0RlpblpOlr8JFJlXfT23MwFshR4JON1 bQAZSUODOmEw7EJIFc0silViTUe+iilJuQQfLEhUFspwFb7ZKDTFN1HnHtuy9MGrzYdx IgUr3yFMSZBwfmEgs7Cfuc2PY+4f6nF8i179cTprNz0aB88HQls0X883JDskoyDeGUOS KsTw== 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=2Otsrpp3foKLNa1SqB84R8O87zHmU0sZwfC3eLGqWD8=; b=P2ujKTaKnUjtWJClzkB5mcKyzXkcXX/Yo5ewXSnyRxJmo0Zxi0UcxLAFUzkCiotBtK qigjFqaISmGzfT/bpP6zwgVV1Qf1/kpnZiGazRXEj3hDvMOpPdv9WjjqttwTWnuSWcfr nZaRi3k3aXce77wi3psQpvn+2EIWCGAXDW+oIcV0E6OtlBX9npMex5VvK68Wuv4eX77m GYO7pcwTJNC7KwoKcdzGGuek+xTeGtcsPJrVDyhiswxD7iCEJy5uxWB0L7ag4AGFofZV c6KGpjJNSMltec6VgbF8aBZ6bIWeBxqEVVLTUQ8FjvA0cAAk2W82cijt8ObaXi7i0XPt Herw== X-Gm-Message-State: APjAAAXuY1UIgktfWOyC/u79DvtzJ+4vzoX5DbPM5OlbWQ5EQF1OTJEc pa28L+RarY+bVy4fmro36P4ufU89vvH8/w== X-Google-Smtp-Source: APXvYqzEq9EPGkmd0JZXFcehwH3kk3gxzfUMC9v5NVGRlkgJR1X2cknFPGG7wficvX/DdWF4WVFuSQ== X-Received: by 2002:a17:902:8207:: with SMTP id x7mr8907127pln.286.1578538169014; Wed, 08 Jan 2020 18:49:29 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 7/9] cputlb: Partially merge tlb_dyn_init into tlb_init Date: Thu, 9 Jan 2020 13:49:05 +1100 Message-Id: <20200109024907.2730-8-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::1043 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Merge into the only caller, but at the same time split out tlb_mmu_init to initialize a single tlb entry. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index e60e501334..c7c34b185b 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -97,22 +97,6 @@ static void tlb_window_reset(CPUTLBDesc *desc, int64_t n= s, desc->window_max_entries =3D max_entries; } =20 -static void tlb_dyn_init(CPUArchState *env) -{ - int i; - - for (i =3D 0; i < NB_MMU_MODES; i++) { - CPUTLBDesc *desc =3D &env_tlb(env)->d[i]; - size_t n_entries =3D 1 << CPU_TLB_DYN_DEFAULT_BITS; - - tlb_window_reset(desc, get_clock_realtime(), 0); - desc->n_used_entries =3D 0; - env_tlb(env)->f[i].mask =3D (n_entries - 1) << CPU_TLB_ENTRY_BITS; - env_tlb(env)->f[i].table =3D g_new(CPUTLBEntry, n_entries); - env_tlb(env)->d[i].iotlb =3D g_new(CPUIOTLBEntry, n_entries); - } -} - /** * tlb_mmu_resize_locked() - perform TLB resize bookkeeping; resize if nec= essary * @desc: The CPUTLBDesc portion of the TLB @@ -247,6 +231,17 @@ static void tlb_flush_one_mmuidx_locked(CPUArchState *= env, int mmu_idx) tlb_mmu_flush_locked(desc, fast); } =20 +static void tlb_mmu_init(CPUTLBDesc *desc, CPUTLBDescFast *fast, int64_t n= ow) +{ + size_t n_entries =3D 1 << CPU_TLB_DYN_DEFAULT_BITS; + + tlb_window_reset(desc, now, 0); + desc->n_used_entries =3D 0; + fast->mask =3D (n_entries - 1) << CPU_TLB_ENTRY_BITS; + fast->table =3D g_new(CPUTLBEntry, n_entries); + desc->iotlb =3D g_new(CPUIOTLBEntry, n_entries); +} + static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu= _idx) { env_tlb(env)->d[mmu_idx].n_used_entries++; @@ -260,13 +255,17 @@ static inline void tlb_n_used_entries_dec(CPUArchStat= e *env, uintptr_t mmu_idx) void tlb_init(CPUState *cpu) { CPUArchState *env =3D cpu->env_ptr; + int64_t now =3D get_clock_realtime(); + int i; =20 qemu_spin_init(&env_tlb(env)->c.lock); =20 /* Ensure that cpu_reset performs a full flush. */ env_tlb(env)->c.dirty =3D ALL_MMUIDX_BITS; =20 - tlb_dyn_init(env); + for (i =3D 0; i < NB_MMU_MODES; i++) { + tlb_mmu_init(&env_tlb(env)->d[i], &env_tlb(env)->f[i], now); + } } =20 /* flush_all_helper: run fn across all cpus --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538684; cv=none; d=zohomail.com; s=zohoarc; b=TkOitUPLziNmTFlovkaSYC8cqDmURtifHTwctCwxyV5chtIyWid346b0D6vsl912vqh4CmDwQ6SrMjQDPnklR9QeXPwwqMUcbbmC/z9s1H8tZoCgo5V1JjY26+HAUUzWTTZzjJSNx5JYHAr1ZoPy63nOhJubQCHLuLGOvTyECM0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538684; h=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=bI837W0qu61ZCvf0+RXhi7DDjyBjyOrHLVOGWGh4Vsw=; b=HiU/qwPotdlCbt4EAFXpmkHjQJhZ1GTDBc1ojDLZ6WRIFlMLnzORGfwOMAPY/oJWvoahQGcpNpk9FHeXHwJ25WedVu1dmcFjw/0XnVUaNWwfpB9arRC/jR5wbiSugeoe8iItO7PB6k8wWIZ7vU+v8oooKOouKkqHfSZuAef6z70= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538684685636.6859999576446; Wed, 8 Jan 2020 18:58:04 -0800 (PST) Received: from localhost ([::1]:54164 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipO1L-0006SI-En for importer@patchew.org; Wed, 08 Jan 2020 21:58:03 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:53708) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNt9-00037M-0G for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNt6-0006UC-W8 for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:34 -0500 Received: from mail-pl1-x642.google.com ([2607:f8b0:4864:20::642]:38160) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNt6-0006SQ-Nr for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:32 -0500 Received: by mail-pl1-x642.google.com with SMTP id f20so1924843plj.5 for ; Wed, 08 Jan 2020 18:49:32 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:30 -0800 (PST) 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=bI837W0qu61ZCvf0+RXhi7DDjyBjyOrHLVOGWGh4Vsw=; b=iIG46fRp5ogMZwkYU6WuosNs1OINhSRHQhTCR9vDcxL+xBJXTkPoX+uyWMziexP0l4 9EkpqqqU69DPscWfYLa2EeeuVQMjftx6IVjmfiIIaW9aVfEooLfYU5li63N6zF1AsWIL 76liK7RFPBG2oRM1/Iu5i92JYpPTC8SrBziSQVt6mbAdpn8XQioo0goqdB2EDwfI26F/ GXeTsT9LmMT9Yi9b+gef/ohV19Yvl9qTKrhftH4d+UknHYFz63j+fTfQ44W8GE9a4Lfn 9znMOZZvpMb6vL42PonCvvdwu2W1X72yZvn6qMHZW0GZIs3GikgofENjztnlZTEdsjEy t6bQ== 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=bI837W0qu61ZCvf0+RXhi7DDjyBjyOrHLVOGWGh4Vsw=; b=MVlUNEB1kuprsPBb+uFhEf5uOLCe7Vs3dgXtDIkpB7OG2XCCjaDGEM7Ll0QSfER1y0 Nq/7AdQ/xrdrrXEAxLX0xiBoLcXItGe0jEFWK5YDubrds1CA98txJZQ3lw8j+IA+57o9 ivPZRk7b2PeIZs8ChamzoSKWj8chGsSiJ38or3nPfZ3LDB0i+V/ljDaUhYAE4dVzT7Sm AeUXUf3MieX5W0WZqDjyI4lLuCWK2IG48kFSOqMTEP4DUx5Vd2+ugDMK13cV5Xrlgb08 jy1c85/2RTQD+H4oKjg5WUSNmw9ZYZl1mzlNArQzRYr7v0sRp7h75sxAUbS1yLyJlK8J MLyg== X-Gm-Message-State: APjAAAXRAW7gcs3RIMaXrfXFlGYc35cA7AtWnOzklanF4qE4LTBm/toV B/6PMMTD466xku9erTUDe7ORESpgqSTqtA== X-Google-Smtp-Source: APXvYqyHP1IQLEA6CCkod6mdY9rvNUD7i9hhClVVfqN1PGuWVkL933E/ykEYvE1l4aqQ50uF0exGdw== X-Received: by 2002:a17:902:7792:: with SMTP id o18mr8409379pll.31.1578538171454; Wed, 08 Jan 2020 18:49:31 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 8/9] cputlb: Initialize tlbs as flushed Date: Thu, 9 Jan 2020 13:49:06 +1100 Message-Id: <20200109024907.2730-9-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::642 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" There's little point in leaving these data structures half initialized, and relying on a flush to be done during reset. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis --- accel/tcg/cputlb.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index c7c34b185b..761e9d44d7 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -240,6 +240,7 @@ static void tlb_mmu_init(CPUTLBDesc *desc, CPUTLBDescFa= st *fast, int64_t now) fast->mask =3D (n_entries - 1) << CPU_TLB_ENTRY_BITS; fast->table =3D g_new(CPUTLBEntry, n_entries); desc->iotlb =3D g_new(CPUIOTLBEntry, n_entries); + tlb_mmu_flush_locked(desc, fast); } =20 static inline void tlb_n_used_entries_inc(CPUArchState *env, uintptr_t mmu= _idx) @@ -260,8 +261,8 @@ void tlb_init(CPUState *cpu) =20 qemu_spin_init(&env_tlb(env)->c.lock); =20 - /* Ensure that cpu_reset performs a full flush. */ - env_tlb(env)->c.dirty =3D ALL_MMUIDX_BITS; + /* All tlbs are initialized flushed. */ + env_tlb(env)->c.dirty =3D 0; =20 for (i =3D 0; i < NB_MMU_MODES; i++) { tlb_mmu_init(&env_tlb(env)->d[i], &env_tlb(env)->f[i], now); --=20 2.20.1 From nobody Sat May 18 10:30:08 2024 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=pass; 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=pass(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1578538579; cv=none; d=zohomail.com; s=zohoarc; b=LgLy0Oe40Lenm8HdqNKHcpLPGIIJolVAyIdqB7On1HbVADWkhU4eWs1bOFhdwdAM+1qZOavTqZtt7EuIZ0TZLZigpoDb9HS4hzNnOfAZjzBw28c58LWIUkBfFwl4NB7om7uiyjGjAwp3IQWMDsgdTIM8JHqub7EwksJF8Xvm8c4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1578538579; h=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=7oSKIrC5QlsP+UfXWHE34ZSkgxpGtuY2yzIIDI3pxVg=; b=IMRGMR2PTER93m3xaHacozSE1R/wWlkbKOg80RwsFNGBIFMn4LnSkHsxMvVLq50rs+daEf+qdiNHXmzPMEuwi5eupDrUPl30rLlRRZHGNjz8SILpxnaoG95WPcM3WY45PoIP8IRzNRVNdsBL06LVWRsxxzL9oatmdVr/kqYvDmY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass 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 1578538579694178.447224926015; Wed, 8 Jan 2020 18:56:19 -0800 (PST) Received: from localhost ([::1]:54100 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNze-0004iX-Ho for importer@patchew.org; Wed, 08 Jan 2020 21:56:18 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:54010) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ipNtB-0003Bi-6P for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ipNt9-0006aC-DX for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:36 -0500 Received: from mail-pf1-x444.google.com ([2607:f8b0:4864:20::444]:35631) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1ipNt9-0006Xc-3X for qemu-devel@nongnu.org; Wed, 08 Jan 2020 21:49:35 -0500 Received: by mail-pf1-x444.google.com with SMTP id i23so2618404pfo.2 for ; Wed, 08 Jan 2020 18:49:35 -0800 (PST) Received: from localhost.localdomain (alanje.lnk.telstra.net. [120.151.179.201]) by smtp.gmail.com with ESMTPSA id b4sm5337844pfd.18.2020.01.08.18.49.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2020 18:49:33 -0800 (PST) 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=7oSKIrC5QlsP+UfXWHE34ZSkgxpGtuY2yzIIDI3pxVg=; b=lOyB9FK9E2skyDHYPmTW/uGY8BzETIK6d+v7I7syXPz7KdzDUd4OgXo2UA1OMycb8G S7duWDwInokskO2azizjWsi9ui/BjBnqSmqyMwMugbNIhrxeGfUZUZNszB+j/BNCwwmP 5YO56UtDNSIKD0mVEoRCOZf/JUWA3UHhkk9DYF4W9dRuSTy7xNA/urIn3WxzsGL2PAjO itTGFacu4PLcGnMPDWrmmiPAuFrMhLhn2q8YW0y5vh+1wxkPQXQzfFzlS3v9RQY5MJQD EYjkI1Mo87RgKjFpal4l0BeXDdTt0BhxRUYi+aj6aDKKgkifBPVuDcCHPEI7Wxvqjn3G /uzA== 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=7oSKIrC5QlsP+UfXWHE34ZSkgxpGtuY2yzIIDI3pxVg=; b=h8jH9Yh4aoHNnKyv0hvjMocfDw+NDuYY7kq9XlxoNzNL/jVYmasAb45frlSxm6HNf2 ybeJZ+9aQYm2Tr/lcQ670qZJpqcjCZcp2mjTA5JTDWo1WeQZ03AYaTaS+CexU3ooaPdm TWL7fkrrFyMRD8DzEgJ0001ii4XSqVZlIcLpvoTnj00oOB1lVQ8rE0/UcDlBcMrDeSnB EHCwsJxORqelpWe8Nf2RNIH4zQrwayMjMuCN1F7AGoN7oaKAirOgt/3YJxJVXPqUCmqX XNL24XU1OTPLoANvUXBF8poJlw9NaGCdJiD0ame0MpyZWFioxuauBe5w3XiMpSJI1MZQ lxzA== X-Gm-Message-State: APjAAAWp1whNkRvW8/I/NuLwbLaRXv1Pj+q3ZeaU6W0am1v/YUt//CPV n/k/DkJWcZDMBdUoj/uGgbouRV+1ClgFhQ== X-Google-Smtp-Source: APXvYqxCtUctZcZdDUs528UqTphH25wZkxancVwopX33gwsIEPHrMNaEK1EFg4+oM6Y3AmhngvlCSA== X-Received: by 2002:a63:534d:: with SMTP id t13mr8329975pgl.89.1578538173727; Wed, 08 Jan 2020 18:49:33 -0800 (PST) From: Richard Henderson To: qemu-devel@nongnu.org Subject: [PATCH 9/9] cputlb: Hoist timestamp outside of loops over tlbs Date: Thu, 9 Jan 2020 13:49:07 +1100 Message-Id: <20200109024907.2730-10-richard.henderson@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200109024907.2730-1-richard.henderson@linaro.org> References: <20200109024907.2730-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::444 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: alistair.francis@wdc.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @linaro.org) Content-Type: text/plain; charset="utf-8" Do not call get_clock_realtime() in tlb_mmu_resize_locked, but hoist outside of any loop over a set of tlbs. This is only two (indirect) callers, tlb_flush_by_mmuidx_async_work and tlb_flush_page_locked, so not onerous. Signed-off-by: Richard Henderson Reviewed-by: Alex Benn=C3=A9e Reviewed-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 761e9d44d7..9f6cb36921 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -137,12 +137,12 @@ static void tlb_window_reset(CPUTLBDesc *desc, int64_= t ns, * high), since otherwise we are likely to have a significant amount of * conflict misses. */ -static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast) +static void tlb_mmu_resize_locked(CPUTLBDesc *desc, CPUTLBDescFast *fast, + int64_t now) { size_t old_size =3D tlb_n_entries(fast); size_t rate; size_t new_size =3D old_size; - int64_t now =3D get_clock_realtime(); int64_t window_len_ms =3D 100; int64_t window_len_ns =3D window_len_ms * 1000 * 1000; bool window_expired =3D now > desc->window_begin_ns + window_len_ns; @@ -222,12 +222,13 @@ static void tlb_mmu_flush_locked(CPUTLBDesc *desc, CP= UTLBDescFast *fast) memset(desc->vtable, -1, sizeof(desc->vtable)); } =20 -static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx) +static void tlb_flush_one_mmuidx_locked(CPUArchState *env, int mmu_idx, + int64_t now) { CPUTLBDesc *desc =3D &env_tlb(env)->d[mmu_idx]; CPUTLBDescFast *fast =3D &env_tlb(env)->f[mmu_idx]; =20 - tlb_mmu_resize_locked(desc, fast); + tlb_mmu_resize_locked(desc, fast, now); tlb_mmu_flush_locked(desc, fast); } =20 @@ -310,6 +311,7 @@ static void tlb_flush_by_mmuidx_async_work(CPUState *cp= u, run_on_cpu_data data) CPUArchState *env =3D cpu->env_ptr; uint16_t asked =3D data.host_int; uint16_t all_dirty, work, to_clean; + int64_t now =3D get_clock_realtime(); =20 assert_cpu_is_self(cpu); =20 @@ -324,7 +326,7 @@ static void tlb_flush_by_mmuidx_async_work(CPUState *cp= u, run_on_cpu_data data) =20 for (work =3D to_clean; work !=3D 0; work &=3D work - 1) { int mmu_idx =3D ctz32(work); - tlb_flush_one_mmuidx_locked(env, mmu_idx); + tlb_flush_one_mmuidx_locked(env, mmu_idx, now); } =20 qemu_spin_unlock(&env_tlb(env)->c.lock); @@ -446,7 +448,7 @@ static void tlb_flush_page_locked(CPUArchState *env, in= t midx, tlb_debug("forcing full flush midx %d (" TARGET_FMT_lx "/" TARGET_FMT_lx ")\n", midx, lp_addr, lp_mask); - tlb_flush_one_mmuidx_locked(env, midx); + tlb_flush_one_mmuidx_locked(env, midx, get_clock_realtime()); } else { if (tlb_flush_entry_locked(tlb_entry(env, midx, page), page)) { tlb_n_used_entries_dec(env, midx); --=20 2.20.1