mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
sched/vtime: Move guest enter/exit vtime accounting to vtime.h
Provide separate helpers for guest enter vtime accounting (in addition to the existing guest exit helpers), and move all vtime accounting helpers to vtime.h where the existing #ifdef infrastructure can be leveraged to better delineate the different types of accounting. This will also allow future cleanups via deduplication of context tracking code. Opportunstically delete the vtime_account_kernel() stub now that all callers are wrapped with CONFIG_VIRT_CPU_ACCOUNTING_NATIVE=y. No functional change intended. Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/r/20210505002735.1684165-6-seanjc@google.com
This commit is contained in:
committed by
Thomas Gleixner
parent
b41c723b20
commit
6f922b89e5
@@ -137,14 +137,6 @@ static __always_inline void context_tracking_guest_exit(void)
|
||||
__context_tracking_exit(CONTEXT_GUEST);
|
||||
}
|
||||
|
||||
static __always_inline void vtime_account_guest_exit(void)
|
||||
{
|
||||
if (vtime_accounting_enabled_this_cpu())
|
||||
vtime_guest_exit(current);
|
||||
else
|
||||
current->flags &= ~PF_VCPU;
|
||||
}
|
||||
|
||||
static __always_inline void guest_exit_irqoff(void)
|
||||
{
|
||||
context_tracking_guest_exit();
|
||||
@@ -163,20 +155,13 @@ static __always_inline void guest_enter_irqoff(void)
|
||||
* to flush.
|
||||
*/
|
||||
instrumentation_begin();
|
||||
vtime_account_kernel(current);
|
||||
current->flags |= PF_VCPU;
|
||||
vtime_account_guest_enter();
|
||||
rcu_virt_note_context_switch(smp_processor_id());
|
||||
instrumentation_end();
|
||||
}
|
||||
|
||||
static __always_inline void context_tracking_guest_exit(void) { }
|
||||
|
||||
static __always_inline void vtime_account_guest_exit(void)
|
||||
{
|
||||
vtime_account_kernel(current);
|
||||
current->flags &= ~PF_VCPU;
|
||||
}
|
||||
|
||||
static __always_inline void guest_exit_irqoff(void)
|
||||
{
|
||||
instrumentation_begin();
|
||||
|
||||
Reference in New Issue
Block a user