big.LITTLE is a form of heterogeneous computing that comes with two types of general purpose cpu cores: big cores, more powerful and with a higher power consumption rate, and LITTLE cores, less powerful and cheaper to run. For example, Cortex A53 and Cortex A57 cpus. Typically, big cores are only recommended for burst activity, especially in battery powered environments. Please note that Xen doesn't not use any board specific power management techniques at the moment, it only uses WFI. It is recommended to check the vendor's big.LITTLE and power management documentation before using it in a Xen environment. big and LITTLE cores are fully compatible in terms of instruction sets, but can differ in many subtle ways. For example, their cacheline sizes might differ. For this reason, vcpu migration between big and LITTLE cores can lead to data corruptions. Today, the Xen scheduler does not have support for big.LITTLE, therefore, it might unknowingly move any vcpus between big and LITTLE cores, potentially leading to breakages. To avoid this kind of issues, at boot time Xen disables all cpus that differ from the boot cpu. Expert users can enable all big.LITTLE cores by passing hmp-unsafe=true to the Xen command line [1]. Given the lack of big.LITTLE support in the scheduler, it is only safe if the cpu affinity of all domains is manually specified, so that the scheduler is not allowed to switch a vcpu from big to LITTLE or vice versa. In the case of dom0, dom0_vcpus_pin needs to be added to the Xen command line options [1]. For DomUs, the `cpus' option should be added to all VM config files [2]. For example, if the first 4 cpus are big and the last 4 are LITTLE, the following options run all domain vcpus on either big or LITTLE cores (not both): cpus = "0-3" cpus = "4-7" The following option runs one domain vcpu as big and one as LITTLE: cpus = ["0-3", "4-7"] [1] docs/misc/xen-command-line.markdown [2] docs/man/xl.cfg.pod.5