[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v4 21/28] tcg: enable tb_lock() for SoftMMU
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [RFC v4 21/28] tcg: enable tb_lock() for SoftMMU |
Date: |
Tue, 27 Sep 2016 18:16:04 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0 |
On 11/08/2016 17:24, Alex Bennée wrote:
> tb_lock() has long been used for linux-user mode to protect code
> generation. By enabling it now we prepare for MTTCG and ensure all code
> generation is serialised by this lock. The other major structure that
> needs protecting is the l1_map and its PageDesc structures. For the
> SoftMMU case we also use tb_lock() to protect these structures instead
> of linux-user mmap_lock() which as the name suggests serialises updates
> to the structure as a result of guest mmap operations.
>
> Signed-off-by: Alex Bennée <address@hidden>
>
> ---
> v4
> - split from main tcg: enable thread-per-vCPU patch
Is it possible to extend this patch so that tb_lock/tb_unlock are no-ops
unless tcg_enabled()? Maybe even move tb_lock/tb_unlock to tcg/tcg.h as
inlines and only leaving the actual TCG path in translate-all.c...
Thanks,
Paolo