Re: [Qemu-devel] [PATCH v2 1/4] coding_style: add point about 0x in trace-events

2017-07-31 Thread Eric Blake
On 07/31/2017 04:19 AM, Stefan Hajnoczi wrote:
> On Sat, Jul 29, 2017 at 04:11:56PM +0300, Vladimir Sementsov-Ogievskiy wrote:
>> Signed-off-by: Vladimir Sementsov-Ogievskiy 
>> ---
>>  CODING_STYLE | 23 +++
>>  1 file changed, 23 insertions(+)
>>
>> diff --git a/CODING_STYLE b/CODING_STYLE
>> index 2fa0c0b65b..2e6a0507be 100644
>> --- a/CODING_STYLE
>> +++ b/CODING_STYLE
>> @@ -123,3 +123,26 @@ We use traditional C-style /* */ comments and avoid // 
>> comments.
>>  
>>  Rationale: The // form is valid in C99, so this is purely a matter of
>>  consistency of style. The checkpatch script will warn you about this.
>> +
>> +8. trace-events style
>> +
>> +In trace-events files use '0x' prefix to specify hex numbers, as in:
> 
> s/use '0x' prefix/use a '0x' prefix/

Also s/files/files,/

> 
>> +
>> +some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64
>> +
>> +The exclusion is a group of numbers, separated by symbols '.', '/', ':', ' 
>> ':
> 
> A little bit more background helps make this exception clearer:
> 
> "An exception is made for groups of numbers that are hexadecimal by
> convention and separated by the symbols '.', '/', ':', or ' ' (such as
> PCI bus addresses):"
> 
>> +
>> +some_other_trace(unsigned a, unsigned b, unsigned c) "num %x.%x.%x"
>> +
>> +However, you can use '0x' for such groups if you want. Anyway, be sure that
>> +it is obvious that numbers are in hex, ex.:
>> +
>> +data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x 
>> %02x"
>> +
>> +For consistency do not use printf flag '#', like '%#x'.
>> +
>> +Rationale: hex numbers are hard to read in logs when there no 0x prefix,

The position of the rationale makes it sound like it applies to the last
paragraph (about avoiding %#x) rather than the section; but %#x provides
a 0x prefix (most of the time).  Better might be to have the rationale
on hex numbers being hard to read first, then the paragraph on avoiding
%#x, with a second rationale that %#x omits the 0x for the value 0 which
makes output inconsistent; or keep a single rationale paragraph, but add
a sentence to it explaining why %#x is not as nice.

> 
> s/there no/there is no/
> 
>> +especially when (occasionally) the representation doesn't contain any 
>> letters
>> +and especially in one line with other decimal numbers. Number groups are
>> +allowed to not use '0x' because for some things notations like %x.%x.%x are
>> +used not only in Qemu. Also dumping raw data bytes with '0x' is less 
>> readable.
>> -- 
>> 2.11.1
>>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.   +1-919-301-3266
Virtualization:  qemu.org | libvirt.org



signature.asc
Description: OpenPGP digital signature


Re: [Qemu-devel] [PATCH v2 1/4] coding_style: add point about 0x in trace-events

2017-07-31 Thread Stefan Hajnoczi
On Sat, Jul 29, 2017 at 04:11:56PM +0300, Vladimir Sementsov-Ogievskiy wrote:
> Signed-off-by: Vladimir Sementsov-Ogievskiy 
> ---
>  CODING_STYLE | 23 +++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/CODING_STYLE b/CODING_STYLE
> index 2fa0c0b65b..2e6a0507be 100644
> --- a/CODING_STYLE
> +++ b/CODING_STYLE
> @@ -123,3 +123,26 @@ We use traditional C-style /* */ comments and avoid // 
> comments.
>  
>  Rationale: The // form is valid in C99, so this is purely a matter of
>  consistency of style. The checkpatch script will warn you about this.
> +
> +8. trace-events style
> +
> +In trace-events files use '0x' prefix to specify hex numbers, as in:

s/use '0x' prefix/use a '0x' prefix/

> +
> +some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64
> +
> +The exclusion is a group of numbers, separated by symbols '.', '/', ':', ' ':

A little bit more background helps make this exception clearer:

"An exception is made for groups of numbers that are hexadecimal by
convention and separated by the symbols '.', '/', ':', or ' ' (such as
PCI bus addresses):"

> +
> +some_other_trace(unsigned a, unsigned b, unsigned c) "num %x.%x.%x"
> +
> +However, you can use '0x' for such groups if you want. Anyway, be sure that
> +it is obvious that numbers are in hex, ex.:
> +
> +data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x 
> %02x"
> +
> +For consistency do not use printf flag '#', like '%#x'.
> +
> +Rationale: hex numbers are hard to read in logs when there no 0x prefix,

s/there no/there is no/

> +especially when (occasionally) the representation doesn't contain any letters
> +and especially in one line with other decimal numbers. Number groups are
> +allowed to not use '0x' because for some things notations like %x.%x.%x are
> +used not only in Qemu. Also dumping raw data bytes with '0x' is less 
> readable.
> -- 
> 2.11.1
> 


signature.asc
Description: PGP signature


[Qemu-devel] [PATCH v2 1/4] coding_style: add point about 0x in trace-events

2017-07-29 Thread Vladimir Sementsov-Ogievskiy
Signed-off-by: Vladimir Sementsov-Ogievskiy 
---
 CODING_STYLE | 23 +++
 1 file changed, 23 insertions(+)

diff --git a/CODING_STYLE b/CODING_STYLE
index 2fa0c0b65b..2e6a0507be 100644
--- a/CODING_STYLE
+++ b/CODING_STYLE
@@ -123,3 +123,26 @@ We use traditional C-style /* */ comments and avoid // 
comments.
 
 Rationale: The // form is valid in C99, so this is purely a matter of
 consistency of style. The checkpatch script will warn you about this.
+
+8. trace-events style
+
+In trace-events files use '0x' prefix to specify hex numbers, as in:
+
+some_trace(unsigned x, uint64_t y) "x 0x%x y 0x" PRIx64
+
+The exclusion is a group of numbers, separated by symbols '.', '/', ':', ' ':
+
+some_other_trace(unsigned a, unsigned b, unsigned c) "num %x.%x.%x"
+
+However, you can use '0x' for such groups if you want. Anyway, be sure that
+it is obvious that numbers are in hex, ex.:
+
+data_dump(uint8_t c1, uint8_t c2, uint8_t c3) "bytes (in hex): %02x %02x %02x"
+
+For consistency do not use printf flag '#', like '%#x'.
+
+Rationale: hex numbers are hard to read in logs when there no 0x prefix,
+especially when (occasionally) the representation doesn't contain any letters
+and especially in one line with other decimal numbers. Number groups are
+allowed to not use '0x' because for some things notations like %x.%x.%x are
+used not only in Qemu. Also dumping raw data bytes with '0x' is less readable.
-- 
2.11.1