qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements


From: Mark Cave-Ayland
Subject: Re: [Qemu-devel] [PATCH 00/25] target-sparc improvements
Date: Tue, 29 Dec 2015 18:59:24 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.4.0

On 17/12/15 20:54, Richard Henderson wrote:

> The primary focus of this patch set is to reduce the number of
> helpers that modify TCG globals, and thus increase the lifetime
> of those globals within each TB, and thus decrease the number
> of times that tcg must spill and fill them from backing store.
> 
> This patch set is relative to the "Improve sparc register windows"
> patches, which turned all of the integer registers into TCG globals.
> Thus this patch set improves the effect of the previous patch set.
> 
> As a byproduct, I also implement the bulk of the interesting v9 ASIs
> inline, thus exposing e.g. the little-endian loads and stores as
> simple tcg operations.
> 
> 
> r~
> 
> 
> Richard Henderson (25):
>   target-sparc: Mark more flags for helpers
>   target-sparc: Remove softint as a TCG global
>   target-sparc: Store mmu index in TB flags
>   target-sparc: Create gen_exception
>   target-sparc: Unify asi handling between 32 and 64-bit
>   target-sparc: Store %asi in TB flags
>   target-sparc: Introduce get_asi
>   target-sparc: Pass TCGMemOp to gen_ld/st_asi
>   target-sparc: Import linux/arch/sparc/include/uapi/asm/asi.h
>   target-sparc: Add UA2011 defines to asi.h
>   target-sparc: Use defines from asi.h
>   target-sparc: Add MMU_REAL_IDX
>   target-sparc: Directly implement easy ld/st asis
>   target-sparc: Use QT0 to return results from ldda
>   target-sparc: Introduce gen_check_align
>   target-sparc: Directly implement easy ldd/std asis
>   target-sparc: Fix obvious error in ASI_M_BFILL
>   target-sparc: Pass TCGMemOp constants to helper_ld/st_asi
>   target-sparc: Directly implement easy ldf/stf asis
>   target-sparc: Directly implement block and short ldf/stf asis
>   target-sparc: Remove helper_ldf_asi, helper_stf_asi
>   target-sparc: Use explicit writes to cpu_fsr
>   target-sparc: Use cpu_fsr in stfsr
>   target-sparc: Use cpu_loop_exit_restore from
>     helper_check_ieee_exceptions
>   target-sparc: Elide duplicate updates to fprs
> 
>  target-sparc/asi.h         |  311 +++++++++++
>  target-sparc/cpu.h         |   46 +-
>  target-sparc/fop_helper.c  |  229 +++-----
>  target-sparc/helper.h      |  168 +++---
>  target-sparc/ldst_helper.c |  696 +++++++++++-------------
>  target-sparc/mmu_helper.c  |   90 ++--
>  target-sparc/translate.c   | 1264 
> ++++++++++++++++++++++++++++----------------
>  7 files changed, 1667 insertions(+), 1137 deletions(-)
>  create mode 100644 target-sparc/asi.h

Hi Richard,

I've given your tgt-sparc branch a good run with my OpenBIOS test suite,
and I don't see any regressions here so this is looking good from my
point of view. As a general comment, qemu-system-sparc64 feels
noticeably slicker with this patchset applied.

Also with SPARC32 this branch apparently fixes at least one bug since my
pre-installed Solaris 8 image will now start X windows (although it
still hangs for long periods of time - but I believe that is the
long-standing MUTEX_HELD bug rather than anything new).

If there are explicit bug-fixes related to above then my preference
would be to have them as a separate patchset outside of the performance
improvements, but then if this isn't feasible then I don't feel that
this should block getting this patches applied to master.

Tested-by: Mark Cave-Ayland <address@hidden>

Thanks once again for all your work on this!


ATB,

Mark.




reply via email to

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