Messages in this thread Patch in this message | | | Date | Sun, 4 Apr 2004 05:07:36 -0400 (EDT) | From | Zwane Mwaikambo <> | Subject | [PATCH][2.6-mm] setup_identity_mappings depends on zone init. |
| |
On Mon, 15 Mar 2004, Andrew Morton wrote:
> Calling page_address_init() earlier isn't the fix though - pmd pages aren't > in highmem so we should never have got that far. Looks like the pgd or the > pmd page contains garbage. Did you try it without CONFIG_DEBUG_SLAB? > > Nick was seeing slab 0x6b patterns on the NUMAQ, inside the pmd, so there's > some consistency there. We do have one early setup fix from Manfred, but > it's unlikely to cure this. > > I'll have a play with your .config, see if I can reproduce it. If not I'll > squeeze off -mm3 and would ask you to retest on that if poss.
I spent a bit of time on this today, and the problem appears to be that we haven't done mem_map or zone initialisation, so mem_map[pfn]->flags is also wrong (e.g. PG_highmem tests). This is still triple faulting on 2.6.5-rc3-mm4 on my boxes. CONFIG_HIGHMEM and any setup without 4MB pages should do it. The following patch got an approving nod from Bill.
Index: linux-2.6.5-rc3-mm4/arch/i386/mm/init.c =================================================================== RCS file: /home/cvsroot/linux-2.6.5-rc3-mm4/arch/i386/mm/init.c,v retrieving revision 1.1.1.1 diff -u -p -B -r1.1.1.1 init.c --- linux-2.6.5-rc3-mm4/arch/i386/mm/init.c 2 Apr 2004 03:55:20 -0000 1.1.1.1 +++ linux-2.6.5-rc3-mm4/arch/i386/mm/init.c 4 Apr 2004 09:04:48 -0000 @@ -206,7 +206,7 @@ void setup_identity_mappings(pgd_t *pgd_ if (!pmd_present(*pmd)) pte_base = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); else - pte_base = (pte_t *) page_address(pmd_page(*pmd)); + pte_base = (pte_t *) pmd_page_kernel(*pmd); pte = pte_base; for (k = 0; k < PTRS_PER_PTE; pte++, k++) { vaddr = i*PGDIR_SIZE + j*PMD_SIZE + k*PAGE_SIZE; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |