Paolo Bonzini <pbonz...@redhat.com> writes: > Il 10/05/2013 15:23, Andreas Färber 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. >> >> 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