Re: bisected boot regression post 2.6.25-rc3.. please revert

From: Ingo Molnar
Date: Mon Mar 03 2008 - 12:43:14 EST



* Arjan van de Ven <arjan@xxxxxxxxxxxxxxx> wrote:

> ------------[ cut here ]------------
> WARNING: at arch/x86/mm/pgtable_32.c:387 pmd_bad+0x44/0x53()
> Modules linked in:
> Pid: 1, comm: swapper Not tainted 2.6.25-rc3 #14
> [<c0424ba5>] warn_on_slowpath+0x41/0x67
> [<c0408c5c>] ? native_sched_clock+0x94/0xa6
> [<c043f432>] ? lock_release_holdtime+0x1a/0x115
> [<c04702d4>] ? handle_mm_fault+0x297/0x7e2
> [<c063eee6>] ? _spin_unlock+0x1d/0x20
> [<c04707f0>] ? handle_mm_fault+0x7b3/0x7e2
> [<c04851c1>] ? do_sync_read+0xab/0xe9
> [<c0417223>] pmd_bad+0x44/0x53
> [<c046f37f>] follow_page+0x8b/0x1f2
> [<c0470aa0>] get_user_pages+0x281/0x2ef

hm. I suspect some gcc related difference related to the handling of
this masking:

pmd_val(x) & ~(PAGE_MASK | _PAGE_USER | _PAGE_PSE | _PAGE_NX)

versus:

pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)

perhaps it will work if you change it to:

pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER & ~_PAGE_PSE & ~_PAGE_NX)

?

in any case, the commit has to be reverted as it clearly isnt a NOP on
your box as it was intended to be. (it should only have made a
difference in a rare hugetlbfs case)

Ingo
--
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/