Re: [PATCH v4 05/29] LoongArch: KVM: Add vcpu related header files

From: Tianrui Zhao
Date: Tue Mar 21 2023 - 21:35:32 EST




在 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