All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Santosh Sivaraj <santosh@fossix.org>
Cc: x86@kernel.org, Linux Kernel <linux-kernel@vger.kernel.org>,
	"H. Peter Anvin" <hpa@zytor.com>,
	"Aneesh Kumar K.V" <aneesh.kumar@linux.ibm.com>
Subject: Re: [PATCH] x86/mce: Remove redundant irq work
Date: Tue, 30 Jul 2019 10:19:19 +0200	[thread overview]
Message-ID: <20190730081919.GI31381@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20190730061520.19953-1-santosh@fossix.org>

On Tue, Jul 30, 2019 at 11:45:20AM +0530, Santosh Sivaraj wrote:
> IRQ work currently only does a schedule work to process the mce
> events. Since irq work does no other function, remove it.
> 
> Signed-off-by: Santosh Sivaraj <santosh@fossix.org>

NAK this is broken. MCE is NMI like.

> ---
>  arch/x86/kernel/cpu/mce/core.c | 12 +++---------
>  1 file changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
> index 743370ee4983..658da808c031 100644
> --- a/arch/x86/kernel/cpu/mce/core.c
> +++ b/arch/x86/kernel/cpu/mce/core.c
> @@ -119,7 +119,7 @@ DEFINE_PER_CPU(mce_banks_t, mce_poll_banks) = {
>  mce_banks_t mce_banks_ce_disabled;
>  
>  static struct work_struct mce_work;
> -static struct irq_work mce_irq_work;
> +static void mce_schedule_work(void);
>  
>  static void (*quirk_no_way_out)(int bank, struct mce *m, struct pt_regs *regs);
>  
> @@ -154,7 +154,7 @@ EXPORT_PER_CPU_SYMBOL_GPL(injectm);
>  void mce_log(struct mce *m)
>  {
>  	if (!mce_gen_pool_add(m))
> -		irq_work_queue(&mce_irq_work);
> +		mce_schedule_work();
>  }
>  
>  void mce_inject_log(struct mce *m)
> @@ -472,11 +472,6 @@ static void mce_schedule_work(void)
>  		schedule_work(&mce_work);
>  }
>  
> -static void mce_irq_work_cb(struct irq_work *entry)
> -{
> -	mce_schedule_work();
> -}
> -
>  /*
>   * Check if the address reported by the CPU is in a format we can parse.
>   * It would be possible to add code for most other cases, but all would
> @@ -1333,7 +1328,7 @@ void do_machine_check(struct pt_regs *regs, long error_code)
>  		mce_panic("Fatal machine check on current CPU", &m, msg);
>  
>  	if (worst > 0)
> -		irq_work_queue(&mce_irq_work);
> +		mce_schedule_work();
>  
>  	mce_wrmsrl(MSR_IA32_MCG_STATUS, 0);
>  
> @@ -1984,7 +1979,6 @@ int __init mcheck_init(void)
>  	mcheck_vendor_init_severity();
>  
>  	INIT_WORK(&mce_work, mce_gen_pool_process);
> -	init_irq_work(&mce_irq_work, mce_irq_work_cb);
>  
>  	return 0;
>  }
> -- 
> 2.20.1
> 

  reply	other threads:[~2019-07-30  8:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30  6:15 [PATCH] x86/mce: Remove redundant irq work Santosh Sivaraj
2019-07-30  8:19 ` Peter Zijlstra [this message]
2019-07-30  8:44 ` Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190730081919.GI31381@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=aneesh.kumar@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=santosh@fossix.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.