| Message ID | 66cd5b21aecc3281318b66a3a4aae078c4b9d37b.1763117269.git.zhengqi.arch@bytedance.com |
|---|---|
| State | Not Applicable |
| Headers | show |
| Series | enable PT_RECLAIM on all 64-bit architectures | expand |
Hi, I applied your patches to a fresh pull of torvalds/linux.git repo but was unable to build the kernel (on Alpha) with this patch applied. I made the following changes in order to get it to build on Alpha: diff --git a/mm/pt_reclaim.c b/mm/pt_reclaim.c index 7e9455a18aae..6761b0c282bf 100644 --- a/mm/pt_reclaim.c +++ b/mm/pt_reclaim.c @@ -1,7 +1,7 @@ // SPDX-License-Identifier: GPL-2.0 #include <linux/hugetlb.h> -#include <asm-generic/tlb.h> #include <asm/pgalloc.h> +#include <asm/tlb.h> #include "internal.h" /Magnus
Hi Magnus, On 11/15/25 3:13 AM, Magnus Lindholm wrote: > Hi, > > I applied your patches to a fresh pull of torvalds/linux.git repo but was unable > to build the kernel (on Alpha) with this patch applied. > > I made the following changes in order to get it to build on Alpha: Thanks! Will fix it in the next version. > > diff --git a/mm/pt_reclaim.c b/mm/pt_reclaim.c > index 7e9455a18aae..6761b0c282bf 100644 > --- a/mm/pt_reclaim.c > +++ b/mm/pt_reclaim.c > @@ -1,7 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0 > #include <linux/hugetlb.h> > -#include <asm-generic/tlb.h> > #include <asm/pgalloc.h> > +#include <asm/tlb.h> > > #include "internal.h" > > > /Magnus
diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 80367f2cf821c..681ed894d9e72 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -40,6 +40,7 @@ config ALPHA select MMU_GATHER_NO_RANGE select SPARSEMEM_EXTREME if SPARSEMEM select ZONE_DMA + select MMU_GATHER_RCU_TABLE_FREE help The Alpha is a 64-bit general-purpose processor designed and marketed by the Digital Equipment Corporation of blessed memory, diff --git a/arch/alpha/include/asm/tlb.h b/arch/alpha/include/asm/tlb.h index 4f79e331af5ea..4fe5a901720f0 100644 --- a/arch/alpha/include/asm/tlb.h +++ b/arch/alpha/include/asm/tlb.h @@ -4,7 +4,9 @@ #include <asm-generic/tlb.h> -#define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) -#define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd) - +#define __pte_free_tlb(tlb, pte, address) \ + tlb_remove_ptdesc((tlb), page_ptdesc(pte)) +#define __pmd_free_tlb(tlb, pmd, address) \ + tlb_remove_ptdesc((tlb), virt_to_ptdesc(pmd)) + #endif