[PATCH v1 1/5] s390: remove unneeded includes

Claudio Imbrenda posted 5 patches 9 months ago
There is a newer version of this series
[PATCH v1 1/5] s390: remove unneeded includes
Posted by Claudio Imbrenda 9 months ago
Many files don't need to include asm/tlb.h or asm/gmap.h.
On the other hand, asm/tlb.h does need to include asm/gmap.h.

Remove all unneeded includes so that asm/tlb.h is not directly used by
s390 arch code anymore. Remove asm/gmap.h from a few other files as
well, so that now only KVM code, mm/gmap.c, and asm/tlb.h include it.

Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
 arch/s390/include/asm/tlb.h | 1 +
 arch/s390/include/asm/uv.h  | 1 -
 arch/s390/kvm/intercept.c   | 1 +
 arch/s390/mm/fault.c        | 1 -
 arch/s390/mm/gmap.c         | 1 -
 arch/s390/mm/init.c         | 1 -
 arch/s390/mm/pgalloc.c      | 2 --
 arch/s390/mm/pgtable.c      | 1 -
 8 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
index f20601995bb0..56d5f9e0eb2e 100644
--- a/arch/s390/include/asm/tlb.h
+++ b/arch/s390/include/asm/tlb.h
@@ -36,6 +36,7 @@ static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb,
 
 #include <asm/tlbflush.h>
 #include <asm-generic/tlb.h>
