From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>
Subject: [PATCH v2 11/16] powerpc/64: pcpu setup avoid reading mmu_linear_psize on 64e or radix
Date: Thu, 21 Oct 2021 13:54:12 +1000 [thread overview]
Message-ID: <20211021035417.2157804-12-npiggin@gmail.com> (raw)
In-Reply-To: <20211021035417.2157804-1-npiggin@gmail.com>
Radix never sets mmu_linear_psize so it's always 4K, which causes pcpu
atom_size to always be PAGE_SIZE. 64e sets it to 1GB always.
Make paths for these platforms to be explicit about what value they set
atom_size to.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
arch/powerpc/kernel/setup_64.c | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
index eaa79a0996d1..7d4bcbc3124e 100644
--- a/arch/powerpc/kernel/setup_64.c
+++ b/arch/powerpc/kernel/setup_64.c
@@ -880,14 +880,23 @@ void __init setup_per_cpu_areas(void)
int rc = -EINVAL;
/*
- * Linear mapping is one of 4K, 1M and 16M. For 4K, no need
- * to group units. For larger mappings, use 1M atom which
- * should be large enough to contain a number of units.
+ * BookE and BookS radix are historical values and should be revisited.
*/
- if (mmu_linear_psize == MMU_PAGE_4K)
- atom_size = PAGE_SIZE;
- else
+ if (IS_ENABLED(CONFIG_PPC_BOOK3E)) {
atom_size = 1 << 20;
+ } else if (radix_enabled()) {
+ atom_size = PAGE_SIZE;
+ } else {
+ /*
+ * Linear mapping is one of 4K, 1M and 16M. For 4K, no need
+ * to group units. For larger mappings, use 1M atom which
+ * should be large enough to contain a number of units.
+ */
+ if (mmu_linear_psize == MMU_PAGE_4K)
+ atom_size = PAGE_SIZE;
+ else
+ atom_size = 1 << 20;
+ }
if (pcpu_chosen_fc != PCPU_FC_PAGE) {
rc = pcpu_embed_first_chunk(0, dyn_size, atom_size, pcpu_cpu_distance,
--
2.23.0
next prev parent reply other threads:[~2021-10-21 4:02 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-21 3:54 [PATCH v2 00/16] powerpc: Make hash MMU code build configurable Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 01/16] powerpc: Remove unused FW_FEATURE_NATIVE references Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 02/16] powerpc: Rename PPC_NATIVE to PPC_HASH_MMU_NATIVE Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 03/16] powerpc/pseries: Stop selecting PPC_HASH_MMU_NATIVE Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 04/16] powerpc/64s: Move and rename do_bad_slb_fault as it is not hash specific Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 05/16] powerpc/pseries: move pseries_lpar_register_process_table() out from hash specific code Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 06/16] powerpc/pseries: lparcfg don't include slb_size line in radix mode Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 07/16] powerpc/64s: move THP trace point creation out of hash specific file Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 08/16] powerpc/64s: Make flush_and_reload_slb a no-op when radix is enabled Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 09/16] powerpc/64s: move page size definitions from hash specific file Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 10/16] powerpc/64s: Rename hash_hugetlbpage.c to hugetlbpage.c Nicholas Piggin
2021-10-21 3:54 ` Nicholas Piggin [this message]
2021-10-21 4:52 ` [PATCH v2 11/16] powerpc/64: pcpu setup avoid reading mmu_linear_psize on 64e or radix Christophe Leroy
2021-10-21 7:13 ` Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 12/16] powerpc/64e: remove mmu_linear_psize Nicholas Piggin
2021-10-21 5:03 ` Christophe Leroy
2021-10-21 7:15 ` Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 13/16] powerpc/64s: Move hash MMU code under a new Kconfig name Nicholas Piggin
2021-10-21 5:43 ` Christophe Leroy
2021-10-21 7:33 ` Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 14/16] powerpc/64s: Make hash MMU support configurable Nicholas Piggin
2021-10-21 5:44 ` Christophe Leroy
2021-10-21 3:54 ` [PATCH v2 15/16] powerpc/configs/microwatt: add POWER9_CPU Nicholas Piggin
2021-10-21 3:54 ` [PATCH v2 16/16] powerpc/microwatt: Don't select the hash MMU code Nicholas Piggin
2021-10-21 5:19 ` Joel Stanley
2021-10-21 7:38 ` Nicholas Piggin
2021-10-21 5:47 ` Christophe Leroy
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=20211021035417.2157804-12-npiggin@gmail.com \
--to=npiggin@gmail.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/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.