[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/3] tcg: Introduce mmap_lock_reset()
From: |
Sergey Fedorov |
Subject: |
[Qemu-devel] [PATCH 1/3] tcg: Introduce mmap_lock_reset() |
Date: |
Thu, 7 Jul 2016 19:44:38 +0300 |
From: Sergey Fedorov <address@hidden>
Signed-off-by: Sergey Fedorov <address@hidden>
Signed-off-by: Sergey Fedorov <address@hidden>
---
bsd-user/mmap.c | 7 +++++++
include/exec/exec-all.h | 2 ++
linux-user/mmap.c | 7 +++++++
3 files changed, 16 insertions(+)
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index 610f91b28584..b2e5909b03c4 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -42,6 +42,13 @@ void mmap_unlock(void)
}
}
+void mmap_lock_reset(void)
+{
+ if (mmap_lock_count) {
+ pthread_mutex_unlock(&mmap_mutex);
+ }
+}
+
/* Grab lock to make sure things are in a consistent state after fork(). */
void mmap_fork_start(void)
{
diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h
index c1f59fa59d2c..0375acb5ab40 100644
--- a/include/exec/exec-all.h
+++ b/include/exec/exec-all.h
@@ -369,6 +369,7 @@ void tlb_fill(CPUState *cpu, target_ulong addr, int
is_write, int mmu_idx,
#if defined(CONFIG_USER_ONLY)
void mmap_lock(void);
void mmap_unlock(void);
+void mmap_lock_reset(void);
static inline tb_page_addr_t get_page_addr_code(CPUArchState *env1,
target_ulong addr)
{
@@ -377,6 +378,7 @@ static inline tb_page_addr_t
get_page_addr_code(CPUArchState *env1, target_ulong
#else
static inline void mmap_lock(void) {}
static inline void mmap_unlock(void) {}
+static inline void mmap_lock_reset(void) {}
/* cputlb.c */
tb_page_addr_t get_page_addr_code(CPUArchState *env1, target_ulong addr);
diff --git a/linux-user/mmap.c b/linux-user/mmap.c
index c4371d943a85..4cd998f96766 100644
--- a/linux-user/mmap.c
+++ b/linux-user/mmap.c
@@ -43,6 +43,13 @@ void mmap_unlock(void)
}
}
+void mmap_lock_reset(void)
+{
+ if (mmap_lock_count) {
+ pthread_mutex_unlock(&mmap_mutex);
+ }
+}
+
/* Grab lock to make sure things are in a consistent state after fork(). */
void mmap_fork_start(void)
{
--
1.9.1
- Re: [Qemu-devel] [PATCH v2 2/6] tcg: set up tb->page_addr before insertion, (continued)
- [Qemu-devel] [PATCH v2 1/6] tcg: Ensure safe tb_jmp_cache lookup out of 'tb_lock', Alex Bennée, 2016/07/05
- [Qemu-devel] [PATCH v2 4/6] tcg: cpu-exec: factor out TB patching code, Alex Bennée, 2016/07/05
- [Qemu-devel] [PATCH v2 5/6] tcg: introduce tb_lock_recursive(), Alex Bennée, 2016/07/05
- [Qemu-devel] [PATCH v2 3/6] tcg: cpu-exec: remove tb_lock from the hot-path, Alex Bennée, 2016/07/05
- [Qemu-devel] [PATCH v2 6/6] tcg: cpu-exec: roll-up tb_find_fast/slow, Alex Bennée, 2016/07/05
- Re: [Qemu-devel] [PATCH v2 6/6] tcg: cpu-exec: roll-up tb_find_fast/slow, Sergey Fedorov, 2016/07/07
- [Qemu-devel] [PATCH 2/3] tcg: Introduce tb_lock_locked(), Sergey Fedorov, 2016/07/07
- [Qemu-devel] [PATCH 1/3] tcg: Introduce mmap_lock_reset(),
Sergey Fedorov <=
- [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/07
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Alex Bennée, 2016/07/07
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/07
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/07
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Alex Bennée, 2016/07/07
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Paolo Bonzini, 2016/07/08
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/08
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Paolo Bonzini, 2016/07/08
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/08
- Re: [Qemu-devel] [PATCH 3/3] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Paolo Bonzini, 2016/07/08