[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC 00/10] MTTCG: Slow-path for atomic insns
From: |
Alex Bennée |
Subject: |
Re: [Qemu-devel] [RFC 00/10] MTTCG: Slow-path for atomic insns |
Date: |
Fri, 10 Jun 2016 16:21:10 +0100 |
User-agent: |
mu4e 0.9.17; emacs 25.0.94.5 |
Alvise Rigo <address@hidden> writes:
> Hi,
>
> This series ports the latest iteration of the LL/SC work on top of the
> latest MTTCG reference branch posted recently by Alex.
>
> These patches apply on top of the following series:
>
> - [RFC v1 00/12] Enable MTTCG for 32 bit arm on x86
> https://github.com/stsquad/qemu/tree/mttcg/enable-mttcg-for-armv7-v1
> - [RFC v8 00/14] Slow-path for atomic instruction translation
> https://git.virtualopensystems.com/dev/qemu-mt/tree/\
> slowpath-for-atomic-v8-no-mttcg - only minor changes have been necessary
> - Few recent patches from Emilio regarding the spinlock implementation
>
> Overall, these patches allow the LL/SC infrastructure to work in
> multi-threaded
> mode (patches 01-02-04) and make TLB flushes to other VCPUs safe.
>
> Patch 03 introduces a new API to submit a work item to a VCPU and wait for its
> completion. This API is used to query TLB flushes that result from the
> emulation of some ARM instructions. Patches 07, 08 and 09 modify the current
> tlb_flush_* functions to use the new API. Patch 10 fixes a rare hang that I
> was experiencing with this branch.
>
> The whole work can be fetched from the following repository:
> address@hidden:dev/qemu-mt.git
> at the branch "slowpath-for-atomic-v8-mttcg".
Hmm this branch has build failures for linux-user and other
architectures. Is this the latest one?
>
> Alvise Rigo (10):
> exec: Introduce tcg_exclusive_{lock,unlock}()
> softmmu_llsc_template.h: Move to multi-threading
> cpus: Introduce async_wait_run_on_cpu()
> cputlb: Introduce tlb_flush_other()
> target-arm: End TB after ldrex instruction
> cputlb: Add tlb_tables_flush_bitmap()
> cputlb: Query tlb_flush_by_mmuidx
> cputlb: Query tlb_flush_page_by_mmuidx
> cputlb: Query tlb_flush_page_all
> cpus: Do not sleep if some work item is pending
>
> cpus.c | 48 ++++++++++-
> cputlb.c | 202
> ++++++++++++++++++++++++++++++++++-----------
> exec.c | 18 ++++
> include/exec/exec-all.h | 13 +--
> include/qom/cpu.h | 36 ++++++++
> softmmu_llsc_template.h | 13 ++-
> softmmu_template.h | 6 ++
> target-arm/helper.c | 79 +++++++++---------
> target-arm/op_helper.c | 6 ++
> target-arm/translate-a64.c | 2 +
> target-arm/translate.c | 2 +
> 11 files changed, 327 insertions(+), 98 deletions(-)
--
Alex Bennée
- Re: [Qemu-devel] [RFC 00/10] MTTCG: Slow-path for atomic insns,
Alex Bennée <=