All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qinglin Pan <panqinglin2020@iscas.ac.cn>
To: Conor.Dooley@microchip.com, linux-riscv@lists.infradead.org
Cc: jeff@riscv.org, xuyinan@ict.ac.cn
Subject: Re: Re: [PATCH v4 0/4] riscv, mm: detect svnapot cpu support at runtime
Date: Tue, 23 Aug 2022 11:07:16 +0800	[thread overview]
Message-ID: <44d9f65f-52d1-fb0b-b523-7a930a368c46@iscas.ac.cn> (raw)
In-Reply-To: <58a097b2-ffbc-508a-d98e-9bb567da0f90@microchip.com>

Hey Conor,
I think something maybe wrong with my patchset, and I will fix them and 
all hints you have mentioned in other mails in the next version patchset.

Thank you so much for your review.

Yours,
Qinglin

On 8/23/22 5:22 AM, Conor.Dooley@microchip.com wrote:
> On 22/08/2022 16:34, panqinglin2020@iscas.ac.cn wrote:
>> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
>>
>> From: Qinglin Pan <panqinglin2020@iscas.ac.cn>
> 
> Hey Qingling,
> Apologies for yet another mail - but I built allmodconfig
> with CONFIG_SVNAPOT=y and got a build error:
> 
>    CC      arch/riscv/kernel/asm-offsets.s
> In file included from /stuff/linux/arch/riscv/include/asm/tlbflush.h:12,
>                   from /stuff/linux/arch/riscv/include/asm/pgtable.h:108,
>                   from /stuff/linux/include/linux/pgtable.h:6,
>                   from /stuff/linux/include/linux/mm.h:29,
>                   from /stuff/linux/arch/riscv/kernel/asm-offsets.c:10:
> /stuff/linux/arch/riscv/include/asm/pgtable.h: In function 'pte_pfn':
> /stuff/linux/arch/riscv/include/asm/pgtable.h:299:35: error: '_PAGE_NAPOT_SHIFT' undeclared (first use in this function)
>    299 |         ALT_SVNAPOT_PTE_PFN(_val, _PAGE_NAPOT_SHIFT,
>        |                                   ^~~~~~~~~~~~~~~~~
> /stuff/linux/arch/riscv/include/asm/errata_list.h:165:23: note: in definition of macro 'ALT_SVNAPOT_PTE_PFN'
>    165 |                   "i"(_napot_shift))
>        |                       ^~~~~~~~~~~~
> /stuff/linux/arch/riscv/include/asm/pgtable.h:299:35: note: each undeclared identifier is reported only once for each function it appears in
>    299 |         ALT_SVNAPOT_PTE_PFN(_val, _PAGE_NAPOT_SHIFT,
>        |                                   ^~~~~~~~~~~~~~~~~
> /stuff/linux/arch/riscv/include/asm/errata_list.h:165:23: note: in definition of macro 'ALT_SVNAPOT_PTE_PFN'
>    165 |                   "i"(_napot_shift))
>        |                       ^~~~~~~~~~~~
> In file included from /stuff/linux/include/linux/mm.h:29,
>                   from /stuff/linux/arch/riscv/kernel/asm-offsets.c:10:
> /stuff/linux/include/linux/pgtable.h: At top level:
> /stuff/linux/include/linux/pgtable.h:1457:20: error: redefinition of 'p4d_clear_huge'
>   1457 | static inline void p4d_clear_huge(p4d_t *p4d) { }
>        |                    ^~~~~~~~~~~~~~
> In file included from /stuff/linux/include/linux/pgtable.h:6,
>                   from /stuff/linux/include/linux/mm.h:29,
>                   from /stuff/linux/arch/riscv/kernel/asm-offsets.c:10:
> /stuff/linux/arch/riscv/include/asm/pgtable.h:763:20: note: previous definition of 'p4d_clear_huge' with type 'void(p4d_t *)'
>    763 | static inline void p4d_clear_huge(p4d_t *p4d) { }
>        |                    ^~~~~~~~~~~~~~
> make[3]: *** [/stuff/linux/scripts/Makefile.build:117: arch/riscv/kernel/asm-offsets.s] Error 1
> make[2]: *** [/stuff/linux/Makefile:1205: prepare0] Error 2
> make[2]: Leaving directory '/stuff/brsdk/work/linux'
> make[1]: *** [Makefile:222: __sub-make] Error 2
> make[1]: Leaving directory '/stuff/linux'
> make: *** [Makefile:179: allmodconfig] Error 2
> 
>>
>> Svnapot is a RISC-V extension for marking contiguous 4K pages as a non-4K
>> page. This patch set is for using Svnapot in Linux Kernel's boot process
>> and hugetlb fs.
>>
>> This patchset adds a Kconfig item for using Svnapot in
>> "Platform type"->"Svnapot support". Its default value is off, and people can set
>> it on if they allow kernel to detect Svnapot hardware support and leverage it.
>>
>> Tested on:
>>    - qemu rv64 with "Svnapot support" off and svnapot=true.
>>    - qemu rv64 with "Svnapot support" on and svnapot=true.
>>    - qemu rv64 with "Svnapot support" off and svnapot=false.
>>    - qemu rv64 with "Svnapot support" on and svnapot=false.
>>
>> Changes in v2:
>>    - detect Svnapot hardware support at boot time.
>> Changes in v3:
>>    - do linear mapping again if has_svnapot
>> Changes in v4:
>>    - fix some errors/warns reported by checkpatch.pl, thanks @Conor
>>
>> Qinglin Pan (4):
>>    mm: modify pte format for Svnapot
>>    mm: support Svnapot in physical page linear-mapping
>>    mm: support Svnapot in hugetlb page
>>    mm: support Svnapot in huge vmap
>>
>>   arch/riscv/Kconfig                   |  10 +-
>>   arch/riscv/include/asm/errata_list.h |  24 ++-
>>   arch/riscv/include/asm/hugetlb.h     |  30 +++-
>>   arch/riscv/include/asm/hwcap.h       |   1 +
>>   arch/riscv/include/asm/mmu.h         |   1 +
>>   arch/riscv/include/asm/page.h        |   2 +-
>>   arch/riscv/include/asm/pgtable-64.h  |  14 ++
>>   arch/riscv/include/asm/pgtable.h     |  70 +++++++-
>>   arch/riscv/include/asm/vmalloc.h     |  22 +++
>>   arch/riscv/kernel/cpu.c              |   1 +
>>   arch/riscv/kernel/cpufeature.c       |  18 ++
>>   arch/riscv/kernel/setup.c            |  11 +-
>>   arch/riscv/mm/hugetlbpage.c          | 250 ++++++++++++++++++++++++++-
>>   arch/riscv/mm/init.c                 |  47 +++--
>>   14 files changed, 477 insertions(+), 24 deletions(-)
>>
>> --
>> 2.35.1
>>
>>
>> _______________________________________________
>> linux-riscv mailing list
>> linux-riscv@lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-riscv
> 


