From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) client-ip=209.85.128.48; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f48.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1620573389; cv=none; d=zohomail.com; s=zohoarc; b=M0In62OZi5BSS0inxjAq7vBvXjxWxmcV4dW89JAl1UB+bVOkJbADzaSvbb/lA6Q/jJHBVxv/HYIcz1zyu2cPJ+2ld97WyGUGHSy/pqBB8VhZHrM2bSUiTEnndo7euHxQ3eGIT+EA7GY3nOMh5ryzb6+rTnP9RjPyZ/c48PJ+EI4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573389; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=g/4SxtqNPm0E/CIeRZgN6CpYgDUnydXgvlLbsp+hewQ=; b=TjEGMMMu/8uco3lLdd+9p80wDQMRCL4u4uR/c7ep2XPUMY5PYvsU8tNZJdmAVlC4Wum9iiHWUusZ3tT5+Y/1i1iYf6y/ODAextFoKcFfpc6emQICeSIy3Ybxm7SdLxnrQLCye+K5q+cMjBuovq5fgMCDANFQEumj933QqwGdYo0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by mx.zohomail.com with SMTPS id 1620573389498966.6014682243045; Sun, 9 May 2021 08:16:29 -0700 (PDT) Received: by mail-wm1-f48.google.com with SMTP id o127so7760907wmo.4 for ; Sun, 09 May 2021 08:16:26 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id f6sm19891650wru.72.2021.05.09.08.16.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=g/4SxtqNPm0E/CIeRZgN6CpYgDUnydXgvlLbsp+hewQ=; b=g1qDQPuY8atoSzlEkszcdJ+eEHA/16oyeHN3JAuilwQMmKCRQ1a49G4J/wKGEXx6ei XbrxU2p3MaOPsDCim6QTXX0OkqQZD5eok2dIKtpGdtMWWhYoBqM0yXr2H5lV3Cdcf3hj IgeK/tcwXhqRBEzFOqXIYJXxMhSe6j+U+aoWwpUd/cO4y1Ils9JaZP2usf5oUAKSzpgj sxe9gaiN+b5WEV7sNw+6ERPJDhZ1titXnGb++Za7CKzVnKO5w39coDgoB9XEJnqN3e4Q xryr661yP3zQFHigcB6KtP5ICU2rlzFKb8ePtpxxO04sZm+vyNU2O+IG+PcIDgzIvxZM 4sPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=g/4SxtqNPm0E/CIeRZgN6CpYgDUnydXgvlLbsp+hewQ=; b=h6jPzGlT5b1dxYz/2kPrhjWymmwxLAms77pOfm/LKispTj20XGzqi+hZB+LGoKS6ON s9xHg8iqYqILL2DRYJE3D6L+gixqkSwpYN2rzPUzokFE8x8rGRykEGBSzNatX7FUlPCP ElP2HPdnRuuT53NRYEhS4hKVgx4u4oCXcoyiqR1f9GQqOCr8DbXXrqVmJ7S+jGDNjhD0 0qu/c0t36JmoQTlF+nAWrhuU0OJyeVA4VTFFo85n8008Y/0kRmL3EgJQempGSycWQfw4 MYWWa0ZF3ijFJYflBel0EykBNKGOL2EfuoCutO1oPgeMTR66Kc6X1wE6pss25k5liaBL RubA== X-Gm-Message-State: AOAM532sL+D2mj9eKukVB8MrR+U/m/F8P43p4DHSPZ+8iJZma3VN+JKH kdzOQ69bhRMEEU+kjPrFa8ppA87w70LykUtx X-Google-Smtp-Source: ABdhPJzNQkckM2TtOySTimVX34+66oIMBWjIm0OqcJkvxAagJxG9g4vFuVGub/ZSJRr0lQK3l8za9w== X-Received: by 2002:a05:600c:3388:: with SMTP id o8mr32529782wmp.101.1620573385750; Sun, 09 May 2021 08:16:25 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 1/9] accel/tcg: Replace g_new() + memcpy() by g_memdup() Date: Sun, 9 May 2021 17:16:10 +0200 Message-Id: <20210509151618.2331764-2-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 84e7d91a5ca..f616b58a898 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -837,11 +837,8 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, targ= et_ulong addr, } else if (encode_pbm_to_runon(&runon, d)) { async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_1, runon= ); } else { - TLBFlushPageBitsByMMUIdxData *p - =3D g_new(TLBFlushPageBitsByMMUIdxData, 1); - /* Otherwise allocate a structure, freed by the worker. */ - *p =3D d; + TLBFlushPageBitsByMMUIdxData *p =3D g_memdup(&d, sizeof(d)); async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_2, RUN_ON_CPU_HOST_PTR(p)); } @@ -875,13 +872,11 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState = *src_cpu, flush_all_helper(src_cpu, tlb_flush_page_bits_by_mmuidx_async_1, r= unon); } else { CPUState *dst_cpu; - TLBFlushPageBitsByMMUIdxData *p; =20 /* Allocate a separate data block for each destination cpu. */ CPU_FOREACH(dst_cpu) { if (dst_cpu !=3D src_cpu) { - p =3D g_new(TLBFlushPageBitsByMMUIdxData, 1); - *p =3D d; + TLBFlushPageBitsByMMUIdxData *p =3D g_memdup(&d, sizeof(d)= ); async_run_on_cpu(dst_cpu, tlb_flush_page_bits_by_mmuidx_async_2, RUN_ON_CPU_HOST_PTR(p)); @@ -927,15 +922,13 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CP= UState *src_cpu, /* Allocate a separate data block for each destination cpu. */ CPU_FOREACH(dst_cpu) { if (dst_cpu !=3D src_cpu) { - p =3D g_new(TLBFlushPageBitsByMMUIdxData, 1); - *p =3D d; + p =3D g_memdup(&d, sizeof(d)); async_run_on_cpu(dst_cpu, tlb_flush_page_bits_by_mmuidx_as= ync_2, RUN_ON_CPU_HOST_PTR(p)); } } =20 - p =3D g_new(TLBFlushPageBitsByMMUIdxData, 1); - *p =3D d; + p =3D g_memdup(&d, sizeof(d)); async_safe_run_on_cpu(src_cpu, tlb_flush_page_bits_by_mmuidx_async= _2, RUN_ON_CPU_HOST_PTR(p)); } --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) client-ip=209.85.128.49; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f49.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573392; cv=none; d=zohomail.com; s=zohoarc; b=VXYQq00XzeyBsMVu6YRk3rwocgU6l0RschAS857p4YlJZEHw59wm5Bksop/fEzclYOzgqSffb5zgx5A7S7vgdC1f9Q49o6tABO8UHchOwcmv5VjTpwdOt58luZjrlzfPeHLzh3IwEe6QMa+07frO63ysLb4H/BWfD7oDvoI8Dvc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573392; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HD4fj6kxrQwLgpLTJfwae7SL8qcS2VUCooMY8AWXtkk=; b=e8O0YjmUJgXclAojDmJuor6m0cECTdftfrSDoXT4uPHSu5Z4ulac8eqL544uTmuDtYOVygGswIB1pwsyy8FHKvgaIxREwsJIT9stY5LgFccqryz8MuXL1fQCrMz42y5c7vrtC2DuCkTNRkmE20QdgD2uTcQqnrRH38vfFaCOoZA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.49 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.zohomail.com with SMTPS id 1620573392094466.4712257851389; Sun, 9 May 2021 08:16:32 -0700 (PDT) Received: by mail-wm1-f49.google.com with SMTP id y124-20020a1c32820000b029010c93864955so9735162wmy.5 for ; Sun, 09 May 2021 08:16:31 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id k16sm15830386wmi.44.2021.05.09.08.16.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HD4fj6kxrQwLgpLTJfwae7SL8qcS2VUCooMY8AWXtkk=; b=PvkmTpXtGC7Qoix9aHrX1evBwVECP908EFFpJ+AqoS0990N0+WfT0A9I85D8ymXvWY Fkvr8CHojIWXN4Kuvz8B1BSKY2l5GE+v3SxqFQ2Qc7tXqMyzJ6qHdrrIWS9/DCK66Uls dSMlBYDeHG+UOnrI4Is32PufuJwUD+TaIr6AQO8CVn9z2hft7GwJWNWiASxcXL74z67q 1eKq94r0aWhAKTYAdcbTzOz40LcuSogoJaip2jZCntOcep82MYQQT/1PPW/MvHyruReG YSgHvwuZF2vfBc7SX7MwtFgVEC8kvuphORndH6AVE/p+youLFlFS47O6y+BdqPL0NZTP QOyA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=HD4fj6kxrQwLgpLTJfwae7SL8qcS2VUCooMY8AWXtkk=; b=g9/NUAaeXPhbYszlNtiilUbyJk+HfOiuWF4TTWZoTYYL/yeHc5VIQXOAg2NzMLZutH k8Nl03mCXCFmbKl3kmFwNapUDU9mQbhtVRiObUzYvo6tVLeTIRtvbqybSeByvTvSZ45u sdBVCxZrB5EWCARrPJCjmDEdwdLRkMnnvk97myyyJcOYXL5K42zhU6c9mjS3QmtZi0sa r1qQwDFpYbZrC+m1gt3J9cj3i5Vm+WR0O9+y8UReqa+t8mzfDZquP0LECp5MI+TXei00 0YS86R5t1T5Ygw4o3I6lStt0eofNtvN1cUyzwnoC30Rdjgnf+3leAosZIRUb+mB9Zn5P honQ== X-Gm-Message-State: AOAM531jVz1GnfUjhuuAoO6n+llfq6y7yshdm89ZvArJCD5OZLlAJHXs 9VkgSvSpsIZO4PFXCXQajzY= X-Google-Smtp-Source: ABdhPJwuBj47xj/TbF4/C+FRO4Z8SPSMPM5pf1MqGxbM+9gLhGGceJISpItUJWSSRHF7sXJoP7EP8g== X-Received: by 2002:a05:600c:4ecd:: with SMTP id g13mr21175510wmq.173.1620573390330; Sun, 09 May 2021 08:16:30 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 2/9] accel/tcg: Pass length argument to tlb_flush_range_locked() Date: Sun, 9 May 2021 17:16:11 +0200 Message-Id: <20210509151618.2331764-3-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Rename tlb_flush_page_bits_locked() -> tlb_flush_range_locked(), and have callers pass a length argument (currently TARGET_PAGE_SIZE) via the TLBFlushPageBitsByMMUIdxData structure. Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 48 +++++++++++++++++++++++++++++++--------------- 1 file changed, 33 insertions(+), 15 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index f616b58a898..df5d5dbf879 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -707,8 +707,9 @@ void tlb_flush_page_all_cpus_synced(CPUState *src, targ= et_ulong addr) tlb_flush_page_by_mmuidx_all_cpus_synced(src, addr, ALL_MMUIDX_BITS); } =20 -static void tlb_flush_page_bits_locked(CPUArchState *env, int midx, - target_ulong page, unsigned bits) +static void tlb_flush_range_locked(CPUArchState *env, int midx, + target_ulong addr, target_ulong len, + unsigned bits) { CPUTLBDesc *d =3D &env_tlb(env)->d[midx]; CPUTLBDescFast *f =3D &env_tlb(env)->f[midx]; @@ -718,20 +719,26 @@ static void tlb_flush_page_bits_locked(CPUArchState *= env, int midx, * If @bits is smaller than the tlb size, there may be multiple entries * within the TLB; otherwise all addresses that match under @mask hit * the same TLB entry. - * * TODO: Perhaps allow bits to be a few bits less than the size. * For now, just flush the entire TLB. + * + * If @len is larger than the tlb size, then it will take longer to + * test all of the entries in the TLB than it will to flush it all. */ - if (mask < f->mask) { + if (mask < f->mask || len > f->mask) { tlb_debug("forcing full flush midx %d (" - TARGET_FMT_lx "/" TARGET_FMT_lx ")\n", - midx, page, mask); + TARGET_FMT_lx "/" TARGET_FMT_lx "+" TARGET_FMT_lx ")\n", + midx, addr, mask, len); tlb_flush_one_mmuidx_locked(env, midx, get_clock_realtime()); return; } =20 - /* Check if we need to flush due to large pages. */ - if ((page & d->large_page_mask) =3D=3D d->large_page_addr) { + /* + * Check if we need to flush due to large pages. + * Because large_page_mask contains all 1's from the msb, + * we only need to test the end of the range. + */ + if (((addr + len - 1) & d->large_page_mask) =3D=3D d->large_page_addr)= { tlb_debug("forcing full flush midx %d (" TARGET_FMT_lx "/" TARGET_FMT_lx ")\n", midx, d->large_page_addr, d->large_page_mask); @@ -739,14 +746,20 @@ static void tlb_flush_page_bits_locked(CPUArchState *= env, int midx, return; } =20 - if (tlb_flush_entry_mask_locked(tlb_entry(env, midx, page), page, mask= )) { - tlb_n_used_entries_dec(env, midx); + for (target_ulong i =3D 0; i < len; i +=3D TARGET_PAGE_SIZE) { + target_ulong page =3D addr + i; + CPUTLBEntry *entry =3D tlb_entry(env, midx, page); + + if (tlb_flush_entry_mask_locked(entry, page, mask)) { + tlb_n_used_entries_dec(env, midx); + } + tlb_flush_vtlb_page_mask_locked(env, midx, page, mask); } - tlb_flush_vtlb_page_mask_locked(env, midx, page, mask); } =20 typedef struct { target_ulong addr; + target_ulong len; uint16_t idxmap; uint16_t bits; } TLBFlushPageBitsByMMUIdxData; @@ -760,18 +773,20 @@ tlb_flush_page_bits_by_mmuidx_async_0(CPUState *cpu, =20 assert_cpu_is_self(cpu); =20 - tlb_debug("page addr:" TARGET_FMT_lx "/%u mmu_map:0x%x\n", - d.addr, d.bits, d.idxmap); + tlb_debug("range:" TARGET_FMT_lx "/%u+" TARGET_FMT_lx " mmu_map:0x%x\n= ", + d.addr, d.bits, d.len, d.idxmap); =20 qemu_spin_lock(&env_tlb(env)->c.lock); for (mmu_idx =3D 0; mmu_idx < NB_MMU_MODES; mmu_idx++) { if ((d.idxmap >> mmu_idx) & 1) { - tlb_flush_page_bits_locked(env, mmu_idx, d.addr, d.bits); + tlb_flush_range_locked(env, mmu_idx, d.addr, d.len, d.bits); } } qemu_spin_unlock(&env_tlb(env)->c.lock); =20 - tb_flush_jmp_cache(cpu, d.addr); + for (target_ulong i =3D 0; i < d.len; i +=3D TARGET_PAGE_SIZE) { + tb_flush_jmp_cache(cpu, d.addr + i); + } } =20 static bool encode_pbm_to_runon(run_on_cpu_data *out, @@ -829,6 +844,7 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, targe= t_ulong addr, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; + d.len =3D TARGET_PAGE_SIZE; d.idxmap =3D idxmap; d.bits =3D bits; =20 @@ -865,6 +881,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *s= rc_cpu, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; + d.len =3D TARGET_PAGE_SIZE; d.idxmap =3D idxmap; d.bits =3D bits; =20 @@ -908,6 +925,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUS= tate *src_cpu, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; + d.len =3D TARGET_PAGE_SIZE; d.idxmap =3D idxmap; d.bits =3D bits; =20 --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) client-ip=209.85.128.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573396; cv=none; d=zohomail.com; s=zohoarc; b=Yz/pHetZtc758p6x0gjhyNTh4x4sdXTHIIcxl8+BP/sGD6wLL/G1+HamUOI+ggpIFSbm8T4dUtUuQ17eOOXlrVpdwe6hFn5l1EJKIvwl1mtXeGwK0V6zPAb2DY1vdSyFm3gdT1on/r8jOVmIeSYw//H/sCMVzQNtRIPrRkfszAY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573396; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=62KhF+aHTJsms61syfsXVhbiLTTTHduiXAK5ql6cZIo=; b=KRvMtSn5UH4JRadzWSWBwoQ4+2JL5JoFrpItCF8DFZOnM5VCrm/y6i5F7Dom/IMEE+Ib2ifCSsGfpuSE3fETKyqNXOOg9x5+UfvuNjya9au77JfHtsVX+m2ZAN4/sWj1jjYvoqKkCtsByWcSt9FP/zt9r4xzGsuryGV4zrrG+KA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.zohomail.com with SMTPS id 1620573396647541.3328439592946; Sun, 9 May 2021 08:16:36 -0700 (PDT) Received: by mail-wm1-f52.google.com with SMTP id g65so7769625wmg.2 for ; Sun, 09 May 2021 08:16:36 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id d3sm4507459wrs.41.2021.05.09.08.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=62KhF+aHTJsms61syfsXVhbiLTTTHduiXAK5ql6cZIo=; b=a9HLnfkBeHQYqq2uhH/njwJCmKJs8fL64QZatvt/kLZn2/eoYkVOa6z9j6ALoc4aLs HrYsyWx0RNbVUdyEsxCF+IKrPLTEXPkcQRNHEt72eOnR2soFlq6Y8wSINbQBreYBQ3WO SnFPH3CQENfRtjdkWij5TM9osXc9cBUwzWx95BKR1JbqGmF/AzpCkTpOdXLl396vFAHK XEIPCd1AgjZVoK9J3xdqG4KkZLRTDLd31jP0BgIzqHi/YzEiEtj+lc+opnwDe1MdLq35 E6xwGMootkZ4ChYs62ay0V8Jfx9F3dpSFwPPxpI31RRNjbWfmGEuzZGnF4pmpbVHniU8 Ypow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=62KhF+aHTJsms61syfsXVhbiLTTTHduiXAK5ql6cZIo=; b=t0qI38BE/eUD6m2xwiYQ0Y9Kop1k3EvRU0vP6Afx58vKPX9IJatEAoPvJ1VxuWQsbB LlJdvLr0rWPYi4VlOjIVyUkOcicFvGBnHeA0NxdbrtZlU3tMEDTAvBdZmM7jooradjsN 4TvOk9lq/Vx0KhZFGChRu0jrxWu1HDwUbawuX/XU9N2K0SD4IzC6xu3QK5OBqmNLyOAk BS48QSOG0Fu1cxhAbZ5SO6dB4YtYvEZ6+DxN9SfegXjX4Onx0GwwgkWqWHu+B9Dofmmf h0fOCj1HZhhYEaI/nNVljq9IznA366ovIg0BjySfTZ43E2HnH+d7OZZGtpOo9taOVfY9 fsvA== X-Gm-Message-State: AOAM530UtUuO62zCCHgm1TUccsQQ0KgTH4oPSpJGUqqdKknpG78zkZ4S FJiF7yMnvB1meJECyFF4V0U= X-Google-Smtp-Source: ABdhPJz0a+WNXdeoLPq89GPQhrHlCttO+qN+VoSiomH5+1YGHGNfWivXTMcoG1wOknF3Hqu+SyXHfg== X-Received: by 2002:a7b:c0cb:: with SMTP id s11mr21618989wmh.146.1620573394933; Sun, 09 May 2021 08:16:34 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 3/9] accel/tlb: Rename TLBFlushPageBitsByMMUIdxData -> TLBFlushRangeData Date: Sun, 9 May 2021 17:16:12 +0200 Message-Id: <20210509151618.2331764-4-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index df5d5dbf879..36e7831ef70 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -762,11 +762,11 @@ typedef struct { target_ulong len; uint16_t idxmap; uint16_t bits; -} TLBFlushPageBitsByMMUIdxData; +} TLBFlushRangeData; =20 static void tlb_flush_page_bits_by_mmuidx_async_0(CPUState *cpu, - TLBFlushPageBitsByMMUIdxData d) + TLBFlushRangeData d) { CPUArchState *env =3D cpu->env_ptr; int mmu_idx; @@ -790,7 +790,7 @@ tlb_flush_page_bits_by_mmuidx_async_0(CPUState *cpu, } =20 static bool encode_pbm_to_runon(run_on_cpu_data *out, - TLBFlushPageBitsByMMUIdxData d) + TLBFlushRangeData d) { /* We need 6 bits to hold to hold @bits up to 63. */ if (d.idxmap <=3D MAKE_64BIT_MASK(0, TARGET_PAGE_BITS - 6)) { @@ -800,11 +800,11 @@ static bool encode_pbm_to_runon(run_on_cpu_data *out, return false; } =20 -static TLBFlushPageBitsByMMUIdxData +static TLBFlushRangeData decode_runon_to_pbm(run_on_cpu_data data) { target_ulong addr_map_bits =3D (target_ulong) data.target_ptr; - return (TLBFlushPageBitsByMMUIdxData){ + return (TLBFlushRangeData){ .addr =3D addr_map_bits & TARGET_PAGE_MASK, .idxmap =3D (addr_map_bits & ~TARGET_PAGE_MASK) >> 6, .bits =3D addr_map_bits & 0x3f @@ -820,7 +820,7 @@ static void tlb_flush_page_bits_by_mmuidx_async_1(CPUSt= ate *cpu, static void tlb_flush_page_bits_by_mmuidx_async_2(CPUState *cpu, run_on_cpu_data data) { - TLBFlushPageBitsByMMUIdxData *d =3D data.host_ptr; + TLBFlushRangeData *d =3D data.host_ptr; tlb_flush_page_bits_by_mmuidx_async_0(cpu, *d); g_free(d); } @@ -828,7 +828,7 @@ static void tlb_flush_page_bits_by_mmuidx_async_2(CPUSt= ate *cpu, void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, target_ulong addr, uint16_t idxmap, unsigned bits) { - TLBFlushPageBitsByMMUIdxData d; + TLBFlushRangeData d; run_on_cpu_data runon; =20 /* If all bits are significant, this devolves to tlb_flush_page. */ @@ -854,7 +854,7 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, targe= t_ulong addr, async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_1, runon= ); } else { /* Otherwise allocate a structure, freed by the worker. */ - TLBFlushPageBitsByMMUIdxData *p =3D g_memdup(&d, sizeof(d)); + TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_2, RUN_ON_CPU_HOST_PTR(p)); } @@ -865,7 +865,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *s= rc_cpu, uint16_t idxmap, unsigned bits) { - TLBFlushPageBitsByMMUIdxData d; + TLBFlushRangeData d; run_on_cpu_data runon; =20 /* If all bits are significant, this devolves to tlb_flush_page. */ @@ -893,7 +893,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *s= rc_cpu, /* Allocate a separate data block for each destination cpu. */ CPU_FOREACH(dst_cpu) { if (dst_cpu !=3D src_cpu) { - TLBFlushPageBitsByMMUIdxData *p =3D g_memdup(&d, sizeof(d)= ); + TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); async_run_on_cpu(dst_cpu, tlb_flush_page_bits_by_mmuidx_async_2, RUN_ON_CPU_HOST_PTR(p)); @@ -909,7 +909,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUS= tate *src_cpu, uint16_t idxmap, unsigned bits) { - TLBFlushPageBitsByMMUIdxData d; + TLBFlushRangeData d; run_on_cpu_data runon; =20 /* If all bits are significant, this devolves to tlb_flush_page. */ @@ -935,7 +935,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUS= tate *src_cpu, runon); } else { CPUState *dst_cpu; - TLBFlushPageBitsByMMUIdxData *p; + TLBFlushRangeData *p; =20 /* Allocate a separate data block for each destination cpu. */ CPU_FOREACH(dst_cpu) { --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) client-ip=209.85.128.47; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f47.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1620573401; cv=none; d=zohomail.com; s=zohoarc; b=ezFTbLaASUDgpZyASCGVLaRxbmzytE8YuulUcDlPO5e+mSN3eN/E5V62eP6ycstsg8zC8mPt5QRwcxQuFH2YgJbCovMR7O7WH8tdvl4zw45GqfZA0ApCW5FHuvLFR1FDq5sUrVqMcG4EcU/d7tSczJSMnSrOQPfJB2SWcWj00Pw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573401; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=atM6iFbVJYj8jFYxxSOXWsMaTzteWTiOf5UTdquIQgE=; b=c6/pECmia03xlw9na7MBHq3+O8sr+Hu5k8nQ6gNtARNEAMmgCKYFzNasnpftiBRw4ML2hp2bNrecJogvkqGUCNcQCmwkMue+a77qDF5gXi2SOpskTsXb+mJFQCBrvlH8ejjr1+Aa4ezKtY/Y50+q5su9AFqTgVRW+soTPOvzwus= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.47 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.zohomail.com with SMTPS id 1620573401528744.4642201840155; Sun, 9 May 2021 08:16:41 -0700 (PDT) Received: by mail-wm1-f47.google.com with SMTP id g65so7769687wmg.2 for ; Sun, 09 May 2021 08:16:40 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id f6sm19892242wru.72.2021.05.09.08.16.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=atM6iFbVJYj8jFYxxSOXWsMaTzteWTiOf5UTdquIQgE=; b=X24ZRzeXNdLVs8jc5bMHuh/wtgivrCCs9r15bd85RO7U0l2+kQZbMYOlq10T0gPQU+ mL2M985UbxDF57rhYFmyff+9jfj+5HWh3eq0yHUnkR3wMtCVGQq/TmQH1H5ichlECJJx DTI1x26DHAlqfiw0xIeM4fmQQAgV4nL0kcPtUvvR0DG8mj4+wNpOt9z8EDdLe48laamA cWbHgii88TbVgBTdRw3PHeRhbYqTzGWrGfatJXRLoZxYWkALOS3+UavsaTHtdQG5sDTE X24b3/FT9U4ZDrQQl48vNoLHcXhYsZ7zeqPmBzwmrhEWV+kKyFZmZqbJBNAz4zNJXKU1 Etww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=atM6iFbVJYj8jFYxxSOXWsMaTzteWTiOf5UTdquIQgE=; b=KSj8+zeQPhgTdoAneUcq13yPoS3Wgd4LAsGE2TTvsUqF7GDrqv+9MuIjjRS1TtBmM3 YAmEg09s8grxa4ZEl5285xC84Kp7uOAz/4u2/N+A/yzCa3QNYKdFoR/s/bwaSMvUKgSs xsWzHs1lL7eCF48FbzPpAcLm+BqBaud/NL405PfMIQ9yP9cMptCFh7L36blNf0FNCUqq 4Vla2XfllGvUR+ddPg4HmshjiTrGKhNmKHeB+jXLmkO4hXqJYSQzHx+qTIeczI9mI2J5 cVdAJxRQdxV4vtL+XfxStnJm0cj5jjU5bVHKxFFbYcOJW0BLaIQH/EOmGnIul5bR3diH l9TQ== X-Gm-Message-State: AOAM532hHq8n9wd/sB0xNt3RXhE/eE4iSHgcLVusfS4tLFQ2OKs/ZZB5 kuv5dKbExkOxbtC3hoByMTxGXq/2BG3n8TQS X-Google-Smtp-Source: ABdhPJzOZSuzUAlzmVmDj8BNoBj7SPbRBpg/vZ2+eBuZyAxn2hPL88BaT3ZCcuXwWhr98nUmg8rdEQ== X-Received: by 2002:a1c:c206:: with SMTP id s6mr34099771wmf.47.1620573399739; Sun, 09 May 2021 08:16:39 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 4/9] accel/tcg: Add tlb_flush_range_by_mmuidx() Date: Sun, 9 May 2021 17:16:13 +0200 Message-Id: <20210509151618.2331764-5-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/exec-all.h | 19 +++++++++++++++++++ accel/tcg/cputlb.c | 20 +++++++++++++++----- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index 6b036cae8f6..5a5f6d4c1a8 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -262,6 +262,20 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *= cpu, target_ulong addr, void tlb_flush_page_bits_by_mmuidx_all_cpus_synced (CPUState *cpu, target_ulong addr, uint16_t idxmap, unsigned bits); =20 +/** + * tlb_flush_range_by_mmuidx + * @cpu: CPU whose TLB should be flushed + * @addr: virtual address of the start of the range to be flushed + * @len: length of range to be flushed + * @idxmap: bitmap of mmu indexes to flush + * @bits: number of significant bits in address + * + * For each mmuidx in @idxmap, flush all pages within [@addr,@addr+@len), + * comparing only the low @bits worth of each virtual page. + */ +void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ulong addr, + target_ulong len, uint16_t idxmap, + unsigned bits); /** * tlb_set_page_with_attrs: * @cpu: CPU to add this TLB entry for @@ -365,6 +379,11 @@ tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUState= *cpu, target_ulong addr, uint16_t idxmap, unsigned bi= ts) { } +static inline void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ulong a= ddr, + target_ulong len, uint16_t id= xmap, + unsigned bits) +{ +} #endif /** * probe_access: diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 36e7831ef70..16924ceb777 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -825,14 +825,18 @@ static void tlb_flush_page_bits_by_mmuidx_async_2(CPU= State *cpu, g_free(d); } =20 -void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, target_ulong addr, - uint16_t idxmap, unsigned bits) +void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ulong addr, + target_ulong len, uint16_t idxmap, + unsigned bits) { TLBFlushRangeData d; run_on_cpu_data runon; =20 - /* If all bits are significant, this devolves to tlb_flush_page. */ - if (bits >=3D TARGET_LONG_BITS) { + /* + * If all bits are significant, and len is small, + * this devolves to tlb_flush_page. + */ + if (bits >=3D TARGET_LONG_BITS && len <=3D TARGET_PAGE_SIZE) { tlb_flush_page_by_mmuidx(cpu, addr, idxmap); return; } @@ -844,7 +848,7 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, targe= t_ulong addr, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; - d.len =3D TARGET_PAGE_SIZE; + d.len =3D len; d.idxmap =3D idxmap; d.bits =3D bits; =20 @@ -860,6 +864,12 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, targ= et_ulong addr, } } =20 +void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, target_ulong addr, + uint16_t idxmap, unsigned bits) +{ + tlb_flush_range_by_mmuidx(cpu, addr, TARGET_PAGE_SIZE, idxmap, bits); +} + void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *src_cpu, target_ulong addr, uint16_t idxmap, --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573406; cv=none; d=zohomail.com; s=zohoarc; b=AJwYzoQc3WdL2MJuZQhB2yD3duUFLWHBV5xn7u2CJflNm1vt+Wr04BBxokrsuh1yyqCwQXovdBi3JTVubpt4o/PKr1IyrlhhNqo6cCOVUcyNbPf4XgRrC3sCrIZ6Vdc9a19ZMU0EsE0IoPJA9mJX+EKFgNyh446wqP4qvIJIpx4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573406; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=WpEIET5avNp5KZjyRvTu4qLmWgl4dBFVdIzDBPUWftg=; b=grqqXlTx3UPFrVSMOkOTHJoSgT/Ez3YLi/KDKvjQ5txV+bxsSn7un+zZiQBACuj6YJYj7bt0uJWgU2aZoKtNPnES6v4evCcOgeCw2mgkoZ3gI+1110akyM0aJXzVsB59T1LCLOwJ88I1wj1nx/PwJ1mXh4jc6pAaT1AHnKu8LtM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 1620573406108781.4175254571823; Sun, 9 May 2021 08:16:46 -0700 (PDT) Received: by mail-wr1-f51.google.com with SMTP id t18so14000861wry.1 for ; Sun, 09 May 2021 08:16:45 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id p17sm18570283wru.1.2021.05.09.08.16.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WpEIET5avNp5KZjyRvTu4qLmWgl4dBFVdIzDBPUWftg=; b=vRKKEa0fUWEqVwLRbt5VkXQfjSz6OwRvehXLGRN56roA4NKwb3cY8Nt3YbqG5QgRUI wk+t8lS6FCnyhq+c+jyf7CYbCiXvn0Um7lCBcWZfqELJZEnJOYDs17ehGOHT8v8h0Lb5 q8odlwWfCaHMA/hmN9pJEynjhuaUxtsyMzAiTxTlGG97W17g3Y94a7Gb+b9QhsVui9Em KlP2bMWM0W8aC4GCQcnJPbdaHU6ZfHpxWVX/cWnp4SKjhow82UTs/cB5CkvXZ9IvrNIu DKdjZQnsIGCp7gk0haGNSuqDruUrDe6HXFEDzCVA6hjX5nNpbx9iAbCEcjiEwBonBIy1 mrGg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=WpEIET5avNp5KZjyRvTu4qLmWgl4dBFVdIzDBPUWftg=; b=Ol56+cxvIHi5ucOW0BYekkKla8LcA2nas+727RYZIOAZpscK/70bsue+/2SKIZZf7P H6g9ImLPc7VHasa08zS504343aThnByGNxlhTbuT9Nrd3FbnLWq79+TtgmFWaeaAzJ6k gMo255GQpi7T5cdIlW8Sx5yKA9D9ebQuVbjh/Jgru7LWW/04tjw4z+WdmLjdsvbDbLIQ fcOAMCn9N4qv9ObL3X+7j+10E4eCAK6xCse89w7C1xirwLgpRGyRFrDoUwxQr/unnrMH /NCDKLzmLss32eEfqB6vknQCczeoCBDuoNeyl98eW3CT/FOfEMUu5xxcOBB2EqvQ7rTE Uh8g== X-Gm-Message-State: AOAM530ETh1/PXbKlosZCAokhg8wwSmXe2GM0HvIJ9tiPxYrzyCF3Hrg oWa0ZlX9j9eDAQ0sN7Z16fY= X-Google-Smtp-Source: ABdhPJzzZAL2W88pXaVOlXsJR2OgyuytPNkP1q2qnafzmj8LOc9xd6ck6t4eIKx8H8UcHRWkQ+zoyg== X-Received: by 2002:a5d:408f:: with SMTP id o15mr24810553wrp.89.1620573404396; Sun, 09 May 2021 08:16:44 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 5/9] accel/tcg: Add tlb_flush_page_bits_by_mmuidx_all_cpus() Date: Sun, 9 May 2021 17:16:14 +0200 Message-Id: <20210509151618.2331764-6-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/exec-all.h | 13 +++++++++++++ accel/tcg/cputlb.c | 24 +++++++++++++++++------- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index 5a5f6d4c1a8..9a3dbb7ec08 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -276,6 +276,12 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ulong addr, target_ulong len, uint16_t idxmap, unsigned bits); + +/* Similarly, with broadcast and syncing. */ +void tlb_flush_range_by_mmuidx_all_cpus(CPUState *cpu, target_ulong addr, + target_ulong len, uint16_t idxmap, + unsigned bits); + /** * tlb_set_page_with_attrs: * @cpu: CPU to add this TLB entry for @@ -384,6 +390,13 @@ static inline void tlb_flush_range_by_mmuidx(CPUState = *cpu, target_ulong addr, unsigned bits) { } +static inline void tlb_flush_range_by_mmuidx_all_cpus(CPUState *cpu, + target_ulong addr, + target_ulong len, + uint16_t idxmap, + unsigned bits) +{ +} #endif /** * probe_access: diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 16924ceb777..5314349ef9d 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -870,16 +870,18 @@ void tlb_flush_page_bits_by_mmuidx(CPUState *cpu, tar= get_ulong addr, tlb_flush_range_by_mmuidx(cpu, addr, TARGET_PAGE_SIZE, idxmap, bits); } =20 -void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *src_cpu, - target_ulong addr, - uint16_t idxmap, - unsigned bits) +void tlb_flush_range_by_mmuidx_all_cpus(CPUState *src_cpu, + target_ulong addr, target_ulong le= n, + uint16_t idxmap, unsigned bits) { TLBFlushRangeData d; run_on_cpu_data runon; =20 - /* If all bits are significant, this devolves to tlb_flush_page. */ - if (bits >=3D TARGET_LONG_BITS) { + /* + * If all bits are significant, and len is small, + * this devolves to tlb_flush_page. + */ + if (bits >=3D TARGET_LONG_BITS && len <=3D TARGET_PAGE_SIZE) { tlb_flush_page_by_mmuidx_all_cpus(src_cpu, addr, idxmap); return; } @@ -891,7 +893,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *s= rc_cpu, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; - d.len =3D TARGET_PAGE_SIZE; + d.len =3D len; d.idxmap =3D idxmap; d.bits =3D bits; =20 @@ -914,6 +916,14 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *= src_cpu, tlb_flush_page_bits_by_mmuidx_async_0(src_cpu, d); } =20 +void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *src_cpu, + target_ulong addr, + uint16_t idxmap, unsigned bits) +{ + tlb_flush_range_by_mmuidx_all_cpus(src_cpu, addr, TARGET_PAGE_SIZE, + idxmap, bits); +} + void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUState *src_cpu, target_ulong addr, uint16_t idxmap, --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) client-ip=209.85.128.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wm1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573410; cv=none; d=zohomail.com; s=zohoarc; b=YarEk/ktuJ/L9NmSyZCtcDUCHLe6z02rHhC0tGHrEqNC2UU9JYenSyti/pXeJjkevoC1h8ry6gNHgEBepN64dtLkcLtOKwukMge3nLu88yozMc967CVNMnUtimZeHTj0MKGrUS07lcZfm08J0evXTWez2Q1G+fY5lRkkc+wkjmY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573410; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3bnpttYgG4ezXee8lT9HJOsRveBPtRPILa4oFFuqprE=; b=JztqSjky0NVIKTTuYoBvKuZmOO+7CiBMSwHQueu/yHBtdx6Dsy1Kra7OK3Nr2Uniwq3TSg9zZVp8iRZliqqZA4Z1KTA70iuEXEee21qVhF/LIbJIm4xp50ZukJ9/6ddPpsEYyFYufujYDEKy1On6SN5cJbl/X8ikqSnQeYRx2Fw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.128.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wm1-f51.google.com (mail-wm1-f51.google.com [209.85.128.51]) by mx.zohomail.com with SMTPS id 1620573410574586.5538966233086; Sun, 9 May 2021 08:16:50 -0700 (PDT) Received: by mail-wm1-f51.google.com with SMTP id o26-20020a1c4d1a0000b0290146e1feccdaso8540804wmh.0 for ; Sun, 09 May 2021 08:16:50 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id 3sm15610156wms.30.2021.05.09.08.16.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=3bnpttYgG4ezXee8lT9HJOsRveBPtRPILa4oFFuqprE=; b=osc5IKhWZlmxnjUqS3ynEKiJ9ZLjdsnW1rXo0iuLcadDx16EkixhiG0SoJprl+cfr7 1YU3nGqcj2KXRTSW4SVXlsYSLi7UCoT0OimNnrubfEhJyBNS9uK/f5wH2kHATKbFykVu vTqTV5LP6TOPfI4uVJ4XNwdVFE+esK1Z/Kc6k1AQoG+ddZnk72LDrU5ljwuybbeP6M6t JhkyvqyhWwyXz5Odl6Wuqx4XvpiDpMAMsC+ZQBV5Q1J5A4foPMKNoNzel/85TfjrdY0+ LUCJ3xRS6BOODV3QyLL8XDtVk+jXug+jvZsYEuD2oANhDDU9YykduwtNO5UbDdmlgRez 1l5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=3bnpttYgG4ezXee8lT9HJOsRveBPtRPILa4oFFuqprE=; b=FSrxjUMLlkuvmAtRL8FpqjScZDkXRpSgWmdVFsV+XbYF9WXl6b8h5gjnUjWyVqikj2 3zgmJFy9SkJBxvK/pR3jVZfjTXbSXi90DLC1f6KUj6hmckSfdKx+lhygOaFDwgunrlpY /E1hm8mv5PIYag67bMK6UCIxwceY2IefFeCzoKbzOTbERlQ8wDq35+mxyBV7Cp3FQN4z J18O2hS8/af++goSWrBQ2ciZDsyHpqSnYltX5U39yn829ixgp5SaAoilG5tArGOiMYkR 2rvEBnCxu80q5uAM2CTu7q+U0XfIdk2lFHSKeZH4Z0R5iT0Z5kgyoL+62Gd/aviXktso rhmA== X-Gm-Message-State: AOAM532qAN8FGBh5Ndou2+qy3AwvOJccmE30PX/vHqgVqM2zLt8uB2Qk lGEiRndo1uKPwzbZO2pK8HQ= X-Google-Smtp-Source: ABdhPJzDoteND6sxI5hbeoqJwZA5+bLqVx8cdnWFybfHD1zGcv9jwrlDs+Qoa1igk4tqdKsRy/Srvg== X-Received: by 2002:a1c:ba86:: with SMTP id k128mr33043298wmf.65.1620573408866; Sun, 09 May 2021 08:16:48 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 6/9] accel/tlb: Add tlb_flush_range_by_mmuidx_all_cpus_synced() Date: Sun, 9 May 2021 17:16:15 +0200 Message-Id: <20210509151618.2331764-7-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- include/exec/exec-all.h | 12 ++++++++++++ accel/tcg/cputlb.c | 27 ++++++++++++++++++++------- 2 files changed, 32 insertions(+), 7 deletions(-) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index 9a3dbb7ec08..8021adf38f4 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -281,6 +281,11 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, target_u= long addr, void tlb_flush_range_by_mmuidx_all_cpus(CPUState *cpu, target_ulong addr, target_ulong len, uint16_t idxmap, unsigned bits); +void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUState *cpu, + target_ulong addr, + target_ulong len, + uint16_t idxmap, + unsigned bits); =20 /** * tlb_set_page_with_attrs: @@ -397,6 +402,13 @@ static inline void tlb_flush_range_by_mmuidx_all_cpus(= CPUState *cpu, unsigned bits) { } +static inline void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUState *cpu, + target_ulong = addr, + target_long l= en, + uint16_t idxm= ap, + unsigned bits) +{ +} #endif /** * probe_access: diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 5314349ef9d..bc4370f4e21 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -924,16 +924,20 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState = *src_cpu, idxmap, bits); } =20 -void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUState *src_cpu, - target_ulong addr, - uint16_t idxmap, - unsigned bits) +void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUState *src_cpu, + target_ulong addr, + target_ulong len, + uint16_t idxmap, + unsigned bits) { TLBFlushRangeData d; run_on_cpu_data runon; =20 - /* If all bits are significant, this devolves to tlb_flush_page. */ - if (bits >=3D TARGET_LONG_BITS) { + /* + * If all bits are significant, and len is small, + * this devolves to tlb_flush_page. + */ + if (bits >=3D TARGET_LONG_BITS && len <=3D TARGET_PAGE_SIZE) { tlb_flush_page_by_mmuidx_all_cpus_synced(src_cpu, addr, idxmap); return; } @@ -945,7 +949,7 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUS= tate *src_cpu, =20 /* This should already be page aligned */ d.addr =3D addr & TARGET_PAGE_MASK; - d.len =3D TARGET_PAGE_SIZE; + d.len =3D len; d.idxmap =3D idxmap; d.bits =3D bits; =20 @@ -972,6 +976,15 @@ void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPU= State *src_cpu, } } =20 +void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUState *src_cpu, + target_ulong addr, + uint16_t idxmap, + unsigned bits) +{ + tlb_flush_range_by_mmuidx_all_cpus_synced(src_cpu, addr, TARGET_PAGE_S= IZE, + idxmap, bits); +} + /* update the TLBs so that writes to code in the virtual page 'addr' can be detected */ void tlb_protect_code(ram_addr_t ram_addr) --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) client-ip=209.85.221.44; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f44.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573415; cv=none; d=zohomail.com; s=zohoarc; b=ITYpoX2Rqkpt+0Q4ps1qEowHStodHoz+N4agL8fScVRitMt2NxPiZGvpHa3stoeN8OCmw+D70IVvk9RJ8P799cqJjvMZMtHxGI19YjOXE1lSt1RSFukMzRQ6fAJfcMG/m0fhNhyBCnml4fq+JWebY9PDiw+lL5BzYx1QiXfGWYo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573415; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SCTOx52drStOjJYnYYWJbRH789MMpjX8vG5a6xW98dQ=; b=aPvA6QqZGJMNBu5oYPC0gL+Y+/Pe3u4Mp4xhwX0oZgkdUD2MrjsTsdTwR6SOgEBw7xNy40GwweQK+LB4FRiXWjjKfhw73d3h3fs3lh/zHbxQyL2a6IhM8d00ahZ5rSqaJJQEMJ1U4nRwaHNCyR05GehO5HxQryF7XXGh9cuGmOE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.44 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f44.google.com (mail-wr1-f44.google.com [209.85.221.44]) by mx.zohomail.com with SMTPS id 162057341592344.779104947424116; Sun, 9 May 2021 08:16:55 -0700 (PDT) Received: by mail-wr1-f44.google.com with SMTP id h4so13973889wrt.12 for ; Sun, 09 May 2021 08:16:54 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id m5sm4561059wrs.76.2021.05.09.08.16.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SCTOx52drStOjJYnYYWJbRH789MMpjX8vG5a6xW98dQ=; b=NSU64zPYmZnqixhPtvUi6X7zufYLr2P7blPUIikQSxYw+uHgoYd/MNkTT1BQNYyt+W Ofg1D5Ta/3m5olbdVck00XWlevNDGDXjYVY8XtcIZyp7NxIDHbNAsDih3xMA2YoWMi/P Z3wzKtYI4ZF2nBxPzLX1Btiz8VFKkMBGRyHQ3jTRXguy7BkI5z000JIPMDoLQQMKfl0a vmVanWA5W+LTRh5p72QswrAjzBUAKM1qS8gUn9Wtyi5xGNjYOsKEbccilCWsPAOgIfzP joT4Ctb0CppRgLfUAhbicj9kLKWILmE0yvGRXgVBK/6uok02zwzP4nULHEwJZRoj7Ygy 6JyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=SCTOx52drStOjJYnYYWJbRH789MMpjX8vG5a6xW98dQ=; b=fMay6cvUuVxoI4Q9pVuwD9m4gvsrUTY4XHkCFEa7TWENehk482ZaWrE4Yc926sGzDs 4EZpEqrX6MWjLjWheATyaNMf2N7A4MLPb4Nfpe3kpYyQWamm7cknvbucxQH8+to6uO+c 72h2EAY/NAakUGbUg1GJigzSM+jtdtaBpCocJp3QFGuEMd8+5vA8NRFF/9BMax6tTWqa vcmmUtEPA85szfL4eC4o6buIFmXPqxkmTVH9ijcNoOqgHIzfCkXChmonrxP2WN0Bg/Th bK+/+1Ajm1XlhUd3PfGrHYHSPggpYNxBfejS3LvwgIDE9QXHZbPslem5R+/x5MqCSfrj tncA== X-Gm-Message-State: AOAM531Y/dbrK6XZp+E0GeD0mdbi2eVi26zb156F+x8Y7g52J9+oTagR HRkADfLbxq7gqI5YUsAtl34= X-Google-Smtp-Source: ABdhPJwBSaN0h39LSdW3fu5YdXKHDkLIsBGf+G0rJ1vFrk3fplnqo+14gnEnmB2LyQEE+z24YdbSqg== X-Received: by 2002:adf:eb86:: with SMTP id t6mr25841657wrn.253.1620573413449; Sun, 09 May 2021 08:16:53 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 7/9] accel/tcg: Rename tlb_flush_page_bits -> range]_by_mmuidx_async_0 Date: Sun, 9 May 2021 17:16:16 +0200 Message-Id: <20210509151618.2331764-8-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index bc4370f4e21..47c83f0fc83 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -764,9 +764,8 @@ typedef struct { uint16_t bits; } TLBFlushRangeData; =20 -static void -tlb_flush_page_bits_by_mmuidx_async_0(CPUState *cpu, - TLBFlushRangeData d) +static void tlb_flush_range_by_mmuidx_async_0(CPUState *cpu, + TLBFlushRangeData d) { CPUArchState *env =3D cpu->env_ptr; int mmu_idx; @@ -814,14 +813,14 @@ decode_runon_to_pbm(run_on_cpu_data data) static void tlb_flush_page_bits_by_mmuidx_async_1(CPUState *cpu, run_on_cpu_data runon) { - tlb_flush_page_bits_by_mmuidx_async_0(cpu, decode_runon_to_pbm(runon)); + tlb_flush_range_by_mmuidx_async_0(cpu, decode_runon_to_pbm(runon)); } =20 static void tlb_flush_page_bits_by_mmuidx_async_2(CPUState *cpu, run_on_cpu_data data) { TLBFlushRangeData *d =3D data.host_ptr; - tlb_flush_page_bits_by_mmuidx_async_0(cpu, *d); + tlb_flush_range_by_mmuidx_async_0(cpu, *d); g_free(d); } =20 @@ -853,7 +852,7 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ul= ong addr, d.bits =3D bits; =20 if (qemu_cpu_is_self(cpu)) { - tlb_flush_page_bits_by_mmuidx_async_0(cpu, d); + tlb_flush_range_by_mmuidx_async_0(cpu, d); } else if (encode_pbm_to_runon(&runon, d)) { async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_1, runon= ); } else { @@ -913,7 +912,7 @@ void tlb_flush_range_by_mmuidx_all_cpus(CPUState *src_c= pu, } } =20 - tlb_flush_page_bits_by_mmuidx_async_0(src_cpu, d); + tlb_flush_range_by_mmuidx_async_0(src_cpu, d); } =20 void tlb_flush_page_bits_by_mmuidx_all_cpus(CPUState *src_cpu, --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) client-ip=209.85.221.51; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f51.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1620573419; cv=none; d=zohomail.com; s=zohoarc; b=QvckWC0Mhg3sS8N87BT93Oq2e9kW1jQLeo95KhKj5uJ6GkyI+YCqGkv1OtbEVAdIqtaAvmjs6KDnbk3S4F63izAaYlAWWHKSjO9XZ/9pdMsQJAH7L8re1DNiRrzIY8US5VEfDgrwuRaCO8YlYy4Uv5I0o8Tkbx9/VrtH+ZxDGIY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573419; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KfEaQ4EAwk2GCSA1RWFu6Z5MyJScidZlbaMXLPjmHKE=; b=i5ekGVBQo8E+kWnXZxi8kVoEvjZNZBcdyop9FuYf/597PkjNYC4vmQT4Fh+Cb9Mhuki/COuJ8nJCFTPsLH14SVem2lufLG8I4OzEnKiCVj99Y0bXNGw8OU10s+mYD6abuj23HYxP1sNaxk+cMy+4GzFGpJiTnrBq/SH2BCyFeB4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.51 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) by mx.zohomail.com with SMTPS id 1620573419708861.9951407927854; Sun, 9 May 2021 08:16:59 -0700 (PDT) Received: by mail-wr1-f51.google.com with SMTP id m9so14008523wrx.3 for ; Sun, 09 May 2021 08:16:59 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id h9sm15788362wmb.35.2021.05.09.08.16.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:16:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KfEaQ4EAwk2GCSA1RWFu6Z5MyJScidZlbaMXLPjmHKE=; b=UP8p4G6rA/RVX2OKyHprWHy4N0nuUZqLfWQ/U/+0QvWs+YMLjAIzV4C701tY0p47SK HidqmYLj36nzXXxm2QWIkY1bxW357BMBK8WghoFdsW3tXcAcBy6F5wsKxBUH0f/gjLmS TqzUi+6t7tX8OZtO82Zn41lzRJ0VXLGDuwMNFYZwcs6MNl3edoAiTtA1f/iJRdx5rZqM NHJhQoBOadyJd9DjDB/DygetL8S8AqkJOYtEZ1Qd+WccgDKiXU/jbyqWDJ/wdK3BMBwj TN8DRqBIyfGdm6cyevX1Z/01KQ+Id41LbHXacP6vxtOLwP2UYPgLkSUiewIlVf/Wn6ii bhIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=KfEaQ4EAwk2GCSA1RWFu6Z5MyJScidZlbaMXLPjmHKE=; b=fonzLwzzM+PRXI/Y55wYhUfZJXE37RPxjw4DtqO4MRZe4OI3Zh8tOswGh9Qc8//b8b +c2wL5vH3BPkUYgekMtXF/bpMXElqWah5DQgPTfeHjXwdyJ5dVYsgZ151OmlHaVCro7f pckfUYkwN9P/bsKMSJt9DCMZwgymE3Dq+hRbg+y3odNrT7+EZMLy+gxgkQ9FkLBOh7at 3RGJdpo3jrvMwPnZmyV86tKMHyMYBngXHC6zBh43v2X/ZpVWabxf8dxPeIJJhFtHC0pp Q7vw+rxyS8ExJuE/DMVNm3oHV39LOayYYQ/06La2Sn3xgZDawxhPemshMEYnzDLyByqw We2w== X-Gm-Message-State: AOAM530v9ASUEatRv1qZ3bmof1fPGh710oORIUkzdyXfY76KKfZviz2A DZAQOsHuhWzD4eUHpd0l3Hg= X-Google-Smtp-Source: ABdhPJyWzFy7thHUevzSrmW7x5SHu0PBD1fWozzcKZ0PbNnbtyUuKCWwHuqv4f/sR5G74KZjciG7bQ== X-Received: by 2002:a5d:59a9:: with SMTP id p9mr25027460wrr.289.1620573418039; Sun, 09 May 2021 08:16:58 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 8/9] accel/tlb: Rename tlb_flush_[page_bits > range]_by_mmuidx_async_[2 > 1] Date: Sun, 9 May 2021 17:16:17 +0200 Message-Id: <20210509151618.2331764-9-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- accel/tcg/cputlb.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 47c83f0fc83..ad0e44bce63 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -816,8 +816,8 @@ static void tlb_flush_page_bits_by_mmuidx_async_1(CPUSt= ate *cpu, tlb_flush_range_by_mmuidx_async_0(cpu, decode_runon_to_pbm(runon)); } =20 -static void tlb_flush_page_bits_by_mmuidx_async_2(CPUState *cpu, - run_on_cpu_data data) +static void tlb_flush_range_by_mmuidx_async_1(CPUState *cpu, + run_on_cpu_data data) { TLBFlushRangeData *d =3D data.host_ptr; tlb_flush_range_by_mmuidx_async_0(cpu, *d); @@ -858,7 +858,7 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ul= ong addr, } else { /* Otherwise allocate a structure, freed by the worker. */ TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); - async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_2, + async_run_on_cpu(cpu, tlb_flush_range_by_mmuidx_async_1, RUN_ON_CPU_HOST_PTR(p)); } } @@ -906,7 +906,7 @@ void tlb_flush_range_by_mmuidx_all_cpus(CPUState *src_c= pu, if (dst_cpu !=3D src_cpu) { TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); async_run_on_cpu(dst_cpu, - tlb_flush_page_bits_by_mmuidx_async_2, + tlb_flush_range_by_mmuidx_async_1, RUN_ON_CPU_HOST_PTR(p)); } } @@ -964,13 +964,13 @@ void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUSta= te *src_cpu, CPU_FOREACH(dst_cpu) { if (dst_cpu !=3D src_cpu) { p =3D g_memdup(&d, sizeof(d)); - async_run_on_cpu(dst_cpu, tlb_flush_page_bits_by_mmuidx_as= ync_2, + async_run_on_cpu(dst_cpu, tlb_flush_range_by_mmuidx_async_= 1, RUN_ON_CPU_HOST_PTR(p)); } } =20 p =3D g_memdup(&d, sizeof(d)); - async_safe_run_on_cpu(src_cpu, tlb_flush_page_bits_by_mmuidx_async= _2, + async_safe_run_on_cpu(src_cpu, tlb_flush_range_by_mmuidx_async_1, RUN_ON_CPU_HOST_PTR(p)); } } --=20 2.26.3 From nobody Tue May 21 11:17:22 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) client-ip=209.85.221.52; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-wr1-f52.google.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail(p=none dis=none) header.from=amsat.org ARC-Seal: i=1; a=rsa-sha256; t=1620573429; cv=none; d=zohomail.com; s=zohoarc; b=ciDZEFRvHbNyyyC4cW4G0rokDL2BLbWWET0Pu/B/z4upuTpyLXNrfAO+U/Q5ZTiXEJrpyHAUDevKYXsciRVKWXepTcWuqfY197FBU8NKzBzXarSpyRskYi1GGN8WEUydK44Yc/uSHlGWTgXhBagH4GEjRuMiaGKBFJhWVY/pxkI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1620573429; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Sender:Subject:To; bh=AOpOu7tS66FjHtPHNLuf/gpZjB/Q3PR0vAi0thAFl78=; b=Gx5txpEM8XTb3pNXWIfFM/KUHG/zK56fYgkkMl1inc5zAGn8ADZ58UFCZyeUYkObHVlJkcwJ/C6pT1qUvaIoRAJM86yz3BlnKxTq5jdXLL8m/aFrOzXNF3+0lMpqmth8u8RaxMBuoTHNaDIx4sEZEgbXcLkRn9G36mQqvTe8pzk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of _spf.google.com designates 209.85.221.52 as permitted sender) smtp.mailfrom=philippe.mathieu.daude@gmail.com; dmarc=fail header.from= (p=none dis=none) header.from= Received: from mail-wr1-f52.google.com (mail-wr1-f52.google.com [209.85.221.52]) by mx.zohomail.com with SMTPS id 1620573429311197.25152489154982; Sun, 9 May 2021 08:17:09 -0700 (PDT) Received: by mail-wr1-f52.google.com with SMTP id x5so13976609wrv.13 for ; Sun, 09 May 2021 08:17:08 -0700 (PDT) Return-Path: Return-Path: Received: from localhost.localdomain (39.red-81-40-121.staticip.rima-tde.net. [81.40.121.39]) by smtp.gmail.com with ESMTPSA id j13sm18099051wrw.93.2021.05.09.08.17.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 09 May 2021 08:17:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AOpOu7tS66FjHtPHNLuf/gpZjB/Q3PR0vAi0thAFl78=; b=VKKqMTjYJ/QP1ZoliCBPjA6kytDLigN8jwK4u6Fq+PaeuApWPtkJoQoqE7kM1vuwpP 4uh/FSJXutqo/s+6dg8lg/zkF1Civ2sUJ5vc9wJGTIs6d/RnzfsX33YuqNa+imPxhaQu tddiPQnC4OTNJepyPh6IVOh/g6Ot/QVItzUWMXIE5cOqR5OAJJnCfFDtHsp+7tf1Fzem EQXpIKkWjRvJNp0EeEoZJhQcEYxEUro2YjoEWhUwg6kXaeAlbMwOCdAU8UjTg7E2iAxL BlVZAq9lGA+kWSfPM+URf0pwtbXUQhF33LWaNIlxavP+zAFOkTWd6KQRRMr/LQsTsAXU gERw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=AOpOu7tS66FjHtPHNLuf/gpZjB/Q3PR0vAi0thAFl78=; b=Sl1jAN9l38okUaxY0KB/cIFNo70g+VNQuNq+OFpHU++xNFs6Jp1uktav12c+vdNKgL b0COA2+vgRk+raEuiw8q7SScwHkUGbVLa0fpToZfBHLePoJzhfmdb5XOc030G8Om1LCM nK1hsJuX69LkTf2Xt2l6jbHZXzlzU8AkqNMhLD9X7aLOQASs8GdjidRGYKCmKuZVgpU4 Wde/E2kbe6MTXfPrDWPGUBfqtu2W/Vk0Sw/3O/v0/9taZkyW4uphbDjgrPIFEMvzMoCb xY8ep1o2/+El6wrpkTilTB0IG5vFMGTGSVlBz5+IwG9Z4vTsnXc+UCnpt6Mwc+hh7mIo FqIg== X-Gm-Message-State: AOAM5315BLJakcWN7+KfPJ+MJWBppoGLFzYnz5YNlqz9rWoq2g7eaNB7 A2+wIvfmdAw6KXrVRjmfeHQ= X-Google-Smtp-Source: ABdhPJxelpKDfXOn2f4TzC4xGcSTQBg75YosFXUM0RZFcNfJINQzesD145I5GGr22icN9lVY+RR+Ew== X-Received: by 2002:a5d:6383:: with SMTP id p3mr25377465wru.230.1620573427525; Sun, 09 May 2021 08:17:07 -0700 (PDT) Sender: =?UTF-8?Q?Philippe_Mathieu=2DDaud=C3=A9?= From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Richard Henderson , Paolo Bonzini , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH 9/9] accel/tcg: Remove tlb_flush_page_bits_by_mmuidx_async_1() ??? Date: Sun, 9 May 2021 17:16:18 +0200 Message-Id: <20210509151618.2331764-10-f4bug@amsat.org> X-Mailer: git-send-email 2.26.3 In-Reply-To: <20210509151618.2331764-1-f4bug@amsat.org> References: <20210509151618.2331764-1-f4bug@amsat.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @gmail.com) From: Richard Henderson Now than ... /* we use range? FILL ME... */ ... we can remove the encode_pbm_to_runon() and flush_all_helper() calls. Signed-off-by: Richard Henderson Message-Id: <20210508201640.1045808-1-richard.henderson@linaro.org> [PMD: Split from bigger patch] Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- XXX proper description, commit might be placed earlier in series. --- accel/tcg/cputlb.c | 86 +++++++++++----------------------------------- 1 file changed, 20 insertions(+), 66 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index ad0e44bce63..2f7088614a7 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -788,34 +788,6 @@ static void tlb_flush_range_by_mmuidx_async_0(CPUState= *cpu, } } =20 -static bool encode_pbm_to_runon(run_on_cpu_data *out, - TLBFlushRangeData d) -{ - /* We need 6 bits to hold to hold @bits up to 63. */ - if (d.idxmap <=3D MAKE_64BIT_MASK(0, TARGET_PAGE_BITS - 6)) { - *out =3D RUN_ON_CPU_TARGET_PTR(d.addr | (d.idxmap << 6) | d.bits); - return true; - } - return false; -} - -static TLBFlushRangeData -decode_runon_to_pbm(run_on_cpu_data data) -{ - target_ulong addr_map_bits =3D (target_ulong) data.target_ptr; - return (TLBFlushRangeData){ - .addr =3D addr_map_bits & TARGET_PAGE_MASK, - .idxmap =3D (addr_map_bits & ~TARGET_PAGE_MASK) >> 6, - .bits =3D addr_map_bits & 0x3f - }; -} - -static void tlb_flush_page_bits_by_mmuidx_async_1(CPUState *cpu, - run_on_cpu_data runon) -{ - tlb_flush_range_by_mmuidx_async_0(cpu, decode_runon_to_pbm(runon)); -} - static void tlb_flush_range_by_mmuidx_async_1(CPUState *cpu, run_on_cpu_data data) { @@ -829,7 +801,6 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ul= ong addr, unsigned bits) { TLBFlushRangeData d; - run_on_cpu_data runon; =20 /* * If all bits are significant, and len is small, @@ -853,8 +824,6 @@ void tlb_flush_range_by_mmuidx(CPUState *cpu, target_ul= ong addr, =20 if (qemu_cpu_is_self(cpu)) { tlb_flush_range_by_mmuidx_async_0(cpu, d); - } else if (encode_pbm_to_runon(&runon, d)) { - async_run_on_cpu(cpu, tlb_flush_page_bits_by_mmuidx_async_1, runon= ); } else { /* Otherwise allocate a structure, freed by the worker. */ TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); @@ -874,7 +843,7 @@ void tlb_flush_range_by_mmuidx_all_cpus(CPUState *src_c= pu, uint16_t idxmap, unsigned bits) { TLBFlushRangeData d; - run_on_cpu_data runon; + CPUState *dst_cpu; =20 /* * If all bits are significant, and len is small, @@ -896,19 +865,13 @@ void tlb_flush_range_by_mmuidx_all_cpus(CPUState *src= _cpu, d.idxmap =3D idxmap; d.bits =3D bits; =20 - if (encode_pbm_to_runon(&runon, d)) { - flush_all_helper(src_cpu, tlb_flush_page_bits_by_mmuidx_async_1, r= unon); - } else { - CPUState *dst_cpu; - - /* Allocate a separate data block for each destination cpu. */ - CPU_FOREACH(dst_cpu) { - if (dst_cpu !=3D src_cpu) { - TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); - async_run_on_cpu(dst_cpu, - tlb_flush_range_by_mmuidx_async_1, - RUN_ON_CPU_HOST_PTR(p)); - } + /* Allocate a separate data block for each destination cpu. */ + CPU_FOREACH(dst_cpu) { + if (dst_cpu !=3D src_cpu) { + TLBFlushRangeData *p =3D g_memdup(&d, sizeof(d)); + async_run_on_cpu(dst_cpu, + tlb_flush_range_by_mmuidx_async_1, + RUN_ON_CPU_HOST_PTR(p)); } } =20 @@ -929,8 +892,8 @@ void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUState= *src_cpu, uint16_t idxmap, unsigned bits) { - TLBFlushRangeData d; - run_on_cpu_data runon; + TLBFlushRangeData d, *p; + CPUState *dst_cpu; =20 /* * If all bits are significant, and len is small, @@ -952,27 +915,18 @@ void tlb_flush_range_by_mmuidx_all_cpus_synced(CPUSta= te *src_cpu, d.idxmap =3D idxmap; d.bits =3D bits; =20 - if (encode_pbm_to_runon(&runon, d)) { - flush_all_helper(src_cpu, tlb_flush_page_bits_by_mmuidx_async_1, r= unon); - async_safe_run_on_cpu(src_cpu, tlb_flush_page_bits_by_mmuidx_async= _1, - runon); - } else { - CPUState *dst_cpu; - TLBFlushRangeData *p; - - /* Allocate a separate data block for each destination cpu. */ - CPU_FOREACH(dst_cpu) { - if (dst_cpu !=3D src_cpu) { - p =3D g_memdup(&d, sizeof(d)); - async_run_on_cpu(dst_cpu, tlb_flush_range_by_mmuidx_async_= 1, - RUN_ON_CPU_HOST_PTR(p)); - } + /* Allocate a separate data block for each destination cpu. */ + CPU_FOREACH(dst_cpu) { + if (dst_cpu !=3D src_cpu) { + p =3D g_memdup(&d, sizeof(d)); + async_run_on_cpu(dst_cpu, tlb_flush_range_by_mmuidx_async_1, + RUN_ON_CPU_HOST_PTR(p)); } - - p =3D g_memdup(&d, sizeof(d)); - async_safe_run_on_cpu(src_cpu, tlb_flush_range_by_mmuidx_async_1, - RUN_ON_CPU_HOST_PTR(p)); } + + p =3D g_memdup(&d, sizeof(d)); + async_safe_run_on_cpu(src_cpu, tlb_flush_range_by_mmuidx_async_1, + RUN_ON_CPU_HOST_PTR(p)); } =20 void tlb_flush_page_bits_by_mmuidx_all_cpus_synced(CPUState *src_cpu, --=20 2.26.3