From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbRBb-0006Cq-7l for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:08:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbRBX-0006A5-1d for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:08:19 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:35614 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbRBW-00069x-R7 for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:08:14 -0400 References: <1421428797-23697-1-git-send-email-fred.konrad@greensocs.com> From: Alex =?utf-8?Q?Benn=C3=A9e?= In-reply-to: <1421428797-23697-1-git-send-email-fred.konrad@greensocs.com> Date: Fri, 27 Mar 2015 10:08:42 +0000 Message-ID: <87wq22bvmd.fsf@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [RFC 00/10] MultiThread TCG. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: fred.konrad@greensocs.com Cc: mttcg@listserver.greensocs.com, peter.maydell@linaro.org, jan.kiszka@siemens.com, mark.burton@greensocs.com, qemu-devel@nongnu.org, agraf@suse.de, pbonzini@redhat.com fred.konrad@greensocs.com writes: > From: KONRAD Frederic > > Hi everybody, > > This is the start of our work on TCG multithread. It's been a while since the first RFC are we likely to see a v2 of the patch series any time soon? > > We send it for comment to be sure we are taking the right direction. > We already discussed the first patch but we keep it for simplicity. > > We choice to keep a common tbs array for all VCPU but protect it with the > tb_lock from TBContext. Then for each PageDesc we have a tb list per VCPU. > > Known issues: > * Some random deadlock. > * qemu_pause_cond is broken we can't quit QEMU. > * tb_flush is broken we must make sure no VCPU are executing code. > > Jan Kiszka (1): > Drop global lock during TCG code execution > > KONRAD Frederic (9): > target-arm: protect cpu_exclusive_*. > use a different translation block list for each cpu. > replace spinlock by QemuMutex. > remove unused spinlock. > extract TBContext from TCGContext. > protect TBContext with tb_lock. > tcg: remove tcg_halt_cond global variable. > cpu: remove exit_request global. > tcg: switch on multithread. > > cpu-exec.c | 47 +++++++---- > cpus.c | 122 +++++++++++---------------- > cputlb.c | 5 ++ > exec.c | 25 ++++++ > include/exec/exec-all.h | 4 +- > include/exec/spinlock.h | 49 ----------- > include/qom/cpu.h | 1 + > linux-user/main.c | 6 +- > scripts/checkpatch.pl | 9 +- > softmmu_template.h | 6 ++ > target-arm/cpu.c | 14 ++++ > target-arm/cpu.h | 3 + > target-arm/helper.h | 3 + > target-arm/op_helper.c | 10 +++ > target-arm/translate.c | 6 ++ > target-i386/mem_helper.c | 16 +++- > target-i386/misc_helper.c | 27 +++++- > tcg/i386/tcg-target.c | 8 ++ > tcg/tcg.h | 3 +- > translate-all.c | 208 +++++++++++++++++++++++++++------------------- > vl.c | 6 ++ > 21 files changed, 335 insertions(+), 243 deletions(-) > delete mode 100644 include/exec/spinlock.h -- Alex Bennée