• Steven Price's avatar
    KVM: arm64: Support stolen time reporting via shared structure · 8564d637
    Steven Price authored
    Implement the service call for configuring a shared structure between a
    VCPU and the hypervisor in which the hypervisor can write the time
    stolen from the VCPU's execution time by other tasks on the host.
    
    User space allocates memory which is placed at an IPA also chosen by user
    space. The hypervisor then updates the shared structure using
    kvm_put_guest() to ensure single copy atomicity of the 64-bit value
    reporting the stolen time in nanoseconds.
    
    Whenever stolen time is enabled by the guest, the stolen time counter is
    reset.
    
    The stolen time itself is retrieved from the sched_info structure
    maintained by the Linux scheduler code. We enable SCHEDSTATS when
    selecting KVM Kconfig to ensure this value is meaningful.
    Signed-off-by: default avatarSteven Price <steven.price@arm.com>
    Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
    8564d637
arm.c 37.8 KB