[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrUv0N5Lc2-JVpmw1pXKg0QmZO0yziVZXCVopuCHpzUzug@mail.gmail.com>
Date: Tue, 19 May 2020 13:12:35 -0700
From: Andy Lutomirski <luto@...nel.org>
To: Thomas Gleixner <tglx@...utronix.de>
Cc: LKML <linux-kernel@...r.kernel.org>, X86 ML <x86@...nel.org>,
"Paul E. McKenney" <paulmck@...nel.org>,
Andy Lutomirski <luto@...nel.org>,
Alexandre Chartre <alexandre.chartre@...cle.com>,
Frederic Weisbecker <frederic@...nel.org>,
Paolo Bonzini <pbonzini@...hat.com>,
Sean Christopherson <sean.j.christopherson@...el.com>,
Masami Hiramatsu <mhiramat@...nel.org>,
Petr Mladek <pmladek@...e.com>,
Steven Rostedt <rostedt@...dmis.org>,
Joel Fernandes <joel@...lfernandes.org>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Juergen Gross <jgross@...e.com>,
Brian Gerst <brgerst@...il.com>,
Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Will Deacon <will@...nel.org>,
Tom Lendacky <thomas.lendacky@....com>,
Wei Liu <wei.liu@...nel.org>,
Michael Kelley <mikelley@...rosoft.com>,
Jason Chen CJ <jason.cj.chen@...el.com>,
Zhao Yakui <yakui.zhao@...el.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>
Subject: Re: [patch V6 13/37] x86/entry: Switch page fault exception to IDTENTRY_RAW
On Fri, May 15, 2020 at 5:10 PM Thomas Gleixner <tglx@...utronix.de> wrote:
>
>
> Convert page fault exceptions to IDTENTRY_RAW:
> - Implement the C entry point with DEFINE_IDTENTRY_RAW
> - Add the CR2 read into the exception handler
> - Add the idtentry_enter/exit_cond_rcu() invocations in
> in the regular page fault handler and use the regular
> idtentry_enter/exit() for the async PF part.
> - Emit the ASM stub with DECLARE_IDTENTRY_RAW
> - Remove the ASM idtentry in 64bit
> - Remove the CR2 read from 64bit
> - Remove the open coded ASM entry code in 32bit
> - Fixup the XEN/PV code
> - Remove the old prototypes
>
Acked-by: Andy Lutomirski <luto@...nel.org>
although if you make the irq_enter_cond_rcu() mode unconditional, then
this comment can go away too:
> + /*
> + * Entry handling for valid #PF from kernel mode is slightly
> + * different: RCU is already watching and rcu_irq_enter() must not
> + * be invoked because a kernel fault on a user space address might
> + * sleep.
> + *
> + * In case the fault hit a RCU idle region the conditional entry
> + * code reenabled RCU to avoid subsequent wreckage which helps
> + * debugability.
> + */
> + rcu_exit = idtentry_enter_cond_rcu(regs);
--Andy
Powered by blists - more mailing lists