Skip to content
  • Frederic Weisbecker's avatar
    context_tracing: Fix guest accounting with native vtime · 2d854e57
    Frederic Weisbecker authored
    
    
    1) If context tracking is enabled with native vtime accounting (which
    combo is useless except for dev testing), we call vtime_guest_enter()
    and vtime_guest_exit() on host <-> guest switches. But those are stubs
    in this configurations. As a result, cputime is not correctly flushed
    on kvm context switches.
    
    2) If context tracking runs but is disabled on some CPUs, those
    CPUs end up calling __guest_enter/__guest_exit which in turn
    call vtime_account_system(). We don't want to call this because we
    run in tick based accounting for these CPUs.
    
    Refactor the guest_enter/guest_exit code such that all combinations
    finally work.
    
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Li Zhong <zhong@linux.vnet.ibm.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Kevin Hilman <khilman@linaro.org>
    2d854e57