Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Guenter Roeck

On 6/27/23 14:46, Dinh Nguyen wrote:



On 6/27/23 16:01, Guenter Roeck wrote:

On 6/27/23 13:05, Dinh Nguyen wrote:



On 6/27/23 14:56, Vishal Moola wrote:

On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck  wrote:


On 6/27/23 12:10, Guenter Roeck wrote:

On 6/27/23 10:42, Vishal Moola wrote:

On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).



No, I did not try to apply this patch on its own. I tried to build yesterday's
pending-fixes branch of linux-next.



A quick check shows that the build fails with next-20230627. See log below.


Ah it looks like this one slipped into -next on its own somehow? Stephen, please
drop this patch from -next; it shouldn't be in without the rest of the
patchset which
I intend to have Andrew take through the mm tree.



I apologize, but I queue this patch up for Linus and it's been pulled for this 
merge window. I didn't realize you were going to take this patchset through 
another tree.

Sorry about that.



Yes, indeed, I just confirmed that all nios2 builds in the mainline kernel
are now broken.



Please let me know if you need to do anything. I'm going to out for a week 
starting tomorrow.



Not sure I understand. It seems to me that it would have to be you to do 
something.
After all, you are the nios2 maintainer, and nios2 builds in mainline are now
broken. Maybe send a revert ? Am I missing something ?

Guenter



Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Dinh Nguyen




On 6/27/23 16:01, Guenter Roeck wrote:

On 6/27/23 13:05, Dinh Nguyen wrote:



On 6/27/23 14:56, Vishal Moola wrote:
On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck  
wrote:


On 6/27/23 12:10, Guenter Roeck wrote:

On 6/27/23 10:42, Vishal Moola wrote:
On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck 
 wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) 
wrote:
Part of the conversions to replace pgtable 
constructor/destructors with

ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch 
depends
on patches 01-12 of this patchset to compile properly. I've 
cross-compiled

this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the 
patchset).



No, I did not try to apply this patch on its own. I tried to build 
yesterday's

pending-fixes branch of linux-next.



A quick check shows that the build fails with next-20230627. See log 
below.


Ah it looks like this one slipped into -next on its own somehow? 
Stephen, please

drop this patch from -next; it shouldn't be in without the rest of the
patchset which
I intend to have Andrew take through the mm tree.



I apologize, but I queue this patch up for Linus and it's been pulled 
for this merge window. I didn't realize you were going to take this 
patchset through another tree.


Sorry about that.



Yes, indeed, I just confirmed that all nios2 builds in the mainline kernel
are now broken.



Please let me know if you need to do anything. I'm going to out for a 
week starting tomorrow.


Dinh


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Guenter Roeck

On 6/27/23 13:05, Dinh Nguyen wrote:



On 6/27/23 14:56, Vishal Moola wrote:

On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck  wrote:


On 6/27/23 12:10, Guenter Roeck wrote:

On 6/27/23 10:42, Vishal Moola wrote:

On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).



No, I did not try to apply this patch on its own. I tried to build yesterday's
pending-fixes branch of linux-next.



A quick check shows that the build fails with next-20230627. See log below.


Ah it looks like this one slipped into -next on its own somehow? Stephen, please
drop this patch from -next; it shouldn't be in without the rest of the
patchset which
I intend to have Andrew take through the mm tree.



I apologize, but I queue this patch up for Linus and it's been pulled for this 
merge window. I didn't realize you were going to take this patchset through 
another tree.

Sorry about that.



Yes, indeed, I just confirmed that all nios2 builds in the mainline kernel
are now broken.

Guenter



Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Dinh Nguyen




On 6/27/23 14:56, Vishal Moola wrote:

On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck  wrote:


On 6/27/23 12:10, Guenter Roeck wrote:

On 6/27/23 10:42, Vishal Moola wrote:

On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).



No, I did not try to apply this patch on its own. I tried to build yesterday's
pending-fixes branch of linux-next.



A quick check shows that the build fails with next-20230627. See log below.


Ah it looks like this one slipped into -next on its own somehow? Stephen, please
drop this patch from -next; it shouldn't be in without the rest of the
patchset which
I intend to have Andrew take through the mm tree.



I apologize, but I queue this patch up for Linus and it's been pulled 
for this merge window. I didn't realize you were going to take this 
patchset through another tree.


Sorry about that.

Dinh


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Vishal Moola
On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck  wrote:
>
> On 6/27/23 12:10, Guenter Roeck wrote:
> > On 6/27/23 10:42, Vishal Moola wrote:
> >> On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:
> >>>
> >>> On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:
>  Part of the conversions to replace pgtable constructor/destructors with
>  ptdesc equivalents.
> 
>  Signed-off-by: Vishal Moola (Oracle) 
>  Acked-by: Mike Rapoport (IBM) 
> >>>
> >>> This patch causes all nios2 builds to fail.
> >>
> >> It looks like you tried to apply this patch on its own. This patch depends
> >> on patches 01-12 of this patchset to compile properly. I've cross-compiled
> >> this architecture and it worked, but let me know if something fails
> >> when its applied on top of those patches (or the rest of the patchset).
> >
> >
> > No, I did not try to apply this patch on its own. I tried to build 
> > yesterday's
> > pending-fixes branch of linux-next.
> >
>
> A quick check shows that the build fails with next-20230627. See log below.

Ah it looks like this one slipped into -next on its own somehow? Stephen, please
drop this patch from -next; it shouldn't be in without the rest of the
patchset which
I intend to have Andrew take through the mm tree.

> Guenter
>
> ---
>
> $ git describe
> next-20230627
> $ git describe --match 'v*'
> v6.4-12601-g53cdf865f90b
>
> Build reference: v6.4-12601-g53cdf865f90b
> Compiler version: nios2-linux-gcc (GCC) 11.4.0
> Assembler version: GNU assembler (GNU Binutils) 2.40
>
> Building nios2:allnoconfig ... failed
> --
> Error log:
> :1519:2: warning: #warning syscall clone3 not implemented [-Wcpp]
> In file included from mm/memory.c:86:
> mm/memory.c: In function 'free_pte_range':
> arch/nios2/include/asm/pgalloc.h:33:17: error: implicit declaration of 
> function 'pagetable_pte_dtor'; did you mean 'pgtable_pte_page_dtor'? 
> [-Werror=implicit-function-declaration]
> 33 | pagetable_pte_dtor(page_ptdesc(pte));
>\
>| ^~
> include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
>666 | __pte_free_tlb(tlb, ptep, address); \
>| ^~
> mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
>194 | pte_free_tlb(tlb, token, addr);
>| ^~~~
> arch/nios2/include/asm/pgalloc.h:33:36: error: implicit declaration of 
> function 'page_ptdesc' [-Werror=implicit-function-declaration]
> 33 | pagetable_pte_dtor(page_ptdesc(pte));
>\
>|^~~
> include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
>666 | __pte_free_tlb(tlb, ptep, address); \
>| ^~
> mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
>194 | pte_free_tlb(tlb, token, addr);
>| ^~~~
> arch/nios2/include/asm/pgalloc.h:34:17: error: implicit declaration of 
> function 'tlb_remove_page_ptdesc'; did you mean 'tlb_remove_page_size'? 
> [-Werror=implicit-function-declaration]
> 34 | tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));   
>\
>| ^~
> include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
>666 | __pte_free_tlb(tlb, ptep, address); \
>| ^~
> mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
>194 | pte_free_tlb(tlb, token, addr);
>| ^~~~
> cc1: some warnings being treated as errors
> make[3]: *** [scripts/Makefile.build:243: mm/memory.o] Error 1
> make[3]: *** Waiting for unfinished jobs
> make[2]: *** [scripts/Makefile.build:477: mm] Error 2
> make[2]: *** Waiting for unfinished jobs
> make[1]: *** [Makefile:2022: .] Error 2
> make: *** [Makefile:226: __sub-make] Error 2


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Guenter Roeck

On 6/27/23 12:10, Guenter Roeck wrote:

On 6/27/23 10:42, Vishal Moola wrote:

On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).



No, I did not try to apply this patch on its own. I tried to build yesterday's
pending-fixes branch of linux-next.



A quick check shows that the build fails with next-20230627. See log below.

