From: Tong Tiangen <tongtiangen@huawei.com> To: Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu> Cc: <linux-riscv@lists.infradead.org>, <linux-kernel@vger.kernel.org>, "Tong Tiangen" <tongtiangen@huawei.com>, <wangkefeng.wang@huawei.com>, Guohanjun <guohanjun@huawei.com> Subject: [PATCH -next 2/2] riscv/mm: add arch hook arch_clear_hugepage_flags Date: Mon, 24 Oct 2022 09:47:25 +0000 [thread overview] Message-ID: <20221024094725.3054311-3-tongtiangen@huawei.com> (raw) In-Reply-To: <20221024094725.3054311-1-tongtiangen@huawei.com> With the PG_arch_1 we keep track if the page's data cache is clean, architecture rely on this property to treat new pages as dirty with respect to the data cache and perform the flushing before mapping the pages into userspace. This patch adds a new architecture hook, arch_clear_hugepage_flags,so that architectures which rely on the page flags being in a particular state for fresh allocations can adjust the flags accordingly when a page is freed into the pool. Fixes: 9e953cda5cdf ("riscv: Introduce huge page support for 32/64bit kernel") Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> --- arch/riscv/include/asm/hugetlb.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/riscv/include/asm/hugetlb.h b/arch/riscv/include/asm/hugetlb.h index a5c2ca1d1cd8..ec19d6afc896 100644 --- a/arch/riscv/include/asm/hugetlb.h +++ b/arch/riscv/include/asm/hugetlb.h @@ -5,4 +5,10 @@ #include <asm-generic/hugetlb.h> #include <asm/page.h> +static inline void arch_clear_hugepage_flags(struct page *page) +{ + clear_bit(PG_dcache_clean, &page->flags); +} +#define arch_clear_hugepage_flags arch_clear_hugepage_flags + #endif /* _ASM_RISCV_HUGETLB_H */ -- 2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Tong Tiangen <tongtiangen@huawei.com> To: Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu> Cc: <linux-riscv@lists.infradead.org>, <linux-kernel@vger.kernel.org>, "Tong Tiangen" <tongtiangen@huawei.com>, <wangkefeng.wang@huawei.com>, Guohanjun <guohanjun@huawei.com> Subject: [PATCH -next 2/2] riscv/mm: add arch hook arch_clear_hugepage_flags Date: Mon, 24 Oct 2022 09:47:25 +0000 [thread overview] Message-ID: <20221024094725.3054311-3-tongtiangen@huawei.com> (raw) In-Reply-To: <20221024094725.3054311-1-tongtiangen@huawei.com> With the PG_arch_1 we keep track if the page's data cache is clean, architecture rely on this property to treat new pages as dirty with respect to the data cache and perform the flushing before mapping the pages into userspace. This patch adds a new architecture hook, arch_clear_hugepage_flags,so that architectures which rely on the page flags being in a particular state for fresh allocations can adjust the flags accordingly when a page is freed into the pool. Fixes: 9e953cda5cdf ("riscv: Introduce huge page support for 32/64bit kernel") Signed-off-by: Tong Tiangen <tongtiangen@huawei.com> --- arch/riscv/include/asm/hugetlb.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/arch/riscv/include/asm/hugetlb.h b/arch/riscv/include/asm/hugetlb.h index a5c2ca1d1cd8..ec19d6afc896 100644 --- a/arch/riscv/include/asm/hugetlb.h +++ b/arch/riscv/include/asm/hugetlb.h @@ -5,4 +5,10 @@ #include <asm-generic/hugetlb.h> #include <asm/page.h> +static inline void arch_clear_hugepage_flags(struct page *page) +{ + clear_bit(PG_dcache_clean, &page->flags); +} +#define arch_clear_hugepage_flags arch_clear_hugepage_flags + #endif /* _ASM_RISCV_HUGETLB_H */ -- 2.25.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next prev parent reply other threads:[~2022-10-24 9:21 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-10-24 9:47 [PATCH -next 0/2]riscv/mm: two modifications on hugepage Tong Tiangen 2022-10-24 9:47 ` Tong Tiangen 2022-10-24 9:47 ` [PATCH -next 1/2] riscv/mm: hugepage's PG_dcache_clean flag is only set in head page Tong Tiangen 2022-10-24 9:47 ` Tong Tiangen 2022-10-24 9:47 ` Tong Tiangen [this message] 2022-10-24 9:47 ` [PATCH -next 2/2] riscv/mm: add arch hook arch_clear_hugepage_flags Tong Tiangen 2022-12-02 21:03 ` [PATCH -next 0/2]riscv/mm: two modifications on hugepage Palmer Dabbelt 2022-12-02 21:03 ` Palmer Dabbelt 2022-12-02 21:25 ` patchwork-bot+linux-riscv 2022-12-02 21:25 ` patchwork-bot+linux-riscv
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=20221024094725.3054311-3-tongtiangen@huawei.com \ --to=tongtiangen@huawei.com \ --cc=aou@eecs.berkeley.edu \ --cc=guohanjun@huawei.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ --cc=wangkefeng.wang@huawei.com \ /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: linkBe 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.