All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com,
	vgupta@kernel.org, linux@armlinux.org.uk,
	ulli.kroll@googlemail.com, linus.walleij@linaro.org,
	shawnguo@kernel.org, Sascha Hauer <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	tony@atomide.com, khilman@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, guoren@kernel.org, bcain@quicinc.com,
	chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org,
	sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de,
	dinguyen@kernel.org, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	James.Bottomley@HansenPartnership.com, deller@gmx.de,
	mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com,
	agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
	svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org,
	davem@davemloft.net, richard@nod.at,
	anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	acme@kernel.org, alexander.shishkin@linux.intel.com,
	jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com,
	srivatsa@csail.mit.edu, amakhalov@vmware.com,
	pv-drivers@vmware.com, boris.ostrovsky@oracle.com,
	chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org,
	lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	daniel.lezcano@linaro.org, lpieralisi@kernel.org,
	sudeep.holla@arm.com, agross@kernel.org,
	bjorn.andersson@linaro.org, anup@brainfault.org,
	thierry.reding@gmail.com, jonathanh@nvidia.com,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	yury.norov@gmail.com, andriy.shevchenko@linux.intel.com,
	linux@rasmusvillemoes.dk, rostedt@goodmis.org, pmladek@suse.com,
	senozhatsky@chromium.org, john.ogness@linutronix.de,
	paulmck@kernel.org, frederic@kernel.org,
	quic_neeraju@quicinc.com, josh@joshtriplett.org,
	mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
	joel@joelfernandes.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
	vschneid@redhat.com, jpoimboe@kernel.org,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-xtensa@linux-xtensa.org,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org,
	rcu@vger.kernel.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com,
	vgupta@kernel.org, linux@armlinux.org.uk,
	ulli.kroll@googlemail.com, linus.walleij@linaro.org,
	shawnguo@kernel.org, Sascha Hauer <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	tony@atomide.com, khilman@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, guoren@kernel.org, bcain@quicinc.com,
	chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org,
	sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de,
	dinguyen@kernel.org, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	James.Bottomley@HansenPartnership.com, deller@gmx.de,
	mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com,
	agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
	svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org,
	davem@davemloft.net, richard@nod.at,
	anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	acme@kernel.org, alexander.shishkin@linux.intel.com,
	jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com,
	srivatsa@csail.mit.edu, amakhalov@vmware.com,
	pv-drivers@vmware.com, boris.ostrovsky@oracle.com,
	chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org,
	lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	daniel.lezcano@linaro.org, lpieralisi@kernel.org,
	sudeep.holla@arm.com, agross@kernel.org,
	bjorn.andersson@linaro.org, anup@brainfault.org,
	thierry.reding@gmail.com, jonathanh@nvidia.com,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	yury.norov@gmail.com, andriy.shevchenko@linux.intel.com,
	linux@rasmusvillemoes.dk, rostedt@goodmis.org, pmladek@suse.com,
	senozhatsky@chromium.org, john.ogness@linutronix.de,
	paulmck@kernel.org, frederic@kernel.org,
	quic_neeraju@quicinc.com, josh@joshtriplett.org,
	mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
	joel@joelfernandes.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
	vschneid@redhat.com, jpoimboe@kernel.org,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-xtensa@linux-xtensa.org,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org,
	rcu@vger.kernel.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

