From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41620) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7uVz-0001vU-VM for qemu-devel@nongnu.org; Wed, 24 Jun 2015 19:55:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7uVu-0008IH-VQ for qemu-devel@nongnu.org; Wed, 24 Jun 2015 19:55:35 -0400 Received: from mail-wg0-f53.google.com ([74.125.82.53]:34779) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7uVu-0008GC-QO for qemu-devel@nongnu.org; Wed, 24 Jun 2015 19:55:30 -0400 Received: by wgqq4 with SMTP id q4so48782741wgq.1 for ; Wed, 24 Jun 2015 16:55:29 -0700 (PDT) Received: from mail-wi0-f176.google.com (mail-wi0-f176.google.com. [209.85.212.176]) by mx.google.com with ESMTPSA id pl1sm4842160wic.6.2015.06.24.16.55.28 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 24 Jun 2015 16:55:28 -0700 (PDT) Received: by wiwl6 with SMTP id l6so2823471wiw.0 for ; Wed, 24 Jun 2015 16:55:27 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1435160084-938-1-git-send-email-alex.bennee@linaro.org> References: <1435160084-938-1-git-send-email-alex.bennee@linaro.org> Date: Thu, 25 Jun 2015 01:55:27 +0200 Message-ID: From: Alexander Spyridakis Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [RFC PATCH] target-arm/psci.c: wake up sleeping CPUs (MTTCG) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: =?UTF-8?B?QWxleCBCZW5uw6ll?= Cc: mttcg@listserver.greensocs.com, Peter Maydell , Alexander Spyridakis , Mark Burton , QEMU Developers , =?UTF-8?B?S09OUkFEIEZyw6lkw6lyaWM=?= On 24 June 2015 at 17:34, Alex Benn=C3=A9e wrote: > Testing with Alexander's bare metal syncronisation tests fails in MTTCG > leaving one CPU spinning forever waiting for the second CPU to wake up. > We simply need to poke the halt_cond once we have processed the PSCI > power on call. Thanks Alex. Works for me, also with qemu_cpu_kick(target_cpu_state) as Paolo mentioned. The test seems to stress the current multi-threaded implementation quite a lot. With 8 CPUs running, the resulting errors are in the range of 500 per vCPU (10 million iterations). Performance is another issue as mentioned before, but even more pronounced with 8 cores. Upstream QEMU needs around 10 seconds to complete, with multi-threading around 100 seconds for the same test. Best regards.