qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [RFC] translate-all: protect code_gen_buffer with RCU


From: Richard Henderson
Subject: Re: [Qemu-devel] [RFC] translate-all: protect code_gen_buffer with RCU
Date: Fri, 22 Apr 2016 11:25:09 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.7.1

On 04/21/2016 05:06 PM, Emilio G. Cota wrote:
>  #ifdef USE_STATIC_CODE_GEN_BUFFER
> -static uint8_t static_code_gen_buffer[DEFAULT_CODE_GEN_BUFFER_SIZE]
> +static uint8_t static_code_gen_buffer1[DEFAULT_CODE_GEN_BUFFER_SIZE]
>      __attribute__((aligned(CODE_GEN_ALIGN)));
> +static uint8_t static_code_gen_buffer2[DEFAULT_CODE_GEN_BUFFER_SIZE]
> +    __attribute__((aligned(CODE_GEN_ALIGN)));
> +static int static_buf_mask = 1;
> +static void *static_buf1;
> +static void *static_buf2;

I don't like this at all.

(1) This is (by default) 32MB we're adding to the RSS of the
    simulator.  Surely we can do better than this.

(2) On some hosts we require a maximum displacement from
    any point in the code gen buffer from the tcg prologue.
    That means you can't simply allocate two separate buffers.

    You have to take a single buffer, of known good size and
    alignment, and split it in half.


r~



reply via email to

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