[ Greg: -stable was Cc:-ed for this potentially buggy commit. ]

* Yinghai Lu <ying...@kernel.org> wrote:

> On Thu, Feb 14, 2013 at 7:08 AM, Ingo Molnar <mi...@kernel.org> wrote:
> > these three:
> >
> > 10d73e655cef mm: bootmem: fix free_all_bootmem_core() with odd bitmap 
> > alignment
> > c060f943d092 mm: use aligned zone start for pfn_to_bitidx calculation
> > c0232ae861df mm: memblock: fix wrong memmove size in 
> > memblock_merge_regions()
> >
> > might have highmem=512m boot parameter sensitivity.
> 
> 10d73e655cef should not be related, as we are using nobootmem wrapper
> of memblock.
> c0232ae861df is copying less while using the blank slot in memblock
> memory or reserved array
> so it should be ok too.
> 
> c060f943d092 may be related as you config does not have
> CONFIG_SPARSEMEM defined.

Right, that's the commit causing the x86 regression:

 c060f943d0929f3e429c5d9522290584f6281d6e is the first bad commit
 commit c060f943d0929f3e429c5d9522290584f6281d6e
 Date:   Fri Jan 11 14:31:51 2013 -0800

     mm: use aligned zone start for pfn_to_bitidx calculation

I've given 6d92d4f (its parent commit) quite a bit of testing so 
I'm 99% sure in the validity of this bisection result.

Involved parties Cc:-ed.

Revert attached below - it reverts cleanly and I'll test this 
today, to see whether this solves the sporadic lockups.

Thanks,

        Ingo

------------------->
>From 6f3d5a8f38eb23f792b408d9bc8fee53a7d158f9 Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mi...@kernel.org>
Date: Fri, 15 Feb 2013 12:43:22 +0100
Subject: [PATCH] Revert "mm: use aligned zone start for pfn_to_bitidx
 calculation"

This reverts commit c060f943d0929f3e429c5d9522290584f6281d6e.

Causes lockups.

Signed-off-by: Ingo Molnar <mi...@kernel.org>
---
 mm/page_alloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index cf46618..3a120bb 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -5590,7 +5590,7 @@ static inline int pfn_to_bitidx(struct zone *zone, 
unsigned long pfn)
        pfn &= (PAGES_PER_SECTION-1);
        return (pfn >> pageblock_order) * NR_PAGEBLOCK_BITS;
 #else
-       pfn = pfn - round_down(zone->zone_start_pfn, pageblock_nr_pages);
+       pfn = pfn - zone->zone_start_pfn;
        return (pfn >> pageblock_order) * NR_PAGEBLOCK_BITS;
 #endif /* CONFIG_SPARSEMEM */
 }
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to