qemu-devel
[Top][All Lists]
Advanced

[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(-)
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]