All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Alex Bennée" <alex.bennee@linaro.org>, qemu-devel@nongnu.org
Cc: Paolo Bonzini <pbonzini@redhat.com>,
	Thomas Huth <thuth@redhat.com>,
	1896298@bugs.launchpad.net
Subject: Re: [RFC PATCH] accel/tcg: change default codegen buffer size for i386-softmmu
Date: Thu, 3 Jun 2021 12:04:29 -0700	[thread overview]
Message-ID: <76648788-26c3-f957-ac39-eee1600e57f7@linaro.org> (raw)
In-Reply-To: <20210525164541.17985-1-alex.bennee@linaro.org>

On 5/25/21 9:45 AM, Alex Bennée wrote:
> There are two justifications for making this change. The first is that
> i386 emulation is typically for smaller machines where having a 1gb of
> generated code is overkill for basic emulation. The second is the
> propensity of self-modifying code (c.f. Doom/edit) utilised on i386
> systems can trigger a rapid growth in invalidated and re-translated
> buffers. This is seen in bug #283. Execution is still inefficient but
> at least the host memory isn't so aggressively used up.
> 
> That said it's still really just a sticking plaster for user
> convenience.
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> Cc: Thomas Huth <thuth@redhat.com>
> Cc: 1896298@bugs.launchpad.net
> ---
>   accel/tcg/translate-all.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
> index 640ff6e3e7..f442165674 100644
> --- a/accel/tcg/translate-all.c
> +++ b/accel/tcg/translate-all.c
> @@ -951,9 +951,13 @@ static void page_lock_pair(PageDesc **ret_p1, tb_page_addr_t phys1,
>    * Users running large scale system emulation may want to tweak their
>    * runtime setup via the tb-size control on the command line.
>    */
> +#ifdef TARGET_I386
> +#define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (32 * MiB)
> +#else
>   #define DEFAULT_CODE_GEN_BUFFER_SIZE_1 (1 * GiB)
>   #endif
>   #endif
> +#endif
>   
>   #define DEFAULT_CODE_GEN_BUFFER_SIZE \
>     (DEFAULT_CODE_GEN_BUFFER_SIZE_1 < MAX_CODE_GEN_BUFFER_SIZE \
> 

I'm not thrilled, as it is ultra-hacky.

(1) I've got a re-org of this code out for review: 
https://patchew.org/QEMU/20210502231844.1977630-1-richard.henderson@linaro.org/

(2) I'm keen to reorg TCG such that it gets compiled once.  There's currently 
nothing standing in the way of that except work.  But this would introduce a 
use of a target-specific define for the first time into tcg/.  I guess I could 
leave the default sizing back in accel/tcg/ and pass in the default.

Other options?


r~


  parent reply	other threads:[~2021-06-03 19:06 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18 22:39 [Bug 1896298] [NEW] memory leak Michael Slade
2020-09-18 23:20 ` [Bug 1896298] " Michael Slade
2020-12-02  7:55 ` Thomas Huth
2021-05-11 13:35 ` Thomas Huth
2021-05-13 12:16 ` [Bug 1896298] Re: TCG memory leak with FreeDOS 'edit' Thomas Huth
2021-05-25 14:51 ` Alex Bennée
2021-05-25 16:45 ` [Bug 1896298] [RFC PATCH] accel/tcg: change default codegen buffer size for i386-softmmu Alex Bennée
2021-05-25 16:45   ` Alex Bennée
2021-06-03 16:33   ` Alex Bennée
2021-06-03 16:33     ` [Bug 1896298] " Alex Bennée
2021-06-03 19:04   ` Richard Henderson [this message]
2021-06-04  7:42     ` Alex Bennée
2021-06-04  7:42       ` [Bug 1896298] " 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=76648788-26c3-f957-ac39-eee1600e57f7@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=1896298@bugs.launchpad.net \
    --cc=alex.bennee@linaro.org \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=thuth@redhat.com \
    /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.