[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87o8qi4pae.fsf@nanos.tec.linutronix.de>
Date: Wed, 20 May 2020 17:08:41 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Andy Lutomirski <luto@...nel.org>
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 30/37] x86/entry: Convert reschedule interrupt to IDTENTRY_RAW
Andy Lutomirski <luto@...nel.org> writes:
> On Fri, May 15, 2020 at 5:10 PM Thomas Gleixner <tglx@...utronix.de> wrote:
>>
>>
>> The scheduler IPI does not need the full interrupt entry handling logic
>> when the entry is from kernel mode.
>>
>> Even if tracing is enabled the only requirement is that RCU is watching and
>> preempt_count has the hardirq bit on.
>>
>> The NOHZ tick state does not have to be adjusted. If the tick is not
>> running then the CPU is in idle and the idle exit will restore the
>> tick. Softinterrupts are not raised here, so handling them on return is not
>> required either.
>>
>> User mode entry must go through the regular entry path as it will invoke
>> the scheduler on return so context tracking needs to be in the correct
>> state.
>>
>> Use IDTENTRY_RAW and the RCU conditional variants of idtentry_enter/exit()
>> to guarantee that RCU is watching even if the IPI hits a RCU idle section.
>>
>> Remove the tracepoint static key conditional which is incomplete
>> vs. tracing anyway because e.g. ack_APIC_irq() calls out into
>> instrumentable code.
>>
>> Avoid the overhead of irq time accounting and introduce variants of
>> __irq_enter/exit() so instrumentation observes the correct preempt count
>> state.
>
> Leftover text from an old version?
Indeed
> The code is Reviewed-by: Andy Lutomirski <luto@...nel.org>
Powered by blists - more mailing lists