Re: [PATCH v7 2/4] KVM: stats: Add fd-based API to read binary stats data

Paolo Bonzini
2021-06-11T10:33:04Z

On 11/06/21 00:47, Jing Zhang wrote:
> Hi Paolo,
>
> On Thu, Jun 10, 2021 at 11:23 AM Paolo Bonzini <pbonzini@redhat.com> wrote:
>>
>> On 03/06/21 23:14, Jing Zhang wrote:
>>> +#define DEFINE_VM_STATS_DESC(...) { \
>>> + STATS_DESC_COUNTER("remote_tlb_flush"), \
>>> + ## __VA_ARGS__ \
>>> +}
>>> +
>>> +#define DEFINE_VCPU_STATS_DESC(...) { \
>>> + STATS_DESC_COUNTER("halt_successful_poll"), \
>>> + STATS_DESC_COUNTER("halt_attempted_poll"), \
>>> + STATS_DESC_COUNTER("halt_poll_invalid"), \
>>> + STATS_DESC_COUNTER("halt_wakeup"), \
>>> + STATS_DESC_TIME_NSEC("halt_poll_success_ns"), \
>>> + STATS_DESC_TIME_NSEC("halt_poll_fail_ns"), \
>>> + ## __VA_ARGS__ \
>>
>> Let's instead put this (note it's without braces) in macros like these
>>
>> #define KVM_GENERIC_VM_STATS() \
>> STATS_DESC_COUNTER("remote_tlb_flush"),
>>
>> #define KVM_GENERIC_VCPU_STATS(...) \
>> STATS_DESC_COUNTER("halt_successful_poll"), \
>> STATS_DESC_COUNTER("halt_attempted_poll"), \
>> STATS_DESC_COUNTER("halt_poll_invalid"), \
>> STATS_DESC_COUNTER("halt_wakeup"), \
>> STATS_DESC_TIME_NSEC("halt_poll_success_ns"), \
>> STATS_DESC_TIME_NSEC("halt_poll_fail_ns"),
>>
>> and it can be used in the arch files. In fact it can even be added in patch 1 and
>> switched to STATS_DESC_* here.
>>
>> Paolo
>>
> I just remember that the reason I used braces is due to following
> error from checkpatch.pl:
> ERROR: Macros with complex values should be enclosed in parentheses

No, just ignore the bogus error from checkpatch.pl. But, thanks for
checking!

Paolo