From: Eric Blake <eblake@redhat.com>
To: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: qemu-devel@nongnu.org, stefanha@redhat.com,
Juan Quintela <quintela@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 06/30] trace: Fix parameter types in migration
Date: Mon, 13 Mar 2017 15:18:15 -0500 [thread overview]
Message-ID: <89b9b8e6-b5ca-8056-783b-598e07bf5da0@redhat.com> (raw)
In-Reply-To: <20170313200752.GG5512@work-vm>
[-- Attachment #1: Type: text/plain, Size: 1984 bytes --]
On 03/13/2017 03:07 PM, Dr. David Alan Gilbert wrote:
> * Eric Blake (eblake@redhat.com) wrote:
>> An upcoming patch will let the compiler warn us when we are silently
>> losing precision in traces; update the trace definitions to pass
>> through the full value at the callsite.
>>
>> Signed-off-by: Eric Blake <eblake@redhat.com>
>> ---
>> migration/trace-events | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> -postcopy_ram_fault_thread_request(uint64_t hostaddr, const char *ramblock, size_t offset) "Request for HVA=%" PRIx64 " rb=%s offset=%zx"
>> +postcopy_ram_fault_thread_request(unsigned long long hostaddr, const char *ramblock, size_t offset) "Request for HVA=%llx rb=%s offset=%zx"
>
> Hmm - why?
> That's called as:
> trace_postcopy_ram_fault_thread_request(msg.arg.pagefault.address,
> qemu_ram_get_idstr(rb),
> rb_offset);
> struct uffd_msg msg;
> struct uffd_msg {
> ..
> union {
> struct {
> __u64 flags;
> __u64 address;
> } pagefault;
> ..
> } arg;
> }
>
> So why is a PRIx64 not the right way to print a __u64 ?
Because __u64 is not the same type as uint64_t. On 64-bit Linux, __u64
is 'unsigned long long', while uint64_t is 'unsigned long'.
> (I prefer %llx to the horrid PRIx64 syntax, but it still seems weird in this case)
As it is, I'm not sure if __u64 is always 'unsigned long long' in ALL
Linux clients; an even-more-conservative patch would be to switch all
callers to use explicit casts to something (like uint64_t or unsigned
long long) that we have full control over, rather than passing __u64
where we have no control over what type it ultimately resolves to.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
next prev parent reply other threads:[~2017-03-13 20:18 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-13 19:55 [Qemu-devel] [PATCH for-2.9 v2 00/30] trace type mismatch cleanups Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 01/30] trace: Fix backwards mirror_yield parameters Eric Blake
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 02/30] trace: Fix incorrect megasas trace parameters Eric Blake
2017-03-14 6:49 ` Hannes Reinecke
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 03/30] trace: Avoid abuse of amdvi_mmio_read Eric Blake
2017-03-16 7:36 ` Stefan Hajnoczi
2017-03-23 15:23 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 04/30] trace: Fix parameter types in block Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 05/30] trace: Fix parameter types in io Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 06/30] trace: Fix parameter types in migration Eric Blake
2017-03-13 20:07 ` Dr. David Alan Gilbert
2017-03-13 20:18 ` Eric Blake [this message]
2017-03-14 11:32 ` Dr. David Alan Gilbert
2017-03-14 14:36 ` Eric Blake
2017-03-15 19:55 ` Eric Blake
2017-03-15 22:33 ` Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 07/30] trace: Fix parameter types in ui Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 08/30] trace: Fix parameter types in top level Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 09/30] trace: Fix parameter types in linux-user Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 10/30] trace: Fix parameter types in hw/acpi Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 11/30] trace: Fix parameter types in hw/audio Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-22 15:10 ` Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 12/30] trace: Fix parameter types in hw/block Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 13/30] trace: Fix parameter types in hw/char Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 14/30] trace: Fix parameter types in hw/display Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 15/30] trace: Fix parameter types in hw/dma Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 16/30] trace: Fix parameter types in hw/i386 Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 17/30] trace: Fix parameter types in hw/input Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 18/30] trace: Fix parameter types in hw/intc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 19/30] trace: Fix parameter types in hw/isa Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 20/30] trace: Fix parameter types in hw/misc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 21/30] trace: Fix parameter types in hw/net Eric Blake
2017-03-14 7:21 ` Dmitry Fleytman
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 22/30] trace: Fix parameter types in hw/nvram Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 23/30] trace: Fix parameter types in hw/ppc Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 24/30] trace: Fix parameter types in hw/sd Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 25/30] trace: Fix parameter types in hw/scsi Eric Blake
2017-03-14 6:50 ` Hannes Reinecke
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 26/30] trace: Fix parameter types in hw/timer Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 27/30] trace: Fix parameter types in hw/usb Eric Blake
2017-03-14 9:16 ` Gerd Hoffmann
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 28/30] trace: Fix parameter types in hw/vfio Eric Blake
2017-03-13 19:55 ` [Qemu-devel] [PATCH v2 29/30] trace: Fix parameter types in hw/virtio Eric Blake
2017-03-16 7:45 ` Stefan Hajnoczi
2017-03-13 19:55 ` [Qemu-devel] [RFC PATCH v2 30/30] trace: Force compiler warnings on trace parameter type mismatches Eric Blake
2017-03-15 19:59 ` Eric Blake
2017-03-16 7:28 ` Stefan Hajnoczi
2017-03-13 20:27 ` [Qemu-devel] [PATCH for-2.9 v2 00/30] trace type mismatch cleanups no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=89b9b8e6-b5ca-8056-783b-598e07bf5da0@redhat.com \
--to=eblake@redhat.com \
--cc=dgilbert@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).