From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38862) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4rDD-0000Gt-N8 for qemu-devel@nongnu.org; Thu, 01 Aug 2013 07:38:38 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V4rD7-0002vU-ME for qemu-devel@nongnu.org; Thu, 01 Aug 2013 07:38:31 -0400 Received: from cantor2.suse.de ([195.135.220.15]:52921 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V4rD7-0002vE-BX for qemu-devel@nongnu.org; Thu, 01 Aug 2013 07:38:25 -0400 Message-ID: <51FA48AC.9070905@suse.de> Date: Thu, 01 Aug 2013 13:38:20 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1374828431-25517-1-git-send-email-tiejun.chen@windriver.com> In-Reply-To: <1374828431-25517-1-git-send-email-tiejun.chen@windriver.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH] cpus: use cpu_is_stopped efficiently List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Tiejun Chen Cc: mtosatti@redhat.com, qemu-devel@nongnu.org Hi, Am 26.07.2013 10:47, schrieb Tiejun Chen: > It makes more sense and simple later. >=20 > Signed-off-by: Tiejun Chen > --- > cpus.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) >=20 > diff --git a/cpus.c b/cpus.c > index c232265..a997632 100644 > --- a/cpus.c > +++ b/cpus.c > @@ -62,6 +62,11 @@ > =20 > static CPUArchState *next_cpu; > =20 > +bool cpu_is_stopped(CPUState *cpu) > +{ > + return !runstate_is_running() || cpu->stopped; > +} > + > static bool cpu_thread_is_idle(CPUArchState *env) > { > CPUState *cpu =3D ENV_GET_CPU(env); To optimize performance slightly, I would suggest to reorder the two conditions as they were below (avoiding the non-inline function call if cpu->stopped). Other than that it looks good to me, but no bugfix for 1.6. If you send a v2 I can queue it on qom-cpu for the next merge window in two weeks. CC'ing me would have made me review it earlier. ;) And as you may have noticed, Avi is no longer with Red Hat, and Gleb and Paolo are maintaining KVM parts, which there are none in this patch. See MAINTAINERS file for the latest list. Regards, Andreas > @@ -69,7 +74,7 @@ static bool cpu_thread_is_idle(CPUArchState *env) > if (cpu->stop || cpu->queued_work_first) { > return false; > } > - if (cpu->stopped || !runstate_is_running()) { > + if (cpu_is_stopped(cpu)) { > return true; > } > if (!cpu->halted || qemu_cpu_has_work(cpu) || > @@ -432,11 +437,6 @@ void cpu_synchronize_all_post_init(void) > } > } > =20 > -bool cpu_is_stopped(CPUState *cpu) > -{ > - return !runstate_is_running() || cpu->stopped; > -} > - > static void do_vm_stop(RunState state) > { > if (runstate_is_running()) { > @@ -455,7 +455,7 @@ static bool cpu_can_run(CPUState *cpu) > if (cpu->stop) { > return false; > } > - if (cpu->stopped || !runstate_is_running()) { > + if (cpu_is_stopped(cpu)) { > return false; > } > return true; >=20 --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg