x86/entry: Optimize local_db_save() for virt
authorPeter Zijlstra <peterz@infradead.org>
Fri, 29 May 2020 21:27:36 +0000 (23:27 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jun 2020 13:15:22 +0000 (15:15 +0200)
commit84b6a3491567a540f955e18d8e615493afa36df0
tree6cb78ccb03028398a87ffff420648ed4637c1488
parentcd840e424f27fcc1ae8d14b7ec3ec4560ee6561a
x86/entry: Optimize local_db_save() for virt

Because DRn access is 'difficult' with virt; but the DR7 read is cheaper
than a cacheline miss on native, add a virt specific fast path to
local_db_save(), such that when breakpoints are not in use to avoid
touching DRn entirely.

Suggested-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20200529213321.187833200@infradead.org
arch/x86/include/asm/debugreg.h
arch/x86/kernel/hw_breakpoint.c
arch/x86/kvm/vmx/nested.c