+#include <asm/gmap.h>
 
 /*
  * Release the page cache reference for a pte removed by
diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
index 46fb0ef6f984..eeb2db4783e6 100644
--- a/arch/s390/include/asm/uv.h
+++ b/arch/s390/include/asm/uv.h
@@ -16,7 +16,6 @@
 #include <linux/bug.h>
 #include <linux/sched.h>
 #include <asm/page.h>
-#include <asm/gmap.h>
 #include <asm/asm.h>
 
 #define UVC_CC_OK	0
diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
index a06a000f196c..b4834bd4d216 100644
--- a/arch/s390/kvm/intercept.c
+++ b/arch/s390/kvm/intercept.c
@@ -16,6 +16,7 @@
 #include <asm/irq.h>
 #include <asm/sysinfo.h>
 #include <asm/uv.h>
+#include <asm/gmap.h>
 
 #include "kvm-s390.h"
 #include "gaccess.h"
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
index da84ff6770de..3829521450dd 100644
--- a/arch/s390/mm/fault.c
+++ b/arch/s390/mm/fault.c
@@ -40,7 +40,6 @@
 #include <asm/ptrace.h>
 #include <asm/fault.h>
 #include <asm/diag.h>
-#include <asm/gmap.h>
 #include <asm/irq.h>
 #include <asm/facility.h>
 #include <asm/uv.h>
diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
index a94bd4870c65..4869555ff403 100644
--- a/arch/s390/mm/gmap.c
+++ b/arch/s390/mm/gmap.c
@@ -24,7 +24,6 @@
 #include <asm/machine.h>
 #include <asm/gmap.h>
 #include <asm/page.h>
-#include <asm/tlb.h>
 
 /*
  * The address is saved in a radix tree directly; NULL would be ambiguous,
diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
index afa085e8186c..074bf4fb4ce2 100644
--- a/arch/s390/mm/init.c
+++ b/arch/s390/mm/init.c
@@ -40,7 +40,6 @@
 #include <asm/kfence.h>
 #include <asm/dma.h>
 #include <asm/abs_lowcore.h>
-#include <asm/tlb.h>
 #include <asm/tlbflush.h>
 #include <asm/sections.h>
 #include <asm/sclp.h>
diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
index e3a6f8ae156c..ddab36875370 100644
--- a/arch/s390/mm/pgalloc.c
+++ b/arch/s390/mm/pgalloc.c
@@ -12,8 +12,6 @@
 #include <asm/mmu_context.h>
 #include <asm/page-states.h>
 #include <asm/pgalloc.h>
-#include <asm/gmap.h>
-#include <asm/tlb.h>
 #include <asm/tlbflush.h>
 
 unsigned long *crst_table_alloc(struct mm_struct *mm)
diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
index 9901934284ec..7df70cd8f739 100644
--- a/arch/s390/mm/pgtable.c
+++ b/arch/s390/mm/pgtable.c
@@ -20,7 +20,6 @@
 #include <linux/ksm.h>
 #include <linux/mman.h>
 
-#include <asm/tlb.h>
 #include <asm/tlbflush.h>
 #include <asm/mmu_context.h>
 #include <asm/page-states.h>
-- 
2.49.0
Re: [PATCH v1 1/5] s390: remove unneeded includes
Posted by Christoph Schlameuss 8 months, 4 weeks ago
You added one unnecessary import to arch/s390/kvm/intercept.c

With that removed:
Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com>


On Wed May 14, 2025 at 6:38 PM CEST, Claudio Imbrenda wrote:
> Many files don't need to include asm/tlb.h or asm/gmap.h.
> On the other hand, asm/tlb.h does need to include asm/gmap.h.
>
> Remove all unneeded includes so that asm/tlb.h is not directly used by
> s390 arch code anymore. Remove asm/gmap.h from a few other files as
> well, so that now only KVM code, mm/gmap.c, and asm/tlb.h include it.
>
> Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
>  arch/s390/include/asm/tlb.h | 1 +
>  arch/s390/include/asm/uv.h  | 1 -
>  arch/s390/kvm/intercept.c   | 1 +
>  arch/s390/mm/fault.c        | 1 -
>  arch/s390/mm/gmap.c         | 1 -
>  arch/s390/mm/init.c         | 1 -
>  arch/s390/mm/pgalloc.c      | 2 --
>  arch/s390/mm/pgtable.c      | 1 -
>  8 files changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
> index f20601995bb0..56d5f9e0eb2e 100644
> --- a/arch/s390/include/asm/tlb.h
> +++ b/arch/s390/include/asm/tlb.h
> @@ -36,6 +36,7 @@ static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb,
>  
>  #include <asm/tlbflush.h>
>  #include <asm-generic/tlb.h>
> +#include <asm/gmap.h>
>  
>  /*
>   * Release the page cache reference for a pte removed by
> diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
> index 46fb0ef6f984..eeb2db4783e6 100644
> --- a/arch/s390/include/asm/uv.h
> +++ b/arch/s390/include/asm/uv.h
> @@ -16,7 +16,6 @@
>  #include <linux/bug.h>
>  #include <linux/sched.h>
>  #include <asm/page.h>
> -#include <asm/gmap.h>
>  #include <asm/asm.h>
>  
>  #define UVC_CC_OK	0
> diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
> index a06a000f196c..b4834bd4d216 100644
> --- a/arch/s390/kvm/intercept.c
> +++ b/arch/s390/kvm/intercept.c
> @@ -16,6 +16,7 @@
>  #include <asm/irq.h>
>  #include <asm/sysinfo.h>
>  #include <asm/uv.h>
> +#include <asm/gmap.h>

This import is not needed.

>  
>  #include "kvm-s390.h"
>  #include "gaccess.h"
> diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
> index da84ff6770de..3829521450dd 100644
> --- a/arch/s390/mm/fault.c
> +++ b/arch/s390/mm/fault.c
> @@ -40,7 +40,6 @@
>  #include <asm/ptrace.h>
>  #include <asm/fault.h>
>  #include <asm/diag.h>
> -#include <asm/gmap.h>
>  #include <asm/irq.h>
>  #include <asm/facility.h>
>  #include <asm/uv.h>
> diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
> index a94bd4870c65..4869555ff403 100644
> --- a/arch/s390/mm/gmap.c
> +++ b/arch/s390/mm/gmap.c
> @@ -24,7 +24,6 @@
>  #include <asm/machine.h>
>  #include <asm/gmap.h>
>  #include <asm/page.h>
> -#include <asm/tlb.h>
>  
>  /*
>   * The address is saved in a radix tree directly; NULL would be ambiguous,
> diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
> index afa085e8186c..074bf4fb4ce2 100644
> --- a/arch/s390/mm/init.c
> +++ b/arch/s390/mm/init.c
> @@ -40,7 +40,6 @@
>  #include <asm/kfence.h>
>  #include <asm/dma.h>
>  #include <asm/abs_lowcore.h>
> -#include <asm/tlb.h>
>  #include <asm/tlbflush.h>
>  #include <asm/sections.h>
>  #include <asm/sclp.h>
> diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
> index e3a6f8ae156c..ddab36875370 100644
> --- a/arch/s390/mm/pgalloc.c
> +++ b/arch/s390/mm/pgalloc.c
> @@ -12,8 +12,6 @@
>  #include <asm/mmu_context.h>
>  #include <asm/page-states.h>
>  #include <asm/pgalloc.h>
> -#include <asm/gmap.h>
> -#include <asm/tlb.h>
>  #include <asm/tlbflush.h>
>  
>  unsigned long *crst_table_alloc(struct mm_struct *mm)
> diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
> index 9901934284ec..7df70cd8f739 100644
> --- a/arch/s390/mm/pgtable.c
> +++ b/arch/s390/mm/pgtable.c
> @@ -20,7 +20,6 @@
>  #include <linux/ksm.h>
>  #include <linux/mman.h>
>  
> -#include <asm/tlb.h>
>  #include <asm/tlbflush.h>
>  #include <asm/mmu_context.h>
>  #include <asm/page-states.h>
Re: [PATCH v1 1/5] s390: remove unneeded includes
Posted by Claudio Imbrenda 8 months, 4 weeks ago
On Thu, 15 May 2025 15:56:44 +0200
"Christoph Schlameuss" <schlameuss@linux.ibm.com> wrote:

> You added one unnecessary import to arch/s390/kvm/intercept.c
> 
> With that removed:
> Reviewed-by: Christoph Schlameuss <schlameuss@linux.ibm.com>
> 
> 
> On Wed May 14, 2025 at 6:38 PM CEST, Claudio Imbrenda wrote:
> > Many files don't need to include asm/tlb.h or asm/gmap.h.
> > On the other hand, asm/tlb.h does need to include asm/gmap.h.
> >
> > Remove all unneeded includes so that asm/tlb.h is not directly used by
> > s390 arch code anymore. Remove asm/gmap.h from a few other files as
> > well, so that now only KVM code, mm/gmap.c, and asm/tlb.h include it.
> >
> > Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> > ---
> >  arch/s390/include/asm/tlb.h | 1 +
> >  arch/s390/include/asm/uv.h  | 1 -
> >  arch/s390/kvm/intercept.c   | 1 +
> >  arch/s390/mm/fault.c        | 1 -
> >  arch/s390/mm/gmap.c         | 1 -
> >  arch/s390/mm/init.c         | 1 -
> >  arch/s390/mm/pgalloc.c      | 2 --
> >  arch/s390/mm/pgtable.c      | 1 -
> >  8 files changed, 2 insertions(+), 7 deletions(-)
> >
> > diff --git a/arch/s390/include/asm/tlb.h b/arch/s390/include/asm/tlb.h
> > index f20601995bb0..56d5f9e0eb2e 100644
> > --- a/arch/s390/include/asm/tlb.h
> > +++ b/arch/s390/include/asm/tlb.h
> > @@ -36,6 +36,7 @@ static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb,
> >  
> >  #include <asm/tlbflush.h>
> >  #include <asm-generic/tlb.h>
> > +#include <asm/gmap.h>
> >  
> >  /*
> >   * Release the page cache reference for a pte removed by
> > diff --git a/arch/s390/include/asm/uv.h b/arch/s390/include/asm/uv.h
> > index 46fb0ef6f984..eeb2db4783e6 100644
> > --- a/arch/s390/include/asm/uv.h
> > +++ b/arch/s390/include/asm/uv.h
> > @@ -16,7 +16,6 @@
> >  #include <linux/bug.h>
> >  #include <linux/sched.h>
> >  #include <asm/page.h>
> > -#include <asm/gmap.h>
> >  #include <asm/asm.h>
> >  
> >  #define UVC_CC_OK	0
> > diff --git a/arch/s390/kvm/intercept.c b/arch/s390/kvm/intercept.c
> > index a06a000f196c..b4834bd4d216 100644
> > --- a/arch/s390/kvm/intercept.c
> > +++ b/arch/s390/kvm/intercept.c
> > @@ -16,6 +16,7 @@
> >  #include <asm/irq.h>
> >  #include <asm/sysinfo.h>
> >  #include <asm/uv.h>
> > +#include <asm/gmap.h>  
> 
> This import is not needed.

it is needed here, but it can be removed in patch 5
(I'll fix that for v2)

> 
> >  
> >  #include "kvm-s390.h"
> >  #include "gaccess.h"
> > diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c
> > index da84ff6770de..3829521450dd 100644
> > --- a/arch/s390/mm/fault.c
> > +++ b/arch/s390/mm/fault.c
> > @@ -40,7 +40,6 @@
> >  #include <asm/ptrace.h>
> >  #include <asm/fault.h>
> >  #include <asm/diag.h>
> > -#include <asm/gmap.h>
> >  #include <asm/irq.h>
> >  #include <asm/facility.h>
> >  #include <asm/uv.h>
> > diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c
> > index a94bd4870c65..4869555ff403 100644
> > --- a/arch/s390/mm/gmap.c
> > +++ b/arch/s390/mm/gmap.c
> > @@ -24,7 +24,6 @@
> >  #include <asm/machine.h>
> >  #include <asm/gmap.h>
> >  #include <asm/page.h>
> > -#include <asm/tlb.h>
> >  
> >  /*
> >   * The address is saved in a radix tree directly; NULL would be ambiguous,
> > diff --git a/arch/s390/mm/init.c b/arch/s390/mm/init.c
> > index afa085e8186c..074bf4fb4ce2 100644
> > --- a/arch/s390/mm/init.c
> > +++ b/arch/s390/mm/init.c
> > @@ -40,7 +40,6 @@
> >  #include <asm/kfence.h>
> >  #include <asm/dma.h>
> >  #include <asm/abs_lowcore.h>
> > -#include <asm/tlb.h>
> >  #include <asm/tlbflush.h>
> >  #include <asm/sections.h>
> >  #include <asm/sclp.h>
> > diff --git a/arch/s390/mm/pgalloc.c b/arch/s390/mm/pgalloc.c
> > index e3a6f8ae156c..ddab36875370 100644
> > --- a/arch/s390/mm/pgalloc.c
> > +++ b/arch/s390/mm/pgalloc.c
> > @@ -12,8 +12,6 @@
> >  #include <asm/mmu_context.h>
> >  #include <asm/page-states.h>
> >  #include <asm/pgalloc.h>
> > -#include <asm/gmap.h>
> > -#include <asm/tlb.h>
> >  #include <asm/tlbflush.h>
> >  
> >  unsigned long *crst_table_alloc(struct mm_struct *mm)
> > diff --git a/arch/s390/mm/pgtable.c b/arch/s390/mm/pgtable.c
> > index 9901934284ec..7df70cd8f739 100644
> > --- a/arch/s390/mm/pgtable.c
> > +++ b/arch/s390/mm/pgtable.c
> > @@ -20,7 +20,6 @@
> >  #include <linux/ksm.h>
> >  #include <linux/mman.h>
> >  
> > -#include <asm/tlb.h>
> >  #include <asm/tlbflush.h>
> >  #include <asm/mmu_context.h>
> >  #include <asm/page-states.h>  
>