qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 19/61] virtio-net : cleanup : use QOM cast.


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH 19/61] virtio-net : cleanup : use QOM cast.
Date: Mon, 07 Jan 2013 15:17:18 -0600
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

"Michael S. Tsirkin" <address@hidden> writes:

> On Mon, Jan 07, 2013 at 07:40:32PM +0100, address@hidden wrote:
>> @@ -130,7 +124,9 @@ static void virtio_net_set_status(struct VirtIODevice 
>> *vdev, uint8_t status)
>>  
>>  static void virtio_net_set_link_status(NetClientState *nc)
>>  {
>> -    VirtIONet *n = DO_UPCAST(NICState, nc, nc)->opaque;
>> +    void *opaque = DO_UPCAST(NICState, nc, nc)->opaque;
>> +    VirtIONet *n = VIRTIO_NET(opaque);
>> +    VirtIODevice *vdev = VIRTIO_DEVICE(n);
>>      uint16_t old_status = n->status;
>>  
>>      if (nc->link_down)
>
> I note this adds more pointer chasing due to runtime casts on data path
> operations.  Can well be trivial but this really needs to be verified
> with a performance test. Was this done? Same comment applies to block.
> An alternative is to add _fast casts without runtime checks.

I'm pretty sure other things like the one big global mutex are more
important than the number of pointer dereferences...

Do you have any evidence to suggest that this would be a problem in practice?

Regards,

Anthony Liguori

>
> -- 
> MST




reply via email to

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