diff mbox series

x86/MCE-telem: drop unnecessary per-CPU field

Message ID 01d5464f-81c3-4b5d-92b6-08d9e22201ef@suse.com (mailing list archive)
State New
Headers show
Series x86/MCE-telem: drop unnecessary per-CPU field | expand

Commit Message

Jan Beulich Feb. 19, 2025, 10:01 a.m. UTC
struct mc_telem_cpu_ctl's processing field is used solely in
mctelem_process_deferred(), where the local variable can as well be used
directly when retrieving the head of the list to process. This then also
eliminates the field holding a dangling pointer once the processing of
the list finished, in particular when the entry is handed to
mctelem_dismiss().

No functional change intended.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

Comments

Andrew Cooper Feb. 19, 2025, 10:39 a.m. UTC | #1
On 19/02/2025 10:01 am, Jan Beulich wrote:
> struct mc_telem_cpu_ctl's processing field is used solely in
> mctelem_process_deferred(), where the local variable can as well be used
> directly when retrieving the head of the list to process. This then also
> eliminates the field holding a dangling pointer once the processing of
> the list finished, in particular when the entry is handed to
> mctelem_dismiss().
>
> No functional change intended.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
diff mbox series

Patch

--- a/xen/arch/x86/cpu/mcheck/mctelem.c
+++ b/xen/arch/x86/cpu/mcheck/mctelem.c
@@ -122,7 +122,6 @@  struct mc_telem_cpu_ctl {
 	 * to guarantee the above mutual exclusivity.
 	 */
 	struct mctelem_ent *pending, *lmce_pending;
-	struct mctelem_ent *processing;
 };
 static DEFINE_PER_CPU(struct mc_telem_cpu_ctl, mctctl);
 
@@ -233,9 +232,7 @@  void mctelem_process_deferred(unsigned i
 	 * handled by another round of MCE softirq.
 	 */
 	mctelem_xchg_head(lmce ? &ctl->lmce_pending : &ctl->pending,
-			  &this_cpu(mctctl.processing), NULL);
-
-	head = this_cpu(mctctl.processing);
+			  &head, NULL);
 
 	/*
 	 * Then, fix up the list to include prev pointers, to make