On 6/17/20 1:00 PM, Thomas Monjalon wrote:
> 17/06/2020 08:30, jer...@marvell.com:
>> From: Jerin Jacob <jer...@marvell.com>
>>
>> Introducing the RTE_LOG_REGISTER macro to avoid the code duplication
>> in the log registration process.
>>
>> It is a wrapper macro for declaring the logtype, register the log and sets
>> it's level in the constructor context.
>>
>> Signed-off-by: Jerin Jacob <jer...@marvell.com>
>> ---
>> --- a/lib/librte_eal/include/rte_log.h
>> +++ b/lib/librte_eal/include/rte_log.h
>> +#define RTE_LOG_REGISTER(type, name, level)                 \
>> +int type;                                                   \
>> +RTE_INIT(__##type)                                          \
>> +{                                                           \
>> +    type = rte_log_register(RTE_STR(name));                 \
>> +    if (type >= 0)                                          \
>> +            rte_log_set_level(type, RTE_LOG_##level);       \
>> +}
> 
> It should use rte_log_register_type_and_pick_level()
> which works for drivers loaded later in the init sequence.

Yes, rte_log_register_type_and_pick_level() should be used.
Otherwise, if a driver is loaded (the constructor is called)
after --log-level options processing, the level set using
the option is not applied.

> rte_log_register() should be deprecated.

+1

Reply via email to