Re: Re: [PATCH 02/17] tracing/probes: Fix basic print type functions

From: Masami Hiramatsu
Date: Wed Nov 27 2013 - 23:16:21 EST


(2013/11/27 23:39), Namhyung Kim wrote:
> Hi Masami,
>
> 2013-11-27 (ì), 20:57 +0900, Masami Hiramatsu:
>> (2013/11/27 15:19), Namhyung Kim wrote:
>>>
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(u8, "%x", unsigned int)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(u16, "%x", unsigned int)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(u32, "%lx", unsigned long)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(u64, "%llx", unsigned long long)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(s8, "%d", int)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(s16, "%d", int)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(s32, "%ld", long)
>>> -DEFINE_BASIC_PRINT_TYPE_FUNC(s64, "%lld", long long)
>>> +DEFINE_BASIC_PRINT_TYPE_FUNC(u8 , "%#x")
>>> +DEFINE_BASIC_PRINT_TYPE_FUNC(u16, "%#x")
>>> +DEFINE_BASIC_PRINT_TYPE_FUNC(u32, "%#x")
>>> +DEFINE_BASIC_PRINT_TYPE_FUNC(u64, "%#Lx")
>>
>> As I said I'd like to ask you to change it in %x.
>>
>> I just checked in Fedora18, but %#x is not supported on this glibc-2.17.
>> Since this format is exported via debugfs (format file), I think %x is
>> better.
>
> Hmm.. but in most cases it's used for printf() not scanf(), right? In
> that case adding 0x prefix will help human readers a lot.
>
> How about mandating the prefix with "0x%x"? This way it can be used
> both for printf() and scanf() IMHO.

Agreed, you can just use "0x%x" in above case instead of "%#x". :)
For other traceevents, from the human readability point of view,
I think we should move all the event format should use 0x%x instead
of %x, because sometimes it confuse users (e.g. 100 => 0x64, without 0x,
it is just "64").

Thank you,

--
Masami HIRAMATSU
IT Management Research Dept. Linux Technology Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@xxxxxxxxxxx


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/