qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] target/arm: Convert ARM_TBFLAG_* to FIELDs


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH] target/arm: Convert ARM_TBFLAG_* to FIELDs
Date: Mon, 17 Dec 2018 10:03:56 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.3.1

On 12/17/18 9:43 AM, Alex Bennée wrote:
>> Use "register" TBFLAG_ANY to indicate shared state between
>> A32 and A64, and "registers" TBFLAG_A32 & TBFLAG_A64 for
>> fields that are specific to the given cpu state.
>>
>> Move ARM_TBFLAG_BE to shared state, instead of its current
>> placement within "Bit usage when in AArch32 state".
> 
> This looks like a worthwhile clean-up but really we need to defer this
> calculation. It's in the top 2 hot functions on my build load stressor:
> 
>    5.74%  qemu-system-aarch64      [.] helper_lookup_tb_ptr
>    5.05%  qemu-system-aarch64      [.] get_phys_addr_lpae
>    4.39%  qemu-system-aarch64      [.] cpu_get_tb_cpu_state
>    3.73%  qemu-system-aarch64      [.] tcg_gen_code
>    3.65%  qemu-system-aarch64      [.] qht_lookup_custom

Yes, I know.  We need to put on our thinking caps and come up with a scheme
that minimizes the chances of missing an update to any (partially) pre-computed
value.

That has been Peter's (legitimate) resistance to such a scheme so far.  There
are a *lot* of variables that go into computing tb->flags.

In the meantime this patch just makes the task of adding bits less ugly.


r~



reply via email to

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