[libvirt] [RFC PATCH] qemu: new API for tracking arbitrary monitor events

Eric Blake eblake at redhat.com
Fri Dec 20 17:43:10 UTC 2013


On 12/20/2013 09:41 AM, Michal Privoznik wrote:
>> Ooh, just noticed that the timestamp is not part of the event data;
>> probably worth adding another parameter to the callback function to list
>> the event timestamp (as knowing when qemu fired an event may indeed be
>> important to a developer using this interface for debugging).  What type
>> would be best?  Is it okay to tie our public interface to struct
>> timespec (which in turn risks problems if a compile-time switch can move
>> between 32- and 64-bit seconds since Epoch), or should I just open-code
>> it to two parameters: 'long long seconds, int microseconds'?
> 
> Well, in qemu code base it seems like they're using struct timeval; but
> typecasting into int64_t both seconds and microseconds. So I'd say it's
> fine for us to go with ULL seconds, uint microseconds. Although I'm not
> that convinced that we should stick with unsigned, signed type will work
> too. At least for another ~25 years on my RPi :)

I'm going signed LL for seconds (-1 if timestamp is not available), and
uint for micros.  Even if the host uses 32-bit time_t for seconds, it
doesn't hurt us to pass the time as 64-bit; and by specifying it as
explicit LL rather than time_t our header remains independent of host
sizing changes.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131220/19618635/attachment-0001.sig>


More information about the libvir-list mailing list