在 2023年03月21日 20:30, Xi Ruoyao 写道:
On Tue, 2023-03-21 at 11:56 +0800, Tianrui Zhao wrote:
+/* Tracepoints for VM exits */
+#define kvm_trace_symbol_exit_types \
+ ({ KVM_TRACE_EXIT_IDLE, "IDLE" }, \
+ { KVM_TRACE_EXIT_CACHE, "CACHE" }, \
+ { KVM_TRACE_EXIT_SIGNAL, "Signal" })
Looks like there shouldn't be "(" and ")".
+#define kvm_trace_symbol_aux_op \
+ ({ KVM_TRACE_AUX_RESTORE, "restore" }, \
+ { KVM_TRACE_AUX_SAVE, "save" }, \
+ { KVM_TRACE_AUX_ENABLE, "enable" }, \
+ { KVM_TRACE_AUX_DISABLE, "disable" }, \
+ { KVM_TRACE_AUX_DISCARD, "discard" })
Likewise.
See the test robot report, and https://godbolt.org/z/bE8q97z1o.
The lesson: if a text book claims "you should always wrap the content of
a macro in ( ... )", we should burn it in the fire! :)
Thanks, it should remove the "()" statement in the macros. The reason I
did this before because an error was triggered when I use checkpatch.py
to check it, and now I know this error can be ignored.
Thanks
Tianrui Zhao