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

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to