[Linux-stm32] [PATCH] tick: check if broadcast device could really be stopped
Benjamin GAIGNARD
benjamin.gaignard at st.com
Mon Oct 14 13:14:23 UTC 2019
On 10/14/19 2:56 PM, Thomas Gleixner wrote:
> 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.
What could be the solution to let know to tick broadcast framework that
this device
will not be stopped (because CPU won't go in idle) ?
I have tried to put "always-on" property on DT but it was a NACK too:
https://lkml.org/lkml/2019/9/27/164
Do I have miss a flag somewhere ?
Regards,
Benjamin
>
> 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
More information about the Linux-stm32
mailing list