When I searched percpu data touched by entry code for #DB protection[1], it seems to me RESTORE_CR3() does too much work, this patchset simplifies it.
Patch 1 enhances 21e944591102("x86/mm: Optimize RESTORE_CR3") for kernel CR3. Patch 2 *reverts* 21e944591102("x86/mm: Optimize RESTORE_CR3") for User CR3. Cc: Andy Lutomirski <l...@kernel.org> Cc: Peter Zijlstra (Intel) <pet...@infradead.org> Cc: Thomas Gleixner <t...@linutronix.de> Cc: x...@kernel.org Link: https://lore.kernel.org/lkml/20200525145102.122557-1-la...@linux.alibaba.com Lai Jiangshan (2): x86/entry: Don't write to CR3 when restoring to kernel CR3 x86/entry: always flush user CR3 in RESTORE_CR3 arch/x86/entry/calling.h | 36 ++++++++---------------------------- arch/x86/entry/entry_64.S | 6 +++--- 2 files changed, 11 insertions(+), 31 deletions(-) -- 2.20.1