[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.21.1910141441350.2531@nanos.tec.linutronix.de>
Date: Mon, 14 Oct 2019 14:56:32 +0200 (CEST)
From: Thomas Gleixner <tglx@...utronix.de>
To: Benjamin Gaignard <benjamin.gaignard@...com>
cc: fweisbec@...il.com, mingo@...nel.org, marc.zyngier@....com,
daniel.lezcano@...aro.org, linux-kernel@...r.kernel.org,
linux-stm32@...md-mailman.stormreply.com
Subject: Re: [PATCH] tick: check if broadcast device could really be
stopped
On Wed, 9 Oct 2019, Benjamin Gaignard wrote:
> @@ -78,7 +78,7 @@ static bool tick_check_broadcast_device(struct clock_event_device *curdev,
> {
> if ((newdev->features & CLOCK_EVT_FEAT_DUMMY) ||
> (newdev->features & CLOCK_EVT_FEAT_PERCPU) ||
> - (newdev->features & CLOCK_EVT_FEAT_C3STOP))
> + tick_broadcast_could_stop(newdev))
No. This might be called _before_ a cpuidle driver is available and then
when that driver is loaded and goes deep, everything goes south.
Aside of that it definitely breaks everything which does not use the
cpuidle stuff, which includes all machines affected by X86_BUG_AMD_APIC_C1E
and everything which uses the INTEL_IDLE driver.
Pretty much the same problem for all other places you changed.
Thanks,
tglx
Powered by blists - more mailing lists