_______________________________________________
linux-snps-arc mailing list
linux-snps-arc@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-snps-arc

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: juri.lelli@redhat.com, rafael@kernel.org,
	benh@kernel.crashing.org, linus.walleij@linaro.org,
	bsegall@google.com, guoren@kernel.org, pavel@ucw.cz,
	agordeev@linux.ibm.com, linux-arch@vger.kernel.org,
	vincent.guittot@linaro.org, mpe@ellerman.id.au,
	chenhuacai@kernel.org, linux-acpi@vger.kernel.org,
	agross@kernel.org, geert@linux-m68k.org, linux-imx@nxp.com,
	catalin.marinas@arm.com, xen-devel@lists.xenproject.org,
	mattst88@gmail.com, mturquette@baylibre.com, sammy@sammy.net,
	pmladek@suse.com, linux-pm@vger.kernel.org,
	jiangshanlai@gmail.com, Sascha Hauer <s.hauer@pengutronix.de>,
	linux-um@lists.infradead.org, acme@kernel.org,
	tglx@linutronix.de, linux-omap@vger.kernel.org,
	dietmar.eggemann@arm.com, rth@twiddle.net,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, senozhatsky@chromium.org,
	svens@linux.ibm.com, jolsa@kernel.org, paulus@samba.org,
	linux-ia64@vger.kernel.org, dave.hansen@linux.intel.com,
	virtualization@lists.linux-foundation.org,
	James.Bottomley@HansenPartnership.com, jcmvbkbc@gmail.com,
	thierry.reding@gmail.com, kernel@xen0n.name,
	quic_neeraju@quicinc.com, linux-s390@vger.kernel.org,
	vschneid@redhat.com, john.ogness@linutronix.de,
	ysato@users.sourceforge.jp, linux-sh@vger.kernel.org,
	festevam@gmail.com, deller@gmx.de, daniel.lezcano@linaro.org,
	jonathanh@nvidia.com, mathieu.desnoyers@efficios.com,
	frederic@kernel.org, lenb@kernel.org,
	linux-xtensa@linux-xtensa.org, kernel@pengutronix.de,
	gor@linux.ibm.com, linux-arm-msm@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	shorne@gmail.com, linux-arm-kernel@lists.infradead.org,
	chris@zankel.net, sboyd@kernel.org, dinguyen@kernel.org,
	bristot@redhat.com, alexander.shishkin@linux.intel.com,
	lpieralisi@kernel.org, linux@rasmusvillemoes.dk,
	joel@joelfernandes.org, will@kernel.org,
	boris.ostrovsky@oracle.com, khilman@kernel.org,
	linux-csky@vger.kernel.org, pv-drivers@vmware.com,
	linux-snps-arc@lists.infradead.org, mgorman@suse.de,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	ulli.kroll@googlemail.com, vgupta@kernel.org,
	linux-clk@vger.kernel.org, josh@joshtriplett.org,
	rostedt@goodmis.org, rcu@vger.kernel.org, bp@alien8.de,
	bcain@quicinc.com, tsbogend@alpha.franken.de,
	linux-parisc@vger.kernel.org, sudeep.holla@arm.com,
	shawnguo@kernel.org, davem@davemloft.net, dalias@libc.org,
	tony@atomide.com, amakhalov@vmware.com,
	bjorn.andersson@linaro.org, hpa@zytor.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, anton.ivanov@cambridgegreys.com,
	jonas@southpole.se, yury.norov@gmail.com, richard@nod.at,
	x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
	aou@eecs.berkeley.edu, paulmck@kernel.org, hca@linux.ibm.com,
	stefan.kristiansson@saunalahti.fi, openrisc@lists.librecores.org,
	paul.walmsley@sifive.com, linux-tegra@vger.kernel.org,
	namhyung@kernel.org, andriy.shevchenko@linux.intel.com,
	jpoimboe@kernel.org, jgross@suse.com, monstr@monstr.eu,
	linux-mips@vger.kernel.org, palmer@dabbelt.com,
	anup@brainfault.org, ink@jurassic.park.msu.ru,
	johannes@sipsolutions.net, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.
