fred.kon...@greensocs.com writes:

> From: KONRAD Frederic <fred.kon...@greensocs.com>
>
> This changes just the tb_flush called from tb_alloc.
>
> TODO:
>  * changes the other tb_flush.
>
> Signed-off-by: KONRAD Frederic <fred.kon...@greensocs.com>
> ---
>  translate-all.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/translate-all.c b/translate-all.c
> index 8bd8fe8..9adaffa 100644
> --- a/translate-all.c
> +++ b/translate-all.c
> @@ -1147,7 +1147,7 @@ TranslationBlock *tb_gen_code(CPUState *cpu,
>      tb = tb_alloc(pc);
>      if (!tb) {
>          /* flush must be done */
> -        tb_flush(env);
> +        tb_flush_safe(env);

Hold on this is async right? What stops us rolling on and then getting
flushed when the other vCPUs come to a halt?

It deserves a comment at least.

>          /* cannot fail at this point */
>          tb = tb_alloc(pc);
>          /* Don't forget to invalidate previous TB info.  */

-- 
Alex Bennée

Reply via email to