Guenter

---

$ git describe
next-20230627
$ git describe --match 'v*'
v6.4-12601-g53cdf865f90b

Build reference: v6.4-12601-g53cdf865f90b
Compiler version: nios2-linux-gcc (GCC) 11.4.0
Assembler version: GNU assembler (GNU Binutils) 2.40

Building nios2:allnoconfig ... failed
--
Error log:
:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp]
In file included from mm/memory.c:86:
mm/memory.c: In function 'free_pte_range':
arch/nios2/include/asm/pgalloc.h:33:17: error: implicit declaration of function 
'pagetable_pte_dtor'; did you mean 'pgtable_pte_page_dtor'? 
[-Werror=implicit-function-declaration]
   33 | pagetable_pte_dtor(page_ptdesc(pte));   
\
  | ^~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
  194 | pte_free_tlb(tlb, token, addr);
  | ^~~~
arch/nios2/include/asm/pgalloc.h:33:36: error: implicit declaration of function 
'page_ptdesc' [-Werror=implicit-function-declaration]
   33 | pagetable_pte_dtor(page_ptdesc(pte));   
\
  |^~~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
  194 | pte_free_tlb(tlb, token, addr);
  | ^~~~
arch/nios2/include/asm/pgalloc.h:34:17: error: implicit declaration of function 
'tlb_remove_page_ptdesc'; did you mean 'tlb_remove_page_size'? 
[-Werror=implicit-function-declaration]
   34 | tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));  
\
  | ^~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:194:9: note: in expansion of macro 'pte_free_tlb'
  194 | pte_free_tlb(tlb, token, addr);
  | ^~~~
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: mm/memory.o] Error 1
make[3]: *** Waiting for unfinished jobs
make[2]: *** [scripts/Makefile.build:477: mm] Error 2
make[2]: *** Waiting for unfinished jobs
make[1]: *** [Makefile:2022: .] Error 2
make: *** [Makefile:226: __sub-make] Error 2


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Guenter Roeck

On 6/27/23 10:42, Vishal Moola wrote:

On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:


On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 


This patch causes all nios2 builds to fail.


It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).



No, I did not try to apply this patch on its own. I tried to build yesterday's
pending-fixes branch of linux-next.

Guenter



Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-27 Thread Vishal Moola
On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck  wrote:
>
> On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:
> > Part of the conversions to replace pgtable constructor/destructors with
> > ptdesc equivalents.
> >
> > Signed-off-by: Vishal Moola (Oracle) 
> > Acked-by: Mike Rapoport (IBM) 
>
> This patch causes all nios2 builds to fail.

It looks like you tried to apply this patch on its own. This patch depends
on patches 01-12 of this patchset to compile properly. I've cross-compiled
this architecture and it worked, but let me know if something fails
when its applied on top of those patches (or the rest of the patchset).


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-26 Thread Guenter Roeck
On Thu, Jun 22, 2023 at 01:57:38PM -0700, Vishal Moola (Oracle) wrote:
> Part of the conversions to replace pgtable constructor/destructors with
> ptdesc equivalents.
> 
> Signed-off-by: Vishal Moola (Oracle) 
> Acked-by: Mike Rapoport (IBM) 

This patch causes all nios2 builds to fail.

Building nios2:allnoconfig ... failed
--
Error log:
:1519:2: warning: #warning syscall clone3 not implemented [-Wcpp]
In file included from mm/memory.c:85:
mm/memory.c: In function 'free_pte_range':
arch/nios2/include/asm/pgalloc.h:33:17: error: implicit declaration of function 
'pagetable_pte_dtor'; did you mean 'pgtable_pte_page_dtor'? 
[-Werror=implicit-function-declaration]
   33 | pagetable_pte_dtor(page_ptdesc(pte));   
\
  | ^~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:193:9: note: in expansion of macro 'pte_free_tlb'
  193 | pte_free_tlb(tlb, token, addr);
  | ^~~~
arch/nios2/include/asm/pgalloc.h:33:36: error: implicit declaration of function 
'page_ptdesc' [-Werror=implicit-function-declaration]
   33 | pagetable_pte_dtor(page_ptdesc(pte));   
