Message ID | 20250115073640.77099-3-nik.borisov@suse.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Make mce_notify_irq() static | expand |
> From: Nikolay Borisov <nik.borisov@suse.com> > [...] > Subject: [RESEND PATCH 2/3] x86/mce: Make mce_notify_irq() static > > It's no longer used outside of core.c so let's make it static. No functional > changes. > > Signed-off-by: Nikolay Borisov <nik.borisov@suse.com> > --- > arch/x86/include/asm/mce.h | 2 -- > arch/x86/kernel/cpu/mce/core.c | 43 +++++++++++++++++----------------- > 2 files changed, 22 insertions(+), 23 deletions(-) > > diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index > eb2db07ef39c..6c77c03139f7 100644 > --- a/arch/x86/include/asm/mce.h > +++ b/arch/x86/include/asm/mce.h > @@ -296,8 +296,6 @@ enum mcp_flags { > > void machine_check_poll(enum mcp_flags flags, mce_banks_t *b); > > -bool mce_notify_irq(void); > - > DECLARE_PER_CPU(struct mce, injectm); > > /* Disable CMCI/polling for MCA bank claimed by firmware */ diff --git > a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c index > 23e5e7f7c554..89625ff79c3b 100644 > --- a/arch/x86/kernel/cpu/mce/core.c > +++ b/arch/x86/kernel/cpu/mce/core.c > @@ -584,6 +584,28 @@ bool mce_is_correctable(struct mce *m) } > EXPORT_SYMBOL_GPL(mce_is_correctable); > > +/* > + * Notify the user(s) about new machine check events. > + * Can be called from interrupt context, but not from machine check/NMI > + * context. > + */ > +static int mce_notify_irq(void) > +{ > + /* Not more than two messages every minute */ > + static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); > + > + if (test_and_clear_bit(0, &mce_need_notify)) { > + mce_work_trigger(); > + > + if (__ratelimit(&ratelimit)) > + pr_info(HW_ERR "Machine check events logged\n"); > + > + return 1; > + } > + > + return 0; > +} > + Did you mistakenly change the return value type to int?
On 15.01.25 г. 15:37 ч., Zhuo, Qiuxu wrote: >> From: Nikolay Borisov <nik.borisov@suse.com> >> [...] >> Subject: [RESEND PATCH 2/3] x86/mce: Make mce_notify_irq() static >> >> It's no longer used outside of core.c so let's make it static. No functional >> changes. >> >> Signed-off-by: Nikolay Borisov <nik.borisov@suse.com> >> --- >> arch/x86/include/asm/mce.h | 2 -- >> arch/x86/kernel/cpu/mce/core.c | 43 +++++++++++++++++----------------- >> 2 files changed, 22 insertions(+), 23 deletions(-) >> >> diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index >> eb2db07ef39c..6c77c03139f7 100644 >> --- a/arch/x86/include/asm/mce.h >> +++ b/arch/x86/include/asm/mce.h >> @@ -296,8 +296,6 @@ enum mcp_flags { >> >> void machine_check_poll(enum mcp_flags flags, mce_banks_t *b); >> >> -bool mce_notify_irq(void); >> - >> DECLARE_PER_CPU(struct mce, injectm); >> >> /* Disable CMCI/polling for MCA bank claimed by firmware */ diff --git >> a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c index >> 23e5e7f7c554..89625ff79c3b 100644 >> --- a/arch/x86/kernel/cpu/mce/core.c >> +++ b/arch/x86/kernel/cpu/mce/core.c >> @@ -584,6 +584,28 @@ bool mce_is_correctable(struct mce *m) } >> EXPORT_SYMBOL_GPL(mce_is_correctable); >> >> +/* >> + * Notify the user(s) about new machine check events. >> + * Can be called from interrupt context, but not from machine check/NMI >> + * context. >> + */ >> +static int mce_notify_irq(void) >> +{ >> + /* Not more than two messages every minute */ >> + static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); >> + >> + if (test_and_clear_bit(0, &mce_need_notify)) { >> + mce_work_trigger(); >> + >> + if (__ratelimit(&ratelimit)) >> + pr_info(HW_ERR "Machine check events logged\n"); >> + >> + return 1; >> + } >> + >> + return 0; >> +} >> + > > Did you mistakenly change the return value type to int? It was int on master, where this patch originated from. Whereas on core/ras there's c845cb8dbd2e1a804babfd13648026c3a7cfbc0b which changes the function to bool. So I guess it's a rebase artifact, will fix it on next submission, but I will wait for more feedback.
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index eb2db07ef39c..6c77c03139f7 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h @@ -296,8 +296,6 @@ enum mcp_flags { void machine_check_poll(enum mcp_flags flags, mce_banks_t *b); -bool mce_notify_irq(void); - DECLARE_PER_CPU(struct mce, injectm); /* Disable CMCI/polling for MCA bank claimed by firmware */ diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c index 23e5e7f7c554..89625ff79c3b 100644 --- a/arch/x86/kernel/cpu/mce/core.c +++ b/arch/x86/kernel/cpu/mce/core.c @@ -584,6 +584,28 @@ bool mce_is_correctable(struct mce *m) } EXPORT_SYMBOL_GPL(mce_is_correctable); +/* + * Notify the user(s) about new machine check events. + * Can be called from interrupt context, but not from machine check/NMI + * context. + */ +static int mce_notify_irq(void) +{ + /* Not more than two messages every minute */ + static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); + + if (test_and_clear_bit(0, &mce_need_notify)) { + mce_work_trigger(); + + if (__ratelimit(&ratelimit)) + pr_info(HW_ERR "Machine check events logged\n"); + + return 1; + } + + return 0; +} + static int mce_early_notifier(struct notifier_block *nb, unsigned long val, void *data) { @@ -1773,27 +1795,6 @@ static void mce_timer_delete_all(void) del_timer_sync(&per_cpu(mce_timer, cpu)); } -/* - * Notify the user(s) about new machine check events. - * Can be called from interrupt context, but not from machine check/NMI - * context. - */ -bool mce_notify_irq(void) -{ - /* Not more than two messages every minute */ - static DEFINE_RATELIMIT_STATE(ratelimit, 60*HZ, 2); - - if (test_and_clear_bit(0, &mce_need_notify)) { - mce_work_trigger(); - - if (__ratelimit(&ratelimit)) - pr_info(HW_ERR "Machine check events logged\n"); - - return true; - } - return false; -} - static void __mcheck_cpu_mce_banks_init(void) { struct mce_bank *mce_banks = this_cpu_ptr(mce_banks_array);
It's no longer used outside of core.c so let's make it static. No functional changes. Signed-off-by: Nikolay Borisov <nik.borisov@suse.com> --- arch/x86/include/asm/mce.h | 2 -- arch/x86/kernel/cpu/mce/core.c | 43 +++++++++++++++++----------------- 2 files changed, 22 insertions(+), 23 deletions(-) -- 2.43.0