Thread (23 messages) flat view 23 messages, 7 authors, 2015-07-01

Memory size unaligned to section boundary

From: Hans de Goede <hidden>
Date: 2015-05-09 13:38:16
Subsystem: arm port, the rest · Maintainers: Russell King, Linus Torvalds

Hi,

On 06-05-15 13:35, Russell King - ARM Linux wrote:
On Wed, May 06, 2015 at 11:51:03AM +0100, Catalin Marinas wrote:
quoted
On Wed, May 06, 2015 at 11:11:05AM +0100, Russell King - ARM Linux wrote:
quoted
@@ -1142,7 +1142,7 @@ void __init sanity_check_meminfo(void)
  	 * last full section, which should be mapped.
  	 */
  	if (memblock_limit)
-		memblock_limit = round_down(memblock_limit, SECTION_SIZE);
+		memblock_limit = round_down(memblock_limit, 2 * SECTION_SIZE);
Why not PMD_SIZE? We don't need 4MB round down with LPAE.
No reason - PMD_SIZE would be good there.
Ok, so does that mean that Mark's original patch:

---->8----
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c
index 4e6ef89..2ea13f0 100644
--- a/arch/arm/mm/mmu.c
+++ b/arch/arm/mm/mmu.c
@@ -1125,9 +1125,9 @@ void __init sanity_check_meminfo(void)
                          * occurs before any free memory is mapped.
                          */
                         if (!memblock_limit) {
-                               if (!IS_ALIGNED(block_start, SECTION_SIZE))
+                               if (!IS_ALIGNED(block_start, PMD_SIZE))
                                         memblock_limit = block_start;
-                               else if (!IS_ALIGNED(block_end, SECTION_SIZE))
+                               else if (!IS_ALIGNED(block_end, PMD_SIZE))
                                         memblock_limit = arm_lowmem_limit;
                         }
@@ -1142,7 +1142,7 @@ void __init sanity_check_meminfo(void)
          * last full section, which should be mapped.
          */
         if (memblock_limit)
-               memblock_limit = round_down(memblock_limit, SECTION_SIZE);
+               memblock_limit = round_down(memblock_limit, PMD_SIZE);
         if (!memblock_limit)
                 memblock_limit = arm_lowmem_limit;

Is good, or do we only need to have the last chunk of this patch ?

Once I know what the final patch should look like I can give this a try
on one of the systems which sparked this whole discussion.

Regards,

Hans
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help