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]     [Linux Kernel]     [Kernel Newbies]     [x86 Platform Driver]     [Netdev]     [Linux Wireless]     [Netfilter]     [Bugtraq]     [Linux Filesystems]     [Yosemite Discussion]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux