mbox

[PULL,0/8] target/alpha cleanups

Message ID 20170719044522.21114-1-rth@twiddle.net
State New
Headers show

Pull-request

git://github.com/rth7680/qemu.git tags/pull-axp-20170718

Message

Richard Henderson July 19, 2017, 4:45 a.m. UTC
The new title holder for perf top is helper_lookup_tb_ptr.
Those targets that have a complicated cpu_get_tb_cpu_state
function are going to regret that.

This cleans up the Alpha version of that function such that it is
just two loads and one mask.  Which is one practically-free mask
away from being as minimal as one can get.

Also, in anticipation of LLuis' generic translation loop, fix all
of the temporary leaks.  They all seem to have been on insns that
end the TB, so in practice they weren't harmful, but...


r~


The following changes since commit 6887dc6700ccb7820d8a9d370f421ee361c748e8:

  Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170718' into staging (2017-07-18 21:13:48 +0100)

are available in the git repository at:

  git://github.com/rth7680/qemu.git tags/pull-axp-20170718

for you to fetch changes up to 8aa5c65fd3d4612d8ab690bef0980d26f30f381d:

  target/alpha: Log temp leaks (2017-07-18 18:42:05 -1000)

----------------------------------------------------------------
Queued target/alpha patches

----------------------------------------------------------------
Richard Henderson (8):
      target/alpha: Remove amask from tb->flags
      target/alpha: Copy tb->flags into DisasContext
      target/alpha: Merge several flag bytes into ENV->FLAGS
      target/alpha: Fix temp leak in gen_bcond
      target/alpha: Fix temp leak in gen_mtpr
      target/alpha: Fix temp leak in gen_call_pal
      target/alpha: Fix temp leak in gen_fbcond
      target/alpha: Log temp leaks

 target/alpha/cpu.h       |  79 +++++++----------
 hw/alpha/dp264.c         |   1 -
 linux-user/main.c        |  25 +++---
 target/alpha/cpu.c       |   7 +-
 target/alpha/helper.c    |  12 +--
 target/alpha/machine.c   |  10 +--
 target/alpha/translate.c | 221 +++++++++++++++++++++++++++++------------------
 7 files changed, 194 insertions(+), 161 deletions(-)

Comments

Peter Maydell July 19, 2017, 4:57 p.m. UTC | #1
On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> The new title holder for perf top is helper_lookup_tb_ptr.
> Those targets that have a complicated cpu_get_tb_cpu_state
> function are going to regret that.

Yeah, Paolo's pointed out (and had some patches for)
ARM's rather complicated cpu_get_tb_cpu_state(). My
issue with his suggested fixes was that they were
pretty fragile in terms of not having any guarantee
that the change always produced the right tb cpu
state flags answer...

(I'm processing the pullreq, this just seemed like an
interesting digression.)

thanks
-- PMM
Peter Maydell July 19, 2017, 6:36 p.m. UTC | #2
On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> The new title holder for perf top is helper_lookup_tb_ptr.
> Those targets that have a complicated cpu_get_tb_cpu_state
> function are going to regret that.
>
> This cleans up the Alpha version of that function such that it is
> just two loads and one mask.  Which is one practically-free mask
> away from being as minimal as one can get.
>
> Also, in anticipation of LLuis' generic translation loop, fix all
> of the temporary leaks.  They all seem to have been on insns that
> end the TB, so in practice they weren't harmful, but...
>
>
> r~
>
>
> The following changes since commit 6887dc6700ccb7820d8a9d370f421ee361c748e8:
>
>   Merge remote-tracking branch 'remotes/borntraeger/tags/s390x-20170718' into staging (2017-07-18 21:13:48 +0100)
>
> are available in the git repository at:
>
>   git://github.com/rth7680/qemu.git tags/pull-axp-20170718
>
> for you to fetch changes up to 8aa5c65fd3d4612d8ab690bef0980d26f30f381d:
>
>   target/alpha: Log temp leaks (2017-07-18 18:42:05 -1000)
>
> ----------------------------------------------------------------
> Queued target/alpha patches
>

Applied, thanks.

-- PMM
Richard Henderson July 19, 2017, 9:52 p.m. UTC | #3
On 07/19/2017 06:57 AM, Peter Maydell wrote:
> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
>> The new title holder for perf top is helper_lookup_tb_ptr.
>> Those targets that have a complicated cpu_get_tb_cpu_state
>> function are going to regret that.
> 
> Yeah, Paolo's pointed out (and had some patches for)
> ARM's rather complicated cpu_get_tb_cpu_state(). My
> issue with his suggested fixes was that they were
> pretty fragile in terms of not having any guarantee
> that the change always produced the right tb cpu
> state flags answer...

Oh?  I must have missed seeing this one.
A quick patchwork search doesn't pull it up;
do either of you have a link?


r~
Peter Maydell July 20, 2017, 9:06 a.m. UTC | #4
On 19 July 2017 at 22:52, Richard Henderson <rth@twiddle.net> wrote:
> On 07/19/2017 06:57 AM, Peter Maydell wrote:
>>
>> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
>>>
>>> The new title holder for perf top is helper_lookup_tb_ptr.
>>> Those targets that have a complicated cpu_get_tb_cpu_state
>>> function are going to regret that.
>>
>>
>> Yeah, Paolo's pointed out (and had some patches for)
>> ARM's rather complicated cpu_get_tb_cpu_state(). My
>> issue with his suggested fixes was that they were
>> pretty fragile in terms of not having any guarantee
>> that the change always produced the right tb cpu
>> state flags answer...
>
>
> Oh?  I must have missed seeing this one.
> A quick patchwork search doesn't pull it up;
> do either of you have a link?

It was back in September:
https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg03133.html

thanks
-- PMM
Paolo Bonzini July 20, 2017, 10:44 p.m. UTC | #5
I am planning to refresh the series for 2.11.

Paolo

Il 20/lug/2017 11:07, "Peter Maydell" <peter.maydell@linaro.org> ha scritto:

> On 19 July 2017 at 22:52, Richard Henderson <rth@twiddle.net> wrote:
> > On 07/19/2017 06:57 AM, Peter Maydell wrote:
> >>
> >> On 19 July 2017 at 05:45, Richard Henderson <rth@twiddle.net> wrote:
> >>>
> >>> The new title holder for perf top is helper_lookup_tb_ptr.
> >>> Those targets that have a complicated cpu_get_tb_cpu_state
> >>> function are going to regret that.
> >>
> >>
> >> Yeah, Paolo's pointed out (and had some patches for)
> >> ARM's rather complicated cpu_get_tb_cpu_state(). My
> >> issue with his suggested fixes was that they were
> >> pretty fragile in terms of not having any guarantee
> >> that the change always produced the right tb cpu
> >> state flags answer...
> >
> >
> > Oh?  I must have missed seeing this one.
> > A quick patchwork search doesn't pull it up;
> > do either of you have a link?
>
> It was back in September:
> https://lists.gnu.org/archive/html/qemu-devel/2016-09/msg03133.html
>
> thanks
> -- PMM
>
>