Message ID | 20230127235150.17025-2-gshan@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improve dirty ring warning report | expand |
On Sat, Jan 28, 2023 at 07:51:47AM +0800, Gavin Shan wrote: > We need a unified helper in 'kvm/vgic/vgic.h' to write guest memory. In > the helper, the check of no-running-vcpu context for dirty ring will be > applied. kvm_write_guest_lock(), defined in 'include/asm/kvm_mmu.h', is > going to be dereferenced by the unified helper. > > Include 'include/asm/kvm_mmu.h' to 'kvm/vgic/vgic.h' to avoid including > the former header file when the later one is needed. With the change, > the duplicate inclusions of 'include/asm/kvm_mmu.h' are removed. > > No functional change intended. > > Suggested-by: Oliver Upton <oliver.upton@linux.dev> No, I did not suggest for you to do this. I had suggested you just include asm/kvm_mmu.h from the vgic header, not to go and remove it from all the files that include vgic.h. Who cares if kvm_mmu.h gets included twice? Include guards exist for this exact reason.
Hi Oliver, On 1/28/23 11:14 AM, Oliver Upton wrote: > On Sat, Jan 28, 2023 at 07:51:47AM +0800, Gavin Shan wrote: >> We need a unified helper in 'kvm/vgic/vgic.h' to write guest memory. In >> the helper, the check of no-running-vcpu context for dirty ring will be >> applied. kvm_write_guest_lock(), defined in 'include/asm/kvm_mmu.h', is >> going to be dereferenced by the unified helper. >> >> Include 'include/asm/kvm_mmu.h' to 'kvm/vgic/vgic.h' to avoid including >> the former header file when the later one is needed. With the change, >> the duplicate inclusions of 'include/asm/kvm_mmu.h' are removed. >> >> No functional change intended. >> >> Suggested-by: Oliver Upton <oliver.upton@linux.dev> > > No, I did not suggest for you to do this. I had suggested you just > include asm/kvm_mmu.h from the vgic header, not to go and remove it from > all the files that include vgic.h. > > Who cares if kvm_mmu.h gets included twice? Include guards exist for this > exact reason. > Ok, I misundertood your suggestion. Could you drop PATCH[v4 1/4] and include 'kvm_mmu.h' to 'vgic.h'? Otherwise, I need to respin for v5. Please let me know your preference. Thanks, Gavin
diff --git a/arch/arm64/kvm/vgic/vgic-debug.c b/arch/arm64/kvm/vgic/vgic-debug.c index 78cde687383c..69201c2dfc6c 100644 --- a/arch/arm64/kvm/vgic/vgic-debug.c +++ b/arch/arm64/kvm/vgic/vgic-debug.c @@ -10,7 +10,6 @@ #include <linux/kvm_host.h> #include <linux/seq_file.h> #include <kvm/arm_vgic.h> -#include <asm/kvm_mmu.h> #include "vgic.h" /* diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c index f6d4f4052555..de389a5bec45 100644 --- a/arch/arm64/kvm/vgic/vgic-init.c +++ b/arch/arm64/kvm/vgic/vgic-init.c @@ -9,7 +9,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <asm/kvm_emulate.h> -#include <asm/kvm_mmu.h> #include "vgic.h" /* diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c index 94a666dd1443..ad4bb69ab83e 100644 --- a/arch/arm64/kvm/vgic/vgic-its.c +++ b/arch/arm64/kvm/vgic/vgic-its.c @@ -18,7 +18,6 @@ #include <asm/kvm_emulate.h> #include <asm/kvm_arm.h> -#include <asm/kvm_mmu.h> #include "vgic.h" #include "vgic-mmio.h" diff --git a/arch/arm64/kvm/vgic/vgic-kvm-device.c b/arch/arm64/kvm/vgic/vgic-kvm-device.c index edeac2380591..552668a91bd9 100644 --- a/arch/arm64/kvm/vgic/vgic-kvm-device.c +++ b/arch/arm64/kvm/vgic/vgic-kvm-device.c @@ -8,7 +8,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <linux/uaccess.h> -#include <asm/kvm_mmu.h> #include <asm/cputype.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic-mmio-v3.c b/arch/arm64/kvm/vgic/vgic-mmio-v3.c index 91201f743033..8ba04f4fa63d 100644 --- a/arch/arm64/kvm/vgic/vgic-mmio-v3.c +++ b/arch/arm64/kvm/vgic/vgic-mmio-v3.c @@ -13,7 +13,6 @@ #include <asm/kvm_emulate.h> #include <asm/kvm_arm.h> -#include <asm/kvm_mmu.h> #include "vgic.h" #include "vgic-mmio.h" diff --git a/arch/arm64/kvm/vgic/vgic-v2.c b/arch/arm64/kvm/vgic/vgic-v2.c index 645648349c99..d8604fdfdfcd 100644 --- a/arch/arm64/kvm/vgic/vgic-v2.c +++ b/arch/arm64/kvm/vgic/vgic-v2.c @@ -7,7 +7,6 @@ #include <linux/kvm.h> #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> -#include <asm/kvm_mmu.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic-v3.c b/arch/arm64/kvm/vgic/vgic-v3.c index 2074521d4a8c..5dfbd03e5e1a 100644 --- a/arch/arm64/kvm/vgic/vgic-v3.c +++ b/arch/arm64/kvm/vgic/vgic-v3.c @@ -7,7 +7,6 @@ #include <linux/kvm_host.h> #include <kvm/arm_vgic.h> #include <asm/kvm_hyp.h> -#include <asm/kvm_mmu.h> #include <asm/kvm_asm.h> #include "vgic.h" diff --git a/arch/arm64/kvm/vgic/vgic.h b/arch/arm64/kvm/vgic/vgic.h index 0c8da72953f0..056425e3a490 100644 --- a/arch/arm64/kvm/vgic/vgic.h +++ b/arch/arm64/kvm/vgic/vgic.h @@ -6,6 +6,7 @@ #define __KVM_ARM_VGIC_NEW_H__ #include <linux/irqchip/arm-gic-common.h> +#include <asm/kvm_mmu.h> #define PRODUCT_ID_KVM 0x4b /* ASCII code K */ #define IMPLEMENTER_ARM 0x43b
We need a unified helper in 'kvm/vgic/vgic.h' to write guest memory. In the helper, the check of no-running-vcpu context for dirty ring will be applied. kvm_write_guest_lock(), defined in 'include/asm/kvm_mmu.h', is going to be dereferenced by the unified helper. Include 'include/asm/kvm_mmu.h' to 'kvm/vgic/vgic.h' to avoid including the former header file when the later one is needed. With the change, the duplicate inclusions of 'include/asm/kvm_mmu.h' are removed. No functional change intended. Suggested-by: Oliver Upton <oliver.upton@linux.dev> Signed-off-by: Gavin Shan <gshan@redhat.com> --- arch/arm64/kvm/vgic/vgic-debug.c | 1 - arch/arm64/kvm/vgic/vgic-init.c | 1 - arch/arm64/kvm/vgic/vgic-its.c | 1 - arch/arm64/kvm/vgic/vgic-kvm-device.c | 1 - arch/arm64/kvm/vgic/vgic-mmio-v3.c | 1 - arch/arm64/kvm/vgic/vgic-v2.c | 1 - arch/arm64/kvm/vgic/vgic-v3.c | 1 - arch/arm64/kvm/vgic/vgic.h | 1 + 8 files changed, 1 insertion(+), 7 deletions(-)