* [PATCH RFC] ARM: extend fixmap mapping region to support 30 CPUs
@ 2014-03-24 9:12 Liu Hua
2014-03-24 20:00 ` Nicolas Pitre
0 siblings, 1 reply; 2+ messages in thread
From: Liu Hua @ 2014-03-24 9:12 UTC (permalink / raw)
To: nicolas.pitre
Cc: linux, will.deacon, linux-arm-kernel, linux-kernel, wangnan0,
peifeiyue, Liu Hua
In 32-bit ARM systems, the fixmap mapping region can support
no more than 14 CPUs(total: 896k; one CPU: 64K). And we can
configure NR_CPUS up to 32. So there is a mismatch.
This patch extends the fixmapping region downwards to boundary
of DMA mapping region(0xffe00000-0xfffe0000). Then the fixmap
mapping region can support up to 30 CPUs.
There seems to be no easy way to support 32 CPUs by simply
changing memory layout on ARM Linux. So I also limit the
maximal CPU number one can configure.
Signed-off-by: Liu Hua <sdu.liu@huawei.com>
---
Documentation/arm/memory.txt | 4 ++--
arch/arm/Kconfig | 4 ++--
arch/arm/include/asm/fixmap.h | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/Documentation/arm/memory.txt b/Documentation/arm/memory.txt
index 4bfb9ff..cc31560 100644
--- a/Documentation/arm/memory.txt
+++ b/Documentation/arm/memory.txt
@@ -41,10 +41,10 @@ fffe8000 fffeffff DTCM mapping area for platforms with
fffe0000 fffe7fff ITCM mapping area for platforms with
ITCM mounted inside the CPU.
-fff00000 fffdffff Fixmap mapping region. Addresses provided
+ffe00000 fffdffff Fixmap mapping region. Addresses provided
by fix_to_virt() will be located here.
-ffc00000 ffefffff DMA memory mapping region. Memory returned
+ffc00000 ffdfffff DMA memory mapping region. Memory returned
by the dma_alloc_xxx functions will be
dynamically mapped here.
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e254198..f599040 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1600,8 +1600,8 @@ config PAGE_OFFSET
default 0xC0000000
config NR_CPUS
- int "Maximum number of CPUs (2-32)"
- range 2 32
+ int "Maximum number of CPUs (2-30)"
+ range 2 30
depends on SMP
default "4"
diff --git a/arch/arm/include/asm/fixmap.h b/arch/arm/include/asm/fixmap.h
index bbae919..38c9ffd 100644
--- a/arch/arm/include/asm/fixmap.h
+++ b/arch/arm/include/asm/fixmap.h
@@ -13,7 +13,7 @@
* 0xfffe0000 and 0xfffeffff.
*/
-#define FIXADDR_START 0xfff00000UL
+#define FIXADDR_START 0xffe00000UL
#define FIXADDR_TOP 0xfffe0000UL
#define FIXADDR_SIZE (FIXADDR_TOP - FIXADDR_START)
--
1.9.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH RFC] ARM: extend fixmap mapping region to support 30 CPUs
2014-03-24 9:12 [PATCH RFC] ARM: extend fixmap mapping region to support 30 CPUs Liu Hua
@ 2014-03-24 20:00 ` Nicolas Pitre
0 siblings, 0 replies; 2+ messages in thread
From: Nicolas Pitre @ 2014-03-24 20:00 UTC (permalink / raw)
To: Liu Hua
Cc: Russell King - ARM Linux, Will Deacon, linux-arm-kernel,
linux-kernel, wangnan0, peifeiyue
On Mon, 24 Mar 2014, Liu Hua wrote:
> In 32-bit ARM systems, the fixmap mapping region can support
> no more than 14 CPUs(total: 896k; one CPU: 64K). And we can
> configure NR_CPUS up to 32. So there is a mismatch.
>
> This patch extends the fixmapping region downwards to boundary
> of DMA mapping region(0xffe00000-0xfffe0000). Then the fixmap
> mapping region can support up to 30 CPUs.
You failed to update CONSISTENT_END in your patch.
Hmmm? Waitaminute...
Well well...
It looks like the static mapping area for DMA was removed from the code
by commit e9da6e9905e6 but the information in
Documentation/arm/memory.txt was not updated accordingly.
CONSISTENT_END in arch/arm/include/asm/memory.h has no more users and
shoule probably be removed.
This means 0xffc00000 to 0xffefffff is no longer used by anything.
> There seems to be no easy way to support 32 CPUs by simply
> changing memory layout on ARM Linux. So I also limit the
> maximal CPU number one can configure.
I think the above should help you solve your CPU limit easily.
Nicolas
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-03-24 20:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-03-24 9:12 [PATCH RFC] ARM: extend fixmap mapping region to support 30 CPUs Liu Hua
2014-03-24 20:00 ` Nicolas Pitre
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).