[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 22/28] plugins/cache: limited the scope of a mutex lock
From: |
Alex Bennée |
Subject: |
[PULL 22/28] plugins/cache: limited the scope of a mutex lock |
Date: |
Fri, 23 Jul 2021 18:03:48 +0100 |
From: Mahmoud Mandour <ma.mandourr@gmail.com>
It's not necessary to lock the address translation portion of the
vcpu_mem_access callback.
Signed-off-by: Mahmoud Mandour <ma.mandourr@gmail.com>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20210714172151.8494-3-ma.mandourr@gmail.com>
Message-Id: <20210720232703.10650-23-alex.bennee@linaro.org>
diff --git a/contrib/plugins/cache.c b/contrib/plugins/cache.c
index 4a71602639..695fb969dc 100644
--- a/contrib/plugins/cache.c
+++ b/contrib/plugins/cache.c
@@ -355,15 +355,14 @@ static void vcpu_mem_access(unsigned int vcpu_index,
qemu_plugin_meminfo_t info,
struct qemu_plugin_hwaddr *hwaddr;
InsnData *insn;
- g_mutex_lock(&mtx);
hwaddr = qemu_plugin_get_hwaddr(info, vaddr);
if (hwaddr && qemu_plugin_hwaddr_is_io(hwaddr)) {
- g_mutex_unlock(&mtx);
return;
}
effective_addr = hwaddr ? qemu_plugin_hwaddr_phys_addr(hwaddr) : vaddr;
+ g_mutex_lock(&mtx);
if (!access_cache(dcache, effective_addr)) {
insn = (InsnData *) userdata;
insn->dmisses++;
--
2.20.1
- [PULL 05/28] contrib/gitdm: add some new aliases to fix up commits, (continued)
- [PULL 05/28] contrib/gitdm: add some new aliases to fix up commits, Alex Bennée, 2021/07/23
- [PULL 11/28] contrib/gitdm: add domain-map for Eldorado, Alex Bennée, 2021/07/23
- [PULL 19/28] contrib/gitdm: add more individual contributor entries., Alex Bennée, 2021/07/23
- [PULL 20/28] tcg/plugins: implement a qemu_plugin_user_exit helper, Alex Bennée, 2021/07/23
- [PULL 26/28] gitlab: enable a very minimal build with the tricore container, Alex Bennée, 2021/07/23
- [PULL 21/28] plugins/cache: Fixed a bug with destroying FIFO metadata, Alex Bennée, 2021/07/23
- [PULL 23/28] plugins/cache: Fixed "function decl. is not a prototype" warnings, Alex Bennée, 2021/07/23
- [PULL 15/28] contrib/gitdm: add domain-map for NVIDIA, Alex Bennée, 2021/07/23
- [PULL 13/28] contrib/gitdm: un-ironically add a mapping for LWN, Alex Bennée, 2021/07/23
- [PULL 12/28] contrib/gitdm: add domain-map/group-map for Wind River, Alex Bennée, 2021/07/23
- [PULL 22/28] plugins/cache: limited the scope of a mutex lock,
Alex Bennée <=
- [PULL 24/28] plugins: Fix physical address calculation for IO regions, Alex Bennée, 2021/07/23
- [PULL 17/28] contrib/gitdm: add an explicit academic entry for BU, Alex Bennée, 2021/07/23
- [PULL 16/28] contrib/gitdm: add group-map for Netflix, Alex Bennée, 2021/07/23
- [PULL 27/28] gitlab-ci: Remove the second superfluous macos task, Alex Bennée, 2021/07/23
- [PULL 18/28] contrib/gitdm: add a new interns group-map for GSoC/Outreachy work, Alex Bennée, 2021/07/23
- [PULL 14/28] contrib/gitdm: add domain-map for Crudebyte, Alex Bennée, 2021/07/23
- [PULL 25/28] tests/tcg/configure.sh: add handling for assembler only builds, Alex Bennée, 2021/07/23
- [PULL 28/28] gitlab-ci: Extract OpenSBI job rules to reusable section, Alex Bennée, 2021/07/23
- Re: [PULL for 6.1-rc1 00/28] doc, metadata, plugin and testing updates, Philippe Mathieu-Daudé, 2021/07/23