18.12.2020 00:19, Daniel Lezcano пишет: > On 17/12/2020 21:28, Dmitry Osipenko wrote: >> 17.12.2020 22:36, Daniel Lezcano пишет: >>>>>> + type = "critical"; >>>>>> + }; >>>>>> + }; >>>>>> + >>>>>> + cooling-maps { >>>>>> + map0 { >>>>>> + trip = <&trip0>; >>>>>> + cooling-device = <&cpu0 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; >>>>> You should add all CPUs here. >>>> >>>> All CPU cores are coupled on Tegra in regards to CPUFreq, hence I think >>>> it won't make any difference if secondary CPU cores will be added here, >>>> isn't it? >>> The explanation is in the description of commit ef4734500407ce4d >> >> I think that really only makes sense if CPU cores have independent clock >> rate management. > > ATM I did not see any ARM platform having a clock line per CPU but I may > be wrong. > >> IIRC, I actually made some research about this in the >> past and intentionally removed the secondary cores from the >> cooling-device since they didn't make any difference for a coupled CPU >> cores. >> >> That commit also says: >> >> "But as soon as this CPU ordering changes and any other CPU is used to >> bring up the cooling device, we will start seeing failures." >> >> I don't quite understand to what "failures" that commit referrers. I >> tried to change the cpu0 to cpu1 in the cooling-device and don't see any >> failures. Could you please clarify this? >> >> In general it should be fine to add all the cores to the cooling-device >> and I'll do it in v3, but I want to make it clear why this is needed. > > AFAIR, if CPU0 is unplugged the cooling device can not rebind to CPU1. > And if CPU0 is plugged in again, the cooling device fails to initialize. > > And, if the CPUs are mapped with the physical CPU0 to Linux numbering > CPU1, the cooling device mapping will fail. Alright, thank you.