Re: [RFC PATCH 00/18] use struct ptdesc to replace pgtable_t

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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




[Index of Archives]     [Video for Linux]     [Yosemite News]     [Linux S/390]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux