From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40641) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbRdX-0001gd-FK for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:37:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YbRdU-0000pA-JA for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:37:11 -0400 Received: from greensocs.com ([193.104.36.180]:37542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YbRdU-0000og-6E for qemu-devel@nongnu.org; Fri, 27 Mar 2015 06:37:08 -0400 Message-ID: <551532CF.600@greensocs.com> Date: Fri, 27 Mar 2015 11:37:03 +0100 From: Frederic Konrad MIME-Version: 1.0 References: <1421428797-23697-1-git-send-email-fred.konrad@greensocs.com> <87wq22bvmd.fsf@linaro.org> In-Reply-To: <87wq22bvmd.fsf@linaro.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC 00/10] MultiThread TCG. List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QWxleCBCZW5uw6ll?= Cc: mttcg@listserver.greensocs.com, peter.maydell@linaro.org, jan.kiszka@siemens.com, mark.burton@greensocs.com, agraf@suse.de, qemu-devel@nongnu.org, pbonzini@redhat.com Hi, Yes a v2 will come soon. Actually I'm trying to unbreak GDB stub and a strange segfault with smp >= 2. Fred On 27/03/2015 11:08, Alex Benn=C3=A9e wrote: > 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 V= CPU. >> >> 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