[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190919150314.054351477@linutronix.de>
Date: Thu, 19 Sep 2019 17:03:14 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: x86@...nel.org, Peter Zijlstra <peterz@...radead.org>,
Andy Lutomirski <luto@...nel.org>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Marc Zyngier <maz@...nel.org>,
Paolo Bonzini <pbonzini@...hat.com>, kvm@...r.kernel.org,
linux-arch@...r.kernel.org
Subject: [RFC patch 00/15] entry: Provide generic implementation for host and
guest entry/exit work
When working on a way to move out the posix cpu timer expiry out of the
timer interrupt context, I noticed that KVM is not handling pending task
work before entering a guest. A quick hack was to add that to the x86 KVM
handling loop. The discussion ended with a request to make this a generic
infrastructure possible with also moving the per arch implementations of
the enter from and return to user space handling generic.
https://lore.kernel.org/r/89E42BCC-47A8-458B-B06A-D6A20D20512C@amacapital.net
You asked for it, so don't complain that you have to review it :)
The series implements the syscall enter/exit and the general exit to
userspace work handling along with the pre guest enter functionality.
The series converts x86 and ARM64. x86 is fully tested including selftests
etc. ARM64 is only compile tested for now as my only ARM64 testbox is not
available right now.
Thanks,
tglx
---
/Makefile | 3
arch/Kconfig | 3
arch/arm64/Kconfig | 1
arch/arm64/include/asm/kvm_host.h | 1
arch/arm64/kernel/entry.S | 18 -
arch/arm64/kernel/ptrace.c | 65 ------
arch/arm64/kernel/signal.c | 45 ----
arch/arm64/kernel/syscall.c | 49 ----
arch/x86/Kconfig | 1
arch/x86/entry/common.c | 265 +-------------------------
arch/x86/entry/entry_32.S | 13 -
arch/x86/entry/entry_64.S | 12 -
arch/x86/entry/entry_64_compat.S | 21 --
arch/x86/include/asm/signal.h | 1
arch/x86/include/asm/thread_info.h | 9
arch/x86/kernel/signal.c | 2
arch/x86/kvm/x86.c | 17 -
b/arch/arm64/include/asm/entry-common.h | 76 +++++++
b/arch/x86/include/asm/entry-common.h | 104 ++++++++++
b/include/linux/entry-common.h | 324 ++++++++++++++++++++++++++++++++
b/kernel/entry/common.c | 220 +++++++++++++++++++++
kernel/Makefile | 1
22 files changed, 776 insertions(+), 475 deletions(-)
Powered by blists - more mailing lists