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.ben...@linaro.org> Cc: Thomas Huth <th...@redhat.com> Cc: 1896...@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 \ -- 2.20.1 -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1896298 Title: TCG memory leak with FreeDOS 'edit' Status in QEMU: Expired Bug description: qemu trunk as of today leaks memory FAST when freedos' edit is running. To reproduce, download: https://www.ibiblio.org/pub/micro/pc- stuff/freedos/files/repositories/1.3/cdrom.iso Then run: $ qemu-system-i386 -cdrom cdrom.iso select your language then select "return to DOS", then type > edit it will consume memory at ~10MB/s This does NOT happen when adding -enable-kvm To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1896298/+subscriptions