[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 00/12] Reduce lock contention on TCG hot-path
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH v4 00/12] Reduce lock contention on TCG hot-path |
Date: |
Sat, 16 Jul 2016 15:51:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 |
On 15/07/2016 19:58, Sergey Fedorov wrote:
> From: Sergey Fedorov <address@hidden>
>
> Hi,
>
> This is a respin of this series [1].
>
> Here I used a modified version of Paolo's patch to docuement memory
> ordering assumptions for certain QHT operations.
>
> The last patch is a suggestion for renaming tb_find_physicall().
>
> This series can be fetch from the public git repository:
>
> https://github.com/sergefdrv/qemu.git lockless-tb-lookup-v4
>
> [1] http://thread.gmane.org/gmane.comp.emulators.qemu/426341
Queued all for 2.7, thanks.
Paolo
> Kind regards,
> Sergey
>
> Summary of changes in v4:
> - Modified version of Paolo's patch is used to document memory ordering
> assumptions for certain QHT operations
> - Intermediate compilation errors fixed
> - Atomic access to TB CPU state
> - tb_find_physical() renamed
> Summary of changes in v3:
> - QHT memory ordering assumptions documented
> - 'tb_jmp_cache' reset in tb_flush() made atomic
> - explicit memory barriers removed around 'tb_jmp_cache' access
> - safe access to 'tb_flushed' out of 'tb_lock' prepared
> - TBs marked with invalid CPU state early on invalidation
> - Alex's tb_find_{fast,slow}() roll-up related patches dropped
> - bouncing of tb_lock between tb_gen_code() and tb_add_jump() avoided
> with local variable 'have_tb_lock'
> - tb_find_{fast,slow}() merged
>
> Alex Bennée (2):
> tcg: set up tb->page_addr before insertion
> tcg: cpu-exec: remove tb_lock from the hot-path
>
> Paolo Bonzini (1):
> util/qht: Document memory ordering assumptions
>
> Sergey Fedorov (9):
> tcg: Pass last_tb by value to tb_find_fast()
> tcg: Prepare safe tb_jmp_cache lookup out of tb_lock
> tcg: Prepare safe access to tb_flushed out of tb_lock
> target-i386: Remove redundant HF_SOFTMMU_MASK
> tcg: Introduce tb_mark_invalid() and tb_is_invalid()
> tcg: Prepare TB invalidation for lockless TB lookup
> tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump()
> tcg: Merge tb_find_slow() and tb_find_fast()
> tcg: rename tb_find_physical()
>
> cpu-exec.c | 117
> +++++++++++++++++++++--------------------------
> include/exec/exec-all.h | 16 +++++++
> include/qemu/qht.h | 5 ++
> target-alpha/cpu.h | 14 ++++++
> target-arm/cpu.h | 14 ++++++
> target-cris/cpu.h | 14 ++++++
> target-i386/cpu.c | 3 --
> target-i386/cpu.h | 20 ++++++--
> target-i386/translate.c | 12 ++---
> target-lm32/cpu.h | 14 ++++++
> target-m68k/cpu.h | 14 ++++++
> target-microblaze/cpu.h | 14 ++++++
> target-mips/cpu.h | 14 ++++++
> target-moxie/cpu.h | 14 ++++++
> target-openrisc/cpu.h | 14 ++++++
> target-ppc/cpu.h | 14 ++++++
> target-s390x/cpu.h | 14 ++++++
> target-sh4/cpu.h | 14 ++++++
> target-sparc/cpu.h | 14 ++++++
> target-sparc/translate.c | 1 +
> target-tilegx/cpu.h | 14 ++++++
> target-tricore/cpu.h | 14 ++++++
> target-unicore32/cpu.h | 14 ++++++
> target-xtensa/cpu.h | 14 ++++++
> translate-all.c | 29 ++++++------
> util/qht.c | 7 ++-
> 26 files changed, 352 insertions(+), 96 deletions(-)
>
- [Qemu-devel] [PATCH v4 01/12] util/qht: Document memory ordering assumptions, (continued)
- [Qemu-devel] [PATCH v4 01/12] util/qht: Document memory ordering assumptions, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 04/12] tcg: Prepare safe access to tb_flushed out of tb_lock, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 08/12] tcg: set up tb->page_addr before insertion, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 07/12] tcg: Prepare TB invalidation for lockless TB lookup, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 05/12] target-i386: Remove redundant HF_SOFTMMU_MASK, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 06/12] tcg: Introduce tb_mark_invalid() and tb_is_invalid(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 09/12] tcg: cpu-exec: remove tb_lock from the hot-path, Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 10/12] tcg: Avoid bouncing tb_lock between tb_gen_code() and tb_add_jump(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 12/12] tcg: rename tb_find_physical(), Sergey Fedorov, 2016/07/15
- [Qemu-devel] [PATCH v4 11/12] tcg: Merge tb_find_slow() and tb_find_fast(), Sergey Fedorov, 2016/07/15
- Re: [Qemu-devel] [PATCH v4 00/12] Reduce lock contention on TCG hot-path,
Paolo Bonzini <=