summaryrefslogtreecommitdiff
path: root/include/linux/context_tracking.h
diff options
context:
space:
mode:
authorSean Christopherson <seanjc@google.com>2021-05-05 03:27:32 +0300
committerThomas Gleixner <tglx@linutronix.de>2021-05-05 23:54:11 +0300
commit6f922b89e5518143920b10e3643e556d9df58d94 (patch)
tree0a6afd2d14aeabc85a2302cf6b3acb9467eaca4b /include/linux/context_tracking.h
parentb41c723b203e19480c26f2ec8f04eedc03d34b34 (diff)
downloadlinux-6f922b89e5518143920b10e3643e556d9df58d94.tar.xz
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
Diffstat (limited to 'include/linux/context_tracking.h')
-rw-r--r--include/linux/context_tracking.h17
1 files changed, 1 insertions, 16 deletions
diff --git a/include/linux/context_tracking.h b/include/linux/context_tracking.h
index 4f4556232dcf..56c648bdbde8 100644
--- a/include/linux/context_tracking.h
+++ b/include/linux/context_tracking.h
@@ -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();