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 |
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>
--- 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
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>