Commit f89b710f authored by Wanpeng Li's avatar Wanpeng Li Committed by Zheng Zengkai
Browse files

context_tracking: Move guest exit context tracking to separate helpers



stable inclusion
from stable-5.10.41
commit 5ae5e3f05831b7629cd33be0a8591905f0898599
bugzilla: 51890
CVE: NA

--------------------------------

commit 866a6dad upstream.

Provide separate context tracking helpers for guest exit, the standalone
helpers will be called separately by KVM x86 in later patches to fix
tick-based accounting.

Suggested-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarWanpeng Li <wanpengli@tencent.com>
Co-developed-by: default avatarSean Christopherson <seanjc@google.com>
Signed-off-by: default avatarSean Christopherson <seanjc@google.com>
Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/r/20210505002735.1684165-2-seanjc@google.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: default avatarChen Jun <chenjun102@huawei.com>
Acked-by: default avatarWeilong Chen <chenweilong@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent a8ce235f
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -129,10 +129,15 @@ static __always_inline void guest_enter_irqoff(void)
	}
}

static __always_inline void guest_exit_irqoff(void)
static __always_inline void context_tracking_guest_exit(void)
{
	if (context_tracking_enabled())
		__context_tracking_exit(CONTEXT_GUEST);
}

static __always_inline void guest_exit_irqoff(void)
{
	context_tracking_guest_exit();

	instrumentation_begin();
	if (vtime_accounting_enabled_this_cpu())
@@ -157,6 +162,8 @@ static __always_inline void guest_enter_irqoff(void)
	instrumentation_end();
}

static __always_inline void context_tracking_guest_exit(void) { }

static __always_inline void guest_exit_irqoff(void)
{
	instrumentation_begin();