On 8/15/24 12:50 AM, LEROY Christophe wrote: > Hi, > > Le 30/07/2024 à 08:46, alexs@xxxxxxxxxx a écrit : >> From: Alex Shi <alexs@xxxxxxxxxx> >> >> We have struct ptdesc for page table descriptor a year ago, but it >> has no much usages in kernel, while pgtable_t is used widely. >> >> The pgtable_t is typedefed as 'pte_t *' in sparc, s390, powerpc and m68k >> except SUN3, others archs are all same as 'struct page *'. >> >> These blocks the conception and code update for page table descriptor to >> struct ptdesc. >> >> So, the simple idea to push the ptdesc conception forward is to update >> all pgtable_t by ptdesc or pte_t pointer. But this needs widely >> knowledges for most all of different archs. Common code change is easy >> for include/ and mm/ directory, but it's hard in all archs. >> >> Thanks for intel LKP framework, I fixed most all of build issues except >> a bug on powerpc which reports a "struct ptdesc *" incompatible with >> struct ptdesc *' pointer issue... > > Can you tell more about that problem on powerpc ? Which defconfig for > instance ? > Hi Leroy, Thanks a lot for response. The detailed error and code tree is from LKP: On 8/3/24 11:26 AM, kernel test robot wrote: > tree: https://github.com/alexshi/linux.git ptdesc > head: 3735e634f8feb67c941d17222b53906ace2fd2b8 > commit: 8ac2ea5f299444d065b292043aed0a1e94996159 [14/17] mm/pgtable: use ptdesc in pgtable_trans_huge_deposit > config: powerpc-allyesconfig (https://download.01.org/0day-ci/archive/20240803/202408031130.UnwgnuLS-lkp@xxxxxxxxx/config) > compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 423aec6573df4424f90555468128e17073ddc69e) > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240803/202408031130.UnwgnuLS-lkp@xxxxxxxxx/reproduce) > In file included from arch/powerpc/include/asm/book3s/64/mmu-hash.h:20: >>> arch/powerpc/include/asm/book3s/64/pgtable.h:1372:52: error: incompatible pointer types passing 'struct ptdesc *' to parameter of type 'struct ptdesc *' [-Werror,-Wincompatible-pointer-types] >> >> Another trouble is pmd_pgtable() conversion in the last patch. >> Maybe some of arch need define theirself own pmd_ptdesc()? >> >> This patchset is immature, even except above 2 issues, I just tested >> virutal machine booting and kselftest mm on x86 and arm64. >> >> Anyway any input are appreciated! > > Can you tell on which tree you based this series ? Last patch doesn't > apply on 6.11-rc1: The code based on akpm/mm-unstable tree, not upstream, you can check the code on: https://github.com/alexshi/linux.git ptdesc Thanks a lot! Alex