On Wed, Nov 23, 2016 at 01:52:22PM +0100, Ralf Ramsauer wrote: > Hi, > > I first noticed that on the LeMaker Hikey: After jailhouse is > (successfully) enabled, the CPU board gets incredibly hot (after a few > seconds), though the root Linux still idles and no cells are created so > far. When jailhouse is disabled again, it immediately cools down within > seconds.
I suspect that the issue here is that jailhouse doesn't handle PSCI_CPU_SUSPEND, but the host kernel is trying to use PSCI_CPU_SUSPEND for idle, as the hikey dts has idle states. AFAICT, jailhouse will trap the SMC, but will immediately return PSCI_NOT_SUPPORTED, since psci_dispatch [1] doesn't have a case for PSCI_CPU_SUSPEND. The host then immediately tries PSCI again. We burn CPU cycles jumping back-and-forth when we should be idle. It should be possible to look under sysfs to see how many times a CPU entered/exited PSCI idle states. IIRC there's a directory under /sys/devices/system/cpu/cpu<N>/ with idle residency information. I think jailhouse needs to gain some PSCI_CPU_SUSPEND support. It should be able to at least use WFI safely, and ideally it would call into the real PSCI implementation for deeper states. Thanks, Mark. [1] https://github.com/siemens/jailhouse/blob/master/hypervisor/arch/arm-common/psci.c -- You received this message because you are subscribed to the Google Groups "Jailhouse" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