\
  |^~~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:193:9: note: in expansion of macro 'pte_free_tlb'
  193 | pte_free_tlb(tlb, token, addr);
  | ^~~~
arch/nios2/include/asm/pgalloc.h:34:17: error: implicit declaration of function 
'tlb_remove_page_ptdesc'; did you mean 'tlb_remove_page_size'? 
[-Werror=implicit-function-declaration]
   34 | tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));  
\
  | ^~
include/asm-generic/tlb.h:666:17: note: in expansion of macro '__pte_free_tlb'
  666 | __pte_free_tlb(tlb, ptep, address); \
  | ^~
mm/memory.c:193:9: note: in expansion of macro 'pte_free_tlb'
  193 | pte_free_tlb(tlb, token, addr);

> ---
>  arch/nios2/include/asm/pgalloc.h | 8 
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/nios2/include/asm/pgalloc.h 
> b/arch/nios2/include/asm/pgalloc.h
> index ecd1657bb2ce..ce6bb8e74271 100644
> --- a/arch/nios2/include/asm/pgalloc.h
> +++ b/arch/nios2/include/asm/pgalloc.h
> @@ -28,10 +28,10 @@ static inline void pmd_populate(struct mm_struct *mm, 
> pmd_t *pmd,
>  
>  extern pgd_t *pgd_alloc(struct mm_struct *mm);
>  
> -#define __pte_free_tlb(tlb, pte, addr)   \
> - do {\
> - pgtable_pte_page_dtor(pte); \
> - tlb_remove_page((tlb), (pte));  \
> +#define __pte_free_tlb(tlb, pte, addr)   
> \
> + do {\
> + pagetable_pte_dtor(page_ptdesc(pte));   \
> + tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));  \
>   } while (0)
>  
>  #endif /* _ASM_NIOS2_PGALLOC_H */
> -- 
> 2.40.1
> 
> 


Re: [PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-22 Thread Dinh Nguyen




On 6/22/23 15:57, Vishal Moola (Oracle) wrote:

Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 
---
  arch/nios2/include/asm/pgalloc.h | 8 
  1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/nios2/include/asm/pgalloc.h b/arch/nios2/include/asm/pgalloc.h
index ecd1657bb2ce..ce6bb8e74271 100644
--- a/arch/nios2/include/asm/pgalloc.h
+++ b/arch/nios2/include/asm/pgalloc.h
@@ -28,10 +28,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t 
*pmd,
  
  extern pgd_t *pgd_alloc(struct mm_struct *mm);
  
-#define __pte_free_tlb(tlb, pte, addr)\

-   do {\
-   pgtable_pte_page_dtor(pte); \
-   tlb_remove_page((tlb), (pte));  \
+#define __pte_free_tlb(tlb, pte, addr) \
+   do {\
+   pagetable_pte_dtor(page_ptdesc(pte));   \
+   tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));  \
} while (0)
  
  #endif /* _ASM_NIOS2_PGALLOC_H */


Acked-by: Dinh Nguyen 


[PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs

2023-06-22 Thread Vishal Moola (Oracle)
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) 
Acked-by: Mike Rapoport (IBM) 
---
 arch/nios2/include/asm/pgalloc.h | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/nios2/include/asm/pgalloc.h b/arch/nios2/include/asm/pgalloc.h
index ecd1657bb2ce..ce6bb8e74271 100644
--- a/arch/nios2/include/asm/pgalloc.h
+++ b/arch/nios2/include/asm/pgalloc.h
@@ -28,10 +28,10 @@ static inline void pmd_populate(struct mm_struct *mm, pmd_t 
*pmd,
 
 extern pgd_t *pgd_alloc(struct mm_struct *mm);
 
-#define __pte_free_tlb(tlb, pte, addr) \
-   do {\
-   pgtable_pte_page_dtor(pte); \
-   tlb_remove_page((tlb), (pte));  \
+#define __pte_free_tlb(tlb, pte, addr) \
+   do {\
+   pagetable_pte_dtor(page_ptdesc(pte));   \
+   tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte)));  \
} while (0)
 
 #endif /* _ASM_NIOS2_PGALLOC_H */
-- 
2.40.1