_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

      reply	other threads:[~2022-08-23  3:09 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-22 15:34 [PATCH v4 0/4] riscv, mm: detect svnapot cpu support at runtime panqinglin2020
2022-08-22 15:34 ` [PATCH v4 1/4] mm: modify pte format for Svnapot panqinglin2020
2022-08-22 20:45   ` Conor.Dooley
2022-08-22 20:56   ` Conor.Dooley
2022-08-24 17:37   ` Heiko Stübner
2022-08-22 15:34 ` [PATCH v4 2/4] mm: support Svnapot in physical page linear-mapping panqinglin2020
2022-08-22 21:03   ` Conor.Dooley
2022-08-22 15:34 ` [PATCH v4 3/4] mm: support Svnapot in hugetlb page panqinglin2020
2022-08-22 21:08   ` Conor.Dooley
2022-08-22 15:34 ` [PATCH v4 4/4] mm: support Svnapot in huge vmap panqinglin2020
2022-08-22 21:13   ` Conor.Dooley
2022-08-22 21:22 ` [PATCH v4 0/4] riscv, mm: detect svnapot cpu support at runtime Conor.Dooley
2022-08-23  3:07   ` Qinglin Pan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44d9f65f-52d1-fb0b-b523-7a930a368c46@iscas.ac.cn \
    --to=panqinglin2020@iscas.ac.cn \
    --cc=Conor.Dooley@microchip.com \
    --cc=jeff@riscv.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=xuyinan@ict.ac.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.