On 11/06/21 00:47, Jing Zhang wrote:
Hi Paolo,
On Thu, Jun 10, 2021 at 11:23 AM Paolo Bonzini <pbonzini@xxxxxxxxxx> 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