All of lore.kernel.org
 help / color / mirror / Atom feed
From: Aaron Lindsay <aaron@os.amperecomputing.com>
To: Emilio Cota <cota@braap.org>
Cc: qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
	"Richard Henderson" <richard.henderson@linaro.org>
Subject: Re: [PATCH 1/4] plugins: fix optimization in plugin_gen_disable_mem_helpers
Date: Tue, 10 Jan 2023 10:29:40 -0500	[thread overview]
Message-ID: <Y72EZGiDBQsvTyUs@strawberry.localdomain> (raw)
In-Reply-To: <20230108164731.61469-2-cota@braap.org>

On Jan 08 11:47, Emilio Cota wrote:
> We were mistakenly checking tcg_ctx->plugin_insn as a canary to know
> whether the TB had emitted helpers that might have accessed memory.
> 
> The problem is that tcg_ctx->plugin_insn gets updated on every
> instruction in the TB, which results in us wrongly performing the
> optimization (i.e. not clearing cpu->plugin_mem_cbs) way too often,
> since it's not rare that the last instruction in the TB doesn't
> use helpers.
> 
> Fix it by tracking a per-TB canary.
> 
> While at it, expand documentation.
> 
> Related: #1381
> 
> Signed-off-by: Emilio Cota <cota@braap.org>
> ---
>  accel/tcg/plugin-gen.c | 26 ++++++++++++++++++--------
>  include/qemu/plugin.h  |  7 +++++++
>  2 files changed, 25 insertions(+), 8 deletions(-)

Tested-by: Aaron Lindsay <aaron@os.amperecomputing.com>


  reply	other threads:[~2023-01-10 15:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-08 16:47 [PATCH 0/4] plugin patches to fix #1381 Emilio Cota
2023-01-08 16:47 ` [PATCH 1/4] plugins: fix optimization in plugin_gen_disable_mem_helpers Emilio Cota
2023-01-10 15:29   ` Aaron Lindsay [this message]
2023-01-08 16:47 ` [PATCH 2/4] translator: always pair plugin_gen_insn_{start, end} calls Emilio Cota
2023-01-08 19:56   ` Philippe Mathieu-Daudé
2023-01-10 15:26   ` [PATCH 2/4] translator: always pair plugin_gen_insn_{start,end} calls Aaron Lindsay
2023-01-08 16:47 ` [PATCH 3/4] tcg: exclude lookup_tb_ptr from helper instrumentation Emilio Cota
2023-01-08 16:51 ` [PATCH 4/4] cpu-exec: assert that plugin_mem_cbs is NULL after execution Emilio Cota
2023-01-09 13:52   ` Alex Bennée
2023-01-10  2:16     ` Emilio Cota
2023-01-10 13:02       ` Alex Bennée

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y72EZGiDBQsvTyUs@strawberry.localdomain \
    --to=aaron@os.amperecomputing.com \
    --cc=alex.bennee@linaro.org \
    --cc=cota@braap.org \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.