[PATCH 1/5] mm: update split ptlock Kconfig

From: Hugh Dickins
Date: Mon Nov 21 2005 - 17:42:23 EST


Closer attention to the arithmetic shows that neither ppc64 nor sparc
really uses one page for multiple page tables: how on earth could they,
while pte_alloc_one returns just a struct page pointer, with no offset?

Well, arm26 manages it by returning a pte_t pointer cast to a struct
page pointer, harumph, then compensating in its pmd_populate. But
arm26 is never SMP, so it's not a problem for split ptlock either.

And the PA-RISC situation has been recently improved: CONFIG_PA20 works
without the 16-byte alignment which inflated its spinlock_t. But the
current union of spinlock_t with private does make the 7xxx struct page
significantly larger, even without debug, so disable its split ptlock.

Signed-off-by: Hugh Dickins <hugh@xxxxxxxxxxx>
---

mm/Kconfig | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)

--- 2.6.15-rc2/mm/Kconfig 2005-11-20 19:44:23.000000000 +0000
+++ linux/mm/Kconfig 2005-11-21 18:49:53.000000000 +0000
@@ -125,12 +125,10 @@ comment "Memory hotplug is currently inc
# space can be handled with less contention: split it at this NR_CPUS.
# Default to 4 for wider testing, though 8 might be more appropriate.
# ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock.
-# PA-RISC's debug spinlock_t is too large for the 32-bit struct page.
-# ARM26 and SPARC32 and PPC64 may use one page for multiple page tables.
+# PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes.
#
config SPLIT_PTLOCK_CPUS
int
default "4096" if ARM && !CPU_CACHE_VIPT
- default "4096" if PARISC && DEBUG_SPINLOCK && !64BIT
- default "4096" if ARM26 || SPARC32 || PPC64
+ default "4096" if PARISC && !PA20
default "4"
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/