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
So, just keep it as it is?
Thanks, Jing