|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT PATCH 2/8] lib/ukdebug: Register a tracepoint
Hi,
Costin Lupu <costin.lup@xxxxxxxxx> writes:
> Hi Yuri,
>
> Please see my comments inline.
>
> On 5/10/19 9:29 PM, Yuri Volchkov wrote:
>> Build code with assertions.
>>
>> +menuconfig LIBUKDEBUG_TRACEPOINTS
>> + bool "enable tracepoints"
>
> If there will be a v2, please properly edit this string, inline with the
> other config options of Unikraft.
Could you be more specific about this please?
>> +#define __UK_TRACE_GET_TYPE(arg) ( \
>> + __builtin_types_compatible_p(typeof(arg), const char *) * \
>> + __UK_TRACE_ARG_STRING + \
>> + __builtin_types_compatible_p(typeof(arg), char *) * \
>> + __UK_TRACE_ARG_STRING + \
>> + 0)
>
> Do we really need this +0 ?
That's just to make it look more beautiful. That all lines of
__builtin_types look the same. And also for better patches extending
this functionality. Those patches will have just +lines for added
types.
That is just a matter of a taste. I would keep it this way if you do not
mind too much.
>> +#define __UK_TRACE_REG(NR, regname, trace_name, fmt, ...) \
>> + UK_CTASSERT(sizeof(#trace_name) < 255); \
>> + UK_CTASSERT(sizeof(fmt) < 255); \
>> + __attribute((__section__(".uk_tracepoints_list"))) \
>> + static struct { \
>> + uint32_t magic; \
>> + uint32_t size; \
>> + uint64_t cookie; \
>> + uint8_t args_nr; \
>> + uint8_t name_len; \
>> + uint8_t format_len; \
>> + uint8_t sizes[NR]; \
>> + uint8_t types[NR]; \
>
> If we get rid of the n parameter in FOREACH, then we can also get rid
> of the NR parameter. I don't feel strong about this one, it's your call.
As I said already, this NR is for simpler macro. NR_ARGS everywhere is
really does look bad. I had it originally and later I introduced the
NR. I think you have an access to the earlier version, so you probably
could compare.
--
Yuri Volchkov
Software Specialist
NEC Europe Ltd
Kurfürsten-Anlage 36
D-69115 Heidelberg
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |