From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:57259) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UaoTo-0003in-Gp for qemu-devel@nongnu.org; Fri, 10 May 2013 10:39:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UaoTn-0000pP-6C for qemu-devel@nongnu.org; Fri, 10 May 2013 10:39:28 -0400 Received: from e23smtp08.au.ibm.com ([202.81.31.141]:43902) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UaoTm-0000pF-J2 for qemu-devel@nongnu.org; Fri, 10 May 2013 10:39:27 -0400 Received: from /spool/local by e23smtp08.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Sat, 11 May 2013 00:36:57 +1000 Received: from d23relay04.au.ibm.com (d23relay04.au.ibm.com [9.190.234.120]) by d23dlp01.au.ibm.com (Postfix) with ESMTP id BBAFA2CE804C for ; Sat, 11 May 2013 00:39:16 +1000 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r4AEPKSA23265464 for ; Sat, 11 May 2013 00:25:22 +1000 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r4AEdEuC020840 for ; Sat, 11 May 2013 00:39:14 +1000 From: Anthony Liguori In-Reply-To: <518CF669.30803@redhat.com> References: <1368188203-3407-1-git-send-email-pbonzini@redhat.com> <874nebdm4r.fsf@codemonkey.ws> <518CF130.2030402@redhat.com> <518CF4C4.6020901@suse.de> <518CF669.30803@redhat.com> Date: Fri, 10 May 2013 09:39:04 -0500 Message-ID: <871u9ezypj.fsf@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Andreas =?utf-8?Q?F=C3=A4rber?= Cc: qemu-devel@nongnu.org, Aurelien Jarno , mst@redhat.com Paolo Bonzini writes: > Il 10/05/2013 15:23, Andreas F=C3=A4rber ha scritto: >> Am 10.05.2013 15:08, schrieb Paolo Bonzini: >>> Il 10/05/2013 15:01, Anthony Liguori ha scritto: >>>> I'd prefer not to disable but instead focus on improving performance. >>> >>> For 1.5? This is a regression in 1.5 due to more and more usage of >>> foo_env_on_cpu. >>=20 >> If CPUs were the only reason, we could simply change those inlines and >> ENV_GET_CPU() macro to use a C cast. No complicated interface scenarios >> requiring a dynamic cast are used for CPUs so far to my knowledge. > > Almost nothing really requires a dynamic cast in QEMU. Only interface > casts do, and there's just a couple of uses of interfaces. > > And I wrote in the cover letter that what I want is really avoid the > need for "fast casts" in the hot paths. > > Can you guys actually read the commit messages? Yeah, the vast majority of the series is a nice cleanup. I just oppose the notion of disabling casts and *especially* only disabling casts for official builds. I don't see a reason to do something like this without even attempting to improve performance first. Regards, Anthony Liguori >> Either way, it would be nice to see the call sites of those >> most-impacting dynamic casts! So far I held back my APIC RFC since I'm >> not sure how to reproducibly profile things. > > It's interrupts (both sending and returning from them). > > Paolo