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

Vishal Moola (Oracle) posted 33 patches 2 years, 7 months ago
There is a newer version of this series
[PATCH v5 26/33] nios2: Convert __pte_free_tlb() to use ptdescs
Posted by Vishal Moola (Oracle) 2 years, 7 months ago
Part of the conversions to replace pgtable constructor/destructors with
ptdesc equivalents.

Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
---
 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
Posted by Guenter Roeck 2 years, 7 months ago
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) <vishal.moola@gmail.com>
> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>

This patch causes all nios2 builds to fail.

Building nios2:allnoconfig ... failed
--------------
Error log:
<stdin>: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
Posted by Vishal Moola 2 years, 7 months ago
On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
> > Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>
> 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
Posted by Guenter Roeck 2 years, 7 months ago
On 6/27/23 10:42, Vishal Moola wrote:
> On Mon, Jun 26, 2023 at 10:47 PM Guenter Roeck <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>
>> 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
Posted by Guenter Roeck 2 years, 7 months ago
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 <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>>
>>> 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:
<stdin>: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
Posted by Vishal Moola 2 years, 7 months ago
On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck <linux@roeck-us.net> 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 <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
> >>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
> >>>
> >>> 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:
> <stdin>: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
Posted by Dinh Nguyen 2 years, 7 months ago

On 6/27/23 14:56, Vishal Moola wrote:
> On Tue, Jun 27, 2023 at 12:14 PM Guenter Roeck <linux@roeck-us.net> 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 <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>>>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>>>>
>>>>> 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
Posted by Guenter Roeck 2 years, 7 months ago
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 <linux@roeck-us.net> 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 <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>>>>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>>>>>
>>>>>> 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
Posted by Dinh Nguyen 2 years, 7 months ago

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 <linux@roeck-us.net> 
>>> 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 
>>>>>> <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>>>>>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>>>>>>
>>>>>>> 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
Posted by Guenter Roeck 2 years, 7 months ago
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 <linux@roeck-us.net> 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 <linux@roeck-us.net> 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) <vishal.moola@gmail.com>
>>>>>>>>> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
>>>>>>>>
>>>>>>>> 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
Posted by Dinh Nguyen 2 years, 7 months ago

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) <vishal.moola@gmail.com>
> Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
> ---
>   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 <dinguyen@kernel.org>