From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [PATCH] Don't call cpu_synchronize_state() in apic_init_reset() Date: Wed, 23 Sep 2009 18:17:40 +0300 Message-ID: <4ABA3C14.7080803@redhat.com> References: <1253631112-26124-1-git-send-email-gleb@redhat.com> <1253631112-26124-3-git-send-email-gleb@redhat.com> <4AB9E3BC.7060304@redhat.com> <4ABA399F.6030003@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , kvm@vger.kernel.org To: Jan Kiszka Return-path: Received: from mx1.redhat.com ([209.132.183.28]:31156 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750776AbZIWPRi (ORCPT ); Wed, 23 Sep 2009 11:17:38 -0400 In-Reply-To: <4ABA399F.6030003@web.de> Sender: kvm-owner@vger.kernel.org List-ID: On 09/23/2009 06:07 PM, Jan Kiszka wrote: > Avi Kivity wrote: > >> On 09/22/2009 05:51 PM, Gleb Natapov wrote: >> >>> Each caller of the function already calls it. >>> >>> Signed-off-by: Gleb Natapov >>> --- >>> hw/apic.c | 1 - >>> 1 files changed, 0 insertions(+), 1 deletions(-) >>> >>> diff --git a/hw/apic.c b/hw/apic.c >>> index 3a2e128..a9d1fb8 100644 >>> --- a/hw/apic.c >>> +++ b/hw/apic.c >>> @@ -488,7 +488,6 @@ void apic_init_reset(CPUState *env) >>> if (!s) >>> return; >>> >>> - cpu_synchronize_state(env); >>> s->tpr = 0; >>> s->spurious_vec = 0xff; >>> s->log_dest = 0; >>> >>> >> Still, it's safer to live this in. >> >> > Yet another diff to upstream... > > It's really time to stabilize this still a bit fuzzy register sync > model, also in qemu-kvm. If you think we need it, let us push it > upstream - with a sound explanation, and maybe even with more sync > points for the sake of consistency. > > Functions calling each other in the same subsystem can rely on callers calling cpu_synchronize_state(). Across subsystems, that's another matter, exported functions should try not to rely on implementation details of their callers. (You might argue that the apic is not separate subsystem wrt an x86 cpu, and I'm not sure I have a counterargument) -- error compiling committee.c: too many arguments to function