_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com,
	vgupta@kernel.org, linux@armlinux.org.uk,
	ulli.kroll@googlemail.com, linus.walleij@linaro.org,
	shawnguo@kernel.org, Sascha Hauer <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	tony@atomide.com, khilman@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, guoren@kernel.org, bcain@quicinc.com,
	chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org,
	sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de,
	dinguyen@kernel.org, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	James.Bottomley@HansenPartnership.com, deller@gmx.de,
	mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com,
	agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
	svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org,
	davem@davemloft.net, richard@nod.at,
	anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	acme@kernel.org, alexander.shishkin@linux.intel.com,
	jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com,
	srivatsa@csail.mit.edu, amakhalov@vmware.com,
	pv-drivers@vmware.com, boris.ostrovsky@oracle.com,
	chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org,
	lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	daniel.lezcano@linaro.org, lpieralisi@kernel.org,
	sudeep.holla@arm.com, agross@kernel.org,
	bjorn.andersson@linaro.org, anup@brainfault.org,
	thierry.reding@gmail.com, jonathanh@nvidia.com,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	yury.norov@gmail.com, andriy.shevchenko@linux.intel.com,
	linux@rasmusvillemoes.dk, rostedt@goodmis.org, pmladek@suse.com,
	senozhatsky@chromium.org, john.ogness@linutronix.de,
	paulmck@kernel.org, frederic@kernel.org,
	quic_neeraju@quicinc.com, josh@joshtriplett.org,
	mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
	joel@joelfernandes.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
	vschneid@redhat.com, jpoimboe@kernel.org,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-xtensa@linux-xtensa.org,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org,
	rcu@vger.kernel.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: juri.lelli@redhat.com, rafael@kernel.org,
	benh@kernel.crashing.org, linus.walleij@linaro.org,
	bsegall@google.com, guoren@kernel.org, pavel@ucw.cz,
	agordeev@linux.ibm.com, srivatsa@csail.mit.edu,
	linux-arch@vger.kernel.org, vincent.guittot@linaro.org,
	mpe@ellerman.id.au, chenhuacai@kernel.org,
	linux-acpi@vger.kernel.org, agross@kernel.org, linux-imx@nxp.com,
	catalin.marinas@arm.com, xen-devel@lists.xenproject.org,
	mattst88@gmail.com, borntraeger@linux.ibm.com,
	mturquette@baylibre.com, sammy@sammy.net, pmladek@suse.com,
	linux-pm@vger.kernel.org, jiangshanlai@gmail.com,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-um@lists.infradead.org, acme@kernel.org,
	tglx@linutronix.de, linux-omap@vger.kernel.org,
	dietmar.eggemann@arm.com, rth@twiddle.net,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, senozhatsky@chromium.org,
	svens@linux.ibm.com, jolsa@kernel.org, paulus@samba.org,
	linux-ia64@vger.kernel.org, dave.hansen@linux.intel.com,
	virtualization@lists.linux-foundation.org,
	James.Bottomley@HansenPartnership.com, jcmvbkbc@gmail.com,
	thierry.reding@gmail.com, kernel@xen0n.name,
	quic_neeraju@quicinc.com, linux-s390@vger.kernel.org,
	vschneid@redhat.com, john.ogness@linutronix.de,
	ysato@users.sourceforge.jp, linux-sh@vger.kernel.org,
	festevam@gmail.com, deller@gmx.de, daniel.lezcano@linaro.org,
	jonathanh@nvidia.com, mathieu.desnoyers@efficios.com,
	frederic@kernel.org, lenb@kernel.org,
	linux-xtensa@linux-xtensa.org, kernel@pengutronix.de,
	gor@linux.ibm.com, linux-arm-msm@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-arm-kernel@lists.infradead.org, chris@zankel.net,
	sboyd@kernel.org, dinguyen@kernel.org, bristot@redhat.com,
	alexander.shishkin@linux.intel.com, lpieralisi@kernel.org,
	linux@rasmusvillemoes.dk, joel@joelfernandes.org,
	will@kernel.org, boris.ostrovsky@oracle.com, khilman@kernel.org,
	linux-csky@vger.kernel.org, pv-drivers@vmware.com,
	linux-snps-arc@lists.infradead.org, mgorman@suse.de,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	ulli.kroll@googlemail.com, vgupta@kernel.org,
	linux-clk@vger.kernel.org, josh@joshtriplett.org,
	rostedt@goodmis.org, rcu@vger.kernel.org, bp@alien8.de,
	bcain@quicinc.com, tsbogend@alpha.franken.de,
	linux-parisc@vger.kernel.org, sudeep.holla@arm.com,
	shawnguo@kernel.org, davem@davemloft.net, dalias@libc.org,
	tony@atomide.com, amakhalov@vmware.com,
	bjorn.andersson@linaro.org, hpa@zytor.com,
	sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-riscv@lists.infradead.org, anton.ivanov@cambridgegreys.com,
	jonas@southpole.se, yury.norov@gmail.com, richard@nod.at,
	x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com,
	aou@eecs.berkeley.edu, paulmck@kernel.org, hca@linux.ibm.com,
	openrisc@lists.librecores.org, paul.walmsley@sifive.com,
	linux-tegra@vger.kernel.org, namhyung@kernel.org,
	andriy.shevchenko@linux.intel.com, jpoimboe@kernel.org,
	jgross@suse.com, monstr@monstr.eu, linux-mips@vger.kernel.org,
	palmer@dabbelt.com, anup@brainfault.org,
	ink@jurassic.park.msu.ru, johannes@sipsolutions.net,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: juri.lelli@redhat.com, rafael@kernel.org,
	linus.walleij@linaro.org, bsegall@google.com, guoren@kernel.org,
	pavel@ucw.cz, agordeev@linux.ibm.com, srivatsa@csail.mit.edu,
	linux-arch@vger.kernel.org, vincent.guittot@linaro.org,
	chenhuacai@kernel.org, linux-acpi@vger.kernel.org,
	agross@kernel.org, geert@linux-m68k.org, linux-imx@nxp.com,
	catalin.marinas@arm.com, xen-devel@lists.xenproject.org,
	mattst88@gmail.com, borntraeger@linux.ibm.com,
	mturquette@baylibre.com, sammy@sammy.net, pmladek@suse.com,
	linux-pm@vger.kernel.org, jiangshanlai@gmail.com,
	Sascha Hauer <s.hauer@pengutronix.de>,
	linux-um@lists.infradead.org, acme@kernel.org,
	tglx@linutronix.de, linux-omap@vger.kernel.org,
	dietmar.eggemann@arm.com, rth@twiddle.net,
	gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org,
	linux-perf-users@vger.kernel.org, senozhatsky@chromium.org,
	svens@linux.ibm.com, jolsa@kernel.org, paulus@samba.org,
	linux-ia64@vger.kernel.org, dave.hansen@linux.intel.com,
	virtualization@lists.linux-foundati on.org,
	James.Bottomley@HansenPartnership.com, jcmvbkbc@gmail.com,
	thierry.reding@gmail.com, kernel@xen0n.name,
	quic_neeraju@quicinc.com, linux-s390@vger.kernel.org,
	vschneid@redhat.com, john.ogness@linutronix.de,
	ysato@users.sourceforge.jp, linux-sh@vger.kernel.org,
	festevam@gmail.com, deller@gmx.de, daniel.lezcano@linaro.org,
	jonathanh@nvidia.com, mathieu.desnoyers@efficios.com,
	frederic@kernel.org, lenb@kernel.org,
	linux-xtensa@linux-xtensa.org, kernel@pengutronix.de,
	gor@linux.ibm.com, linux-arm-msm@vger.kernel.org,
	linux-alpha@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	shorne@gmail.com, linux-arm-kernel@lists.infradead.org,
	chris@zankel.net, sboyd@kernel.org, dinguyen@kernel.org,
	bristot@redhat.com, alexander.shishkin@linux.intel.com,
	lpieralisi@kernel.org, linux@rasmusvillemoes.dk,
	joel@joelfernandes.org, will@kernel.org,
	boris.ostrovsky@oracle.com, khilman@kernel.org,
	linux-csky@vger.kernel.org, pv-drivers@vmware.com,
	linux-snps-arc@lists.infradead.org, mgorman@suse.de ,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

arndb.de>, ulli.kroll@googlemail.com, vgupta@kernel.org, linux-clk@vger.kernel.org, josh@joshtriplett.org, rostedt@goodmis.org, rcu@vger.kernel.org, bp@alien8.de, bcain@quicinc.com, tsbogend@alpha.franken.de, linux-parisc@vger.kernel.org, sudeep.holla@arm.com, shawnguo@kernel.org, davem@davemloft.net, dalias@libc.org, tony@atomide.com, amakhalov@vmware.com, bjorn.andersson@linaro.org, hpa@zytor.com, sparclinux@vger.kernel.org, linux-hexagon@vger.kernel.org, linux-riscv@lists.infradead.org, anton.ivanov@cambridgegreys.com, jonas@southpole.se, yury.norov@gmail.com, richard@nod.at, x86@kernel.org, linux@armlinux.org.uk, mingo@redhat.com, aou@eecs.berkeley.edu, paulmck@kernel.org, hca@linux.ibm.com, stefan.kristiansson@saunalahti.fi, openrisc@lists.librecores.org, paul.walmsley@sifive.com, linux-tegra@vger.kernel.org, namhyung@kernel.org, andriy.shevchenko@linux.intel.com, jpoimboe@kernel.org, jgross@suse.com, monstr@monstr.eu, linux-mips@vger.kernel.org, palmer@dabbelt.com, anup@brainfa
 ult.org, ink@jurassic.park.msu.ru, johannes@sipsolutions.net, linuxppc-dev@lists.ozlabs.org
Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org
Sender: "Linuxppc-dev" <linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com,
	vgupta@kernel.org, linux@armlinux.org.uk,
	ulli.kroll@googlemail.com, linus.walleij@linaro.org,
	shawnguo@kernel.org, Sascha Hauer <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	tony@atomide.com, khilman@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, guoren@kernel.org, bcain@quicinc.com,
	chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org,
	sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de,
	dinguyen@kernel.org, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	James.Bottomley@HansenPartnership.com, deller@gmx.de,
	mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	paul.walmsley@sifive.com, palmer@dabbelt.com,
	aou@eecs.berkeley.edu, hca@linux.ibm.com, gor@linux.ibm.com,
	agordeev@linux.ibm.com, borntraeger@linux.ibm.com,
	svens@linux.ibm.com, ysato@users.sourceforge.jp, dalias@libc.org,
	davem@davemloft.net, richard@nod.at,
	anton.ivanov@cambridgegreys.com, johannes@sipsolutions.net,
	tglx@linutronix.de, mingo@redhat.com, bp@alien8.de,
	dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	acme@kernel.org, alexander.shishkin@linux.intel.com,
	jolsa@kernel.org, namhyung@kernel.org, jgross@suse.com,
	srivatsa@csail.mit.edu, amakhalov@vmware.com,
	pv-drivers@vmware.com, boris.ostrovsky@oracle.com,
	chris@zankel.net, jcmvbkbc@gmail.com, rafael@kernel.org,
	lenb@kernel.org, pavel@ucw.cz, gregkh@linuxfoundation.org,
	mturquette@baylibre.com, sboyd@kernel.org,
	daniel.lezcano@linaro.org, lpieralisi@kernel.org,
	sudeep.holla@arm.com, agross@kernel.org,
	bjorn.andersson@linaro.org, anup@brainfault.org,
	thierry.reding@gmail.com, jonathanh@nvidia.com,
	jacob.jun.pan@linux.intel.com, Arnd Bergmann <arnd@arndb.de>,
	yury.norov@gmail.com, andriy.shevchenko@linux.intel.com,
	linux@rasmusvillemoes.dk, rostedt@goodmis.org, pmladek@suse.com,
	senozhatsky@chromium.org, john.ogness@linutronix.de,
	paulmck@kernel.org, frederic@kernel.org,
	quic_neeraju@quicinc.com, josh@joshtriplett.org,
	mathieu.desnoyers@efficios.com, jiangshanlai@gmail.com,
	joel@joelfernandes.org, juri.lelli@redhat.com,
	vincent.guittot@linaro.org, dietmar.eggemann@arm.com,
	bsegall@google.com, mgorman@suse.de, bristot@redhat.com,
	vschneid@redhat.com, jpoimboe@kernel.org,
	linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org, linux-omap@vger.kernel.org,
	linux-csky@vger.kernel.org, linux-hexagon@vger.kernel.org,
	linux-ia64@vger.kernel.org, linux-m68k@lists.linux-m68k.org,
	linux-mips@vger.kernel.org, openrisc@lists.librecores.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-sh@vger.kernel.org, sparclinux@vger.kernel.org,
	linux-um@lists.infradead.org, linux-perf-users@vger.kernel.org,
	virtualization@lists.linux-foundation.org,
	xen-devel@lists.xenproject.org, linux-xtensa@linux-xtensa.org,
	linux-acpi@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-clk@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-tegra@vger.kernel.org, linux-arch@vger.kernel.org,
	rcu@vger.kernel.org
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 11:19:29 +0000	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

WARNING: multiple messages have this Message-ID (diff)
From: Mark Rutland <mark.rutland@arm.com>
To: Peter Zijlstra <peterz@infradead.org>
Cc: rth@twiddle.net, ink@jurassic.park.msu.ru, mattst88@gmail.com,
	vgupta@kernel.org, linux@armlinux.org.uk,
	ulli.kroll@googlemail.com, linus.walleij@linaro.org,
	shawnguo@kernel.org, Sascha Hauer <s.hauer@pengutronix.de>,
	kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com,
	tony@atomide.com, khilman@kernel.org, catalin.marinas@arm.com,
	will@kernel.org, guoren@kernel.org, bcain@quicinc.com,
	chenhuacai@kernel.org, kernel@xen0n.name, geert@linux-m68k.org,
	sammy@sammy.net, monstr@monstr.eu, tsbogend@alpha.franken.de,
	dinguyen@kernel.org, jonas@southpole.se,
	stefan.kristiansson@saunalahti.fi, shorne@gmail.com,
	James.Bottomley@HansenPartnership.com, deller@gmx.de,
	mpe@ellerman.id.au, benh@kernel.crashing.org, paulus@samba.org,
	paul.walmsley@sifive.com, palmer@dabbelt.com, ao
Subject: Re: [PATCH 00/36] cpuidle,rcu: Cleanup the mess
Date: Tue, 14 Jun 2022 12:19:29 +0100	[thread overview]
Message-ID: <YqhuwQjmZyOVSiLI@FVFF77S0Q05N> (raw)
In-Reply-To: <20220608142723.103523089@infradead.org>

On Wed, Jun 08, 2022 at 04:27:23PM +0200, Peter Zijlstra wrote:
> Hi All! (omg so many)

Hi Peter,

Sorry for the delay; my plate has also been rather full recently. I'm beginning
to page this in now.

> These here few patches mostly clear out the utter mess that is cpuidle vs rcuidle.
> 
> At the end of the ride there's only 2 real RCU_NONIDLE() users left
> 
>   arch/arm64/kernel/suspend.c:            RCU_NONIDLE(__cpu_suspend_exit());
>   drivers/perf/arm_pmu.c:                 RCU_NONIDLE(armpmu_start(event, PERF_EF_RELOAD));

The latter of these is necessary because apparently PM notifiers are called
with RCU not watching. Is that still the case today (or at the end of this
series)? If so, that feels like fertile land for more issues (yaey...). If not,
we should be able to drop this.

I can go dig into that some more.

>   kernel/cfi.c:   RCU_NONIDLE({
> 
> (the CFI one is likely dead in the kCFI rewrite) and there's only a hand full
> of trace_.*_rcuidle() left:
> 
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, CALLER_ADDR1);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_enable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                        trace_irq_disable_rcuidle(CALLER_ADDR0, caller_addr);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_enable_rcuidle(a0, a1);
>   kernel/trace/trace_preemptirq.c:                trace_preempt_disable_rcuidle(a0, a1);
> 
> All of them are in 'deprecated' code that is unused for GENERIC_ENTRY.

I think those are also unused on arm64 too?

If not, I can go attack that.

> I've touched a _lot_ of code that I can't test and likely broken some of it :/
> In particular, the whole ARM cpuidle stuff was quite involved with OMAP being
> the absolute 'winner'.
> 
> I'm hoping Mark can help me sort the remaining ARM64 bits as he moves that to
> GENERIC_ENTRY.

Moving to GENERIC_ENTRY as a whole is going to take a tonne of work
(refactoring both arm64 and the generic portion to be more amenable to each
other), but we can certainly move closer to that for the bits that matter here.

Maybe we want a STRICT_ENTRY option to get rid of all the deprecated stuff that
we can select regardless of GENERIC_ENTRY to make that easier.

> I've also got a note that says ARM64 can probably do a WFE based
> idle state and employ TIF_POLLING_NRFLAG to avoid some IPIs.

Possibly; I'm not sure how much of a win that'll be given that by default we'll
have a ~10KHz WFE wakeup from the timer, but we could take a peek.

Thanks,
Mark.

  parent reply	other threads:[~2022-06-14 11:20 UTC|newest]

Thread overview: 820+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-06-08 14:27 [PATCH 00/36] cpuidle,rcu: Cleanup the mess Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 01/36] x86/perf/amd: Remove tracing from perf_lopwr_cb() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 02/36] x86/idle: Replace x86_idle with a static_call Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 18:13   ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 18:13     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 03/36] cpuidle/poll: Ensure IRQ state is invariant Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06 13:51   ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-07-06 13:51     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 04/36] cpuidle,intel_idle: Fix CPUIDLE_FLAG_IRQ_ENABLE Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 15:01   ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:01     ` Rafael J. Wysocki
2022-06-08 15:48     ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 15:48       ` Peter Zijlstra
2022-06-08 16:08       ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-08 16:08         ` Rafael J. Wysocki
2022-06-09 23:49   ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-09 23:49     ` Jacob Pan
2022-06-13  8:44     ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-13  8:44       ` Peter Zijlstra
2022-06-16 21:26       ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-06-16 21:26         ` Jacob Pan
2022-07-25 19:43   ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-25 19:43     ` Michel Lespinasse
2022-07-28 17:20     ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-28 17:20       ` Paul E. McKenney
2022-07-29 10:24       ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 10:24         ` Michel Lespinasse
2022-07-29 14:59         ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-29 14:59           ` Rafael J. Wysocki
2022-07-30  9:48           ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30  9:48             ` Michel Lespinasse
2022-07-30 19:52             ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 19:52               ` Rafael J. Wysocki
2022-07-30 23:45               ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-30 23:45                 ` Michel Lespinasse
2022-07-29 15:26         ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:26           ` Paul E. McKenney
2022-07-29 15:28           ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-29 15:28             ` Paul E. McKenney
2022-07-30  9:40           ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30  9:40             ` Michel Lespinasse
2022-07-30 18:16             ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-07-30 18:16               ` Paul E. McKenney
2022-06-08 14:27 ` [PATCH 05/36] cpuidle: Move IRQ state validation Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06 13:54   ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-07-06 13:54     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 06/36] cpuidle,riscv: Push RCU-idle into driver Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 07/36] cpuidle,tegra: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 08/36] cpuidle,psci: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 09/36] cpuidle,imx6: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 10/36] cpuidle,omap3: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-13 12:33   ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-08 14:27 ` [PATCH 11/36] cpuidle,armada: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 12/36] cpuidle,omap2: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-13 12:33   ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-13 12:33     ` Tony Lindgren
2022-06-08 14:27 ` [PATCH 13/36] cpuidle,dt: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 14/36] cpuidle: Fix rcu_idle_*() usage Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-14 12:41   ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 12:41     ` Mark Rutland
2022-06-14 16:40     ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:40       ` Peter Zijlstra
2022-06-14 16:59       ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-06-14 16:59         ` Mark Rutland
2022-07-26  9:55   ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-07-26  9:56     ` Gautham R. Shenoy
2022-06-08 14:27 ` [PATCH 15/36] cpuidle,cpu_pm: Remove RCU fiddling from cpu_pm_{enter,exit}() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` [PATCH 15/36] cpuidle, cpu_pm: Remove RCU fiddling from cpu_pm_{enter, exit}() Peter Zijlstra
2022-06-08 14:27   ` [PATCH 15/36] cpuidle,cpu_pm: Remove RCU fiddling from cpu_pm_{enter,exit}() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` [PATCH 15/36] cpuidle, cpu_pm: Remove RCU fiddling from cpu_pm_{enter, exit}() Peter Zijlstra
2022-06-14 16:13   ` [PATCH 15/36] cpuidle,cpu_pm: Remove RCU fiddling from cpu_pm_{enter,exit}() Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:13     ` Mark Rutland
2022-06-14 16:42     ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:42       ` Peter Zijlstra
2022-06-14 16:53       ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-14 16:53         ` Mark Rutland
2022-06-08 14:27 ` [PATCH 16/36] rcu: Fix rcu_idle_exit() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-14 16:14   ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-14 16:14     ` Mark Rutland
2022-06-15  0:44   ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-15  0:44     ` Paul E. McKenney
2022-06-08 14:27 ` [PATCH 17/36] acpi_idle: Remove tracing Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06 13:59   ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-07-06 13:59     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 18/36] cpuidle: Annotate poll_idle() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06 13:59   ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-07-06 14:00     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 19/36] objtool/idle: Validate __cpuidle code as noinstr Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06  9:46   ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-07-06  9:46     ` Geert Uytterhoeven
2022-06-08 14:27 ` [PATCH 20/36] arch/idle: Change arch_cpu_idle() IRQ behaviour Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 16:22   ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-08 16:22     ` Arnd Bergmann
2022-06-14 16:22   ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-06-14 16:22     ` Mark Rutland
2022-07-06 14:02   ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-07-06 14:02     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 21/36] x86/tdx: Remove TDX_HCALL_ISSUE_STI Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-13  8:26   ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:26     ` Lai Jiangshan
2022-06-13  8:41     ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-13  8:41       ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 22/36] arm,smp: Remove trace_.*_rcuidle() usage Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 23/36] arm64,smp: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-14 16:24   ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-14 16:24     ` Mark Rutland
2022-06-15  6:05     ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-15  6:05       ` Marc Zyngier
2022-06-08 14:27 ` [PATCH 24/36] printk: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-09  9:16   ` Petr Mladek
2022-06-09  9:16     ` Petr Mladek
2022-06-09  9:16     ` Petr Mladek
2022-06-09  9:16     ` Petr Mladek
2022-06-09  9:16     ` Petr Mladek
2022-06-09  9:16     ` Petr Mladek via Virtualization
2022-06-09 10:02     ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 10:02       ` Peter Zijlstra
2022-06-09 11:30       ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 11:30         ` Sergey Senozhatsky
2022-06-09 13:02         ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek
2022-06-09 13:02           ` Petr Mladek via Virtualization
2022-06-09 13:02           ` Petr Mladek
2022-06-11  2:33           ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-11  2:33             ` Sergey Senozhatsky
2022-06-14 14:37           ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-14 14:37             ` Steven Rostedt
2022-06-09 13:06       ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek
2022-06-09 13:06         ` Petr Mladek via Virtualization
2022-06-09 13:06         ` Petr Mladek
2022-06-11  2:23         ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-11  2:23           ` Sergey Senozhatsky
2022-06-09 10:14   ` Petr Mladek
2022-06-09 10:14     ` Petr Mladek
2022-06-09 10:14     ` Petr Mladek
2022-06-09 10:14     ` Petr Mladek
2022-06-09 10:14     ` Petr Mladek
2022-06-09 10:14     ` Petr Mladek via Virtualization
2022-06-08 14:27 ` [PATCH 25/36] time/tick-broadcast: Remove RCU_NONIDLE usage Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-14 16:28   ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-14 16:28     ` Mark Rutland
2022-06-08 14:27 ` [PATCH 26/36] cpuidle,sched: Remove annotations from TIF_{POLLING_NRFLAG,NEED_RESCHED} Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` [PATCH 26/36] cpuidle, sched: Remove annotations from TIF_{POLLING_NRFLAG, NEED_RESCHED} Peter Zijlstra
2022-06-08 14:27   ` [PATCH 26/36] cpuidle,sched: Remove annotations from TIF_{POLLING_NRFLAG,NEED_RESCHED} Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` [PATCH 26/36] cpuidle, sched: Remove annotations from TIF_{POLLING_NRFLAG, NEED_RESCHED} Peter Zijlstra
2022-06-08 14:27 ` [PATCH 27/36] cpuidle,mwait: Make noinstr clean Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 28/36] cpuidle,tdx: Make tdx " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 29/36] cpuidle,xenpv: Make more PARAVIRT_XXL " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-13 18:48   ` Srivatsa S. Bhat
2022-06-13 18:48     ` [PATCH 29/36] cpuidle, xenpv: " Srivatsa S. Bhat
2022-06-13 18:48     ` [PATCH 29/36] cpuidle,xenpv: " Srivatsa S. Bhat
2022-06-13 18:48     ` Srivatsa S. Bhat
2022-06-13 18:48     ` [PATCH 29/36] cpuidle, xenpv: " Srivatsa S. Bhat
2022-06-13 18:48     ` [PATCH 29/36] cpuidle,xenpv: " Srivatsa S. Bhat
2022-06-13 18:48     ` Srivatsa S. Bhat
2022-06-13 18:48     ` [PATCH 29/36] cpuidle, xenpv: " Srivatsa S. Bhat
2022-06-13 19:23     ` [Pv-drivers] " Nadav Amit
2022-06-13 19:23       ` Nadav Amit via Virtualization
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit
2022-06-13 19:23       ` Nadav Amit via Virtualization
2022-06-14 16:44       ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-14 16:44         ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 30/36] cpuidle,nospec: Make " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 31/36] cpuidle,acpi: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-07-06 14:04   ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-07-06 14:04     ` Rafael J. Wysocki
2022-06-08 14:27 ` [PATCH 32/36] ftrace: WARN on rcuidle Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 33/36] cpuidle,omap3: Use WFI for omap3_pm_idle() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 16:28   ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-08 16:28     ` Arnd Bergmann
2022-06-09  7:39     ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  7:39       ` Tony Lindgren
2022-06-09  9:47       ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:47         ` Peter Zijlstra
2022-06-09  9:40     ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-09  9:40       ` Peter Zijlstra
2022-06-13 12:36   ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-13 12:36     ` Tony Lindgren
2022-06-08 14:27 ` [PATCH 34/36] cpuidle,omap3: Push RCU-idle into omap_sram_idle() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 15:04   ` Peter Zijlstra
2022-06-08 15:04     ` Peter Zijlstra
2022-06-08 15:04     ` Peter Zijlstra
2022-06-08 15:04     ` Peter Zijlstra
2022-06-08 15:04     ` Peter Zijlstra
2022-06-13 12:35     ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-13 12:35       ` Tony Lindgren
2022-06-08 15:04   ` Peter Zijlstra
2022-06-08 15:04   ` Peter Zijlstra
2022-06-13 12:39   ` [PATCH 34.5/36] cpuidle,omap4: Push RCU-idle into omap4_enter_lowpower() Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-13 12:39     ` Tony Lindgren
2022-06-14 22:12     ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-14 22:12       ` Peter Zijlstra
2022-06-15  5:35       ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2022-06-15  5:35         ` Tony Lindgren
2023-01-13 12:31     ` [tip: sched/core] cpuidle, OMAP4: " tip-bot2 for Tony Lindgren
2022-06-08 14:27 ` [PATCH 35/36] cpuidle,powerdomain: Remove trace_.*_rcuidle() Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27 ` [PATCH 36/36] cpuidle,clk: " Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 14:27   ` Peter Zijlstra
2022-06-08 20:03   ` Stephen Boyd
2022-06-08 20:03     ` Stephen Boyd
2022-06-08 20:03     ` Stephen Boyd
2022-06-08 20:03     ` Stephen Boyd
2022-06-14 11:19 ` Mark Rutland [this message]
2022-06-14 11:19   ` [PATCH 00/36] cpuidle,rcu: Cleanup the mess Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 11:19   ` Mark Rutland
2022-06-14 16:58   ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 16:58     ` Peter Zijlstra
2022-06-14 17:33     ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland
2022-06-14 17:33       ` Mark Rutland

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=YqhuwQjmZyOVSiLI@FVFF77S0Q05N \
    --to=mark.rutland@arm.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=acme@kernel.org \
    --cc=agordeev@linux.ibm.com \
    --cc=agross@kernel.org \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=amakhalov@vmware.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=anup@brainfault.org \
    --cc=aou@eecs.berkeley.edu \
    --cc=arnd@arndb.de \
    --cc=bcain@quicinc.com \
    --cc=benh@kernel.crashing.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=boris.ostrovsky@oracle.com \
    --cc=borntraeger@linux.ibm.com \
    --cc=bp@alien8.de \
    --cc=bristot@redhat.com \
    --cc=bsegall@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=chenhuacai@kernel.org \
    --cc=chris@zankel.net \
    --cc=dalias@libc.org \
    --cc=daniel.lezcano@linaro.org \
    --cc=dave.hansen@linux.intel.com \
    --cc=davem@davemloft.net \
    --cc=deller@gmx.de \
    --cc=dietmar.eggemann@arm.com \
    --cc=dinguyen@kernel.org \
    --cc=festevam@gmail.com \
    --cc=frederic@kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=gor@linux.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guoren@kernel.org \
    --cc=hca@linux.ibm.com \
    --cc=hpa@zytor.com \
    --cc=ink@jurassic.park.msu.ru \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=jcmvbkbc@gmail.com \
    --cc=jgross@suse.com \
    --cc=jiangshanlai@gmail.com \
    --cc=joel@joelfernandes.org \
    --cc=johannes@sipsolutions.net \
    --cc=john.ogness@linutronix.de \
    --cc=jolsa@kernel.org \
    --cc=jonas@southpole.se \
    --cc=jonathanh@nvidia.com \
    --cc=josh@joshtriplett.org \
    --cc=jpoimboe@kernel.org \
    --cc=juri.lelli@redhat.com \
    --cc=kernel@pengutronix.de \
    --cc=kernel@xen0n.name \
    --cc=khilman@kernel.org \
    --cc=lenb@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-csky@vger.kernel.org \
    --cc=linux-hexagon@vger.kernel.org \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-imx@nxp.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=linux-mips@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linux@armlinux.org.uk \
    --cc=linux@rasmusvillemoes.dk \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=lpieralisi@kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mattst88@gmail.com \
    --cc=mgorman@suse.de \
    --cc=mingo@redhat.com \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=mturquette@baylibre.com \
    --cc=namhyung@kernel.org \
    --cc=openrisc@lists.librecores.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=paulmck@kernel.org \
    --cc=paulus@samba.org \
    --cc=pavel@ucw.cz \
    --cc=peterz@infradead.org \
    --cc=pmladek@suse.com \
    --cc=pv-drivers@vmware.com \
    --cc=quic_neeraju@quicinc.com \
    --cc=rafael@kernel.org \
    --cc=rcu@vger.kernel.org \
    --cc=richard@nod.at \
    --cc=rostedt@goodmis.org \
    --cc=rth@twiddle.net \
    --cc=s.hauer@pengutronix.de \
    --cc=sammy@sammy.net \
    --cc=sboyd@kernel.org \
    --cc=senozhatsky@chromium.org \
    --cc=shawnguo@kernel.org \
    --cc=shorne@gmail.com \
    --cc=sparclinux@vger.kernel.org \
    --cc=srivatsa@csail.mit.edu \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=sudeep.holla@arm.com \
    --cc=svens@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=thierry.reding@gmail.com \
    --cc=tony@atomide.com \
    --cc=tsbogend@alpha.franken.de \
    --cc=ulli.kroll@googlemail.com \
    --cc=vgupta@kernel.org \
    --cc=vincent.guittot@linaro.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=vschneid@redhat.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    --cc=ysato@users.sourceforge.jp \
    --cc=yury.norov@gmail.com \
    /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.