qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debuggin


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH for-1.5 0/9] Disable expensive QOM cast debugging for official releases
Date: Sat, 11 May 2013 09:59:44 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130311 Thunderbird/17.0.4

Il 11/05/2013 01:06, Anthony Liguori ha scritto:
> The thing is, none of these casts should be for more than 1 level and
> the patch I provided makes those casts almost free.

Assuming strings are collapsed (and that's why my original attempt to
introduce the fast path only looked at the concrete classes: I was
trying to optimize it within a device model).

> I believe the reason it didn't fix the problem for Aurelien is because
> the string addresses were different because of different compilation
> units.  I guess binutils doesn't collapse strings when linking.

No, it doesn't.  GCC can do that if you use link-time optimization, but
binutils doesn't look into the data section.  It is a black box.

>>> As soon as we open up 1.6 for development, we face an immediate
>>> regression in performance.  So we need to fix the real problem here
>>> anyway.
>>
>> No, we don't.  We will simply have to live with a debugging vs.
>> production tradeoff.
> 
> I appreciate all of the arguments below.  I'm very concerned about
> reducing safety checks but am sympathetic to performance concerns.
> 
> Here's what I would like to do.  I'll apply 1-6 of your series which
> gives us the infrastructure to disable qom casts.  That at least let's
> the code get tested in case we need it.

Fair enough, thanks!  Are you going to replace patch 3 with yours?
(Though I don't think we need to check the parent, see above).

> I will hold off applying patch 7 hoping that the patch I provided to
> Aurelien solves the problem.  If it doesn't and we're unable to find a
> better solution, I'll apply patch 7 for the release.

Let's please test virtio-net as well, it looks like Aurelien has the
benchmark.  /me goes swimming now. :)

Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]