Hi Michal,
On Mon, Jan 17, 2011 at 03:14:07PM +0100, Michal Simek wrote:Andrea Arcangeli wrote:From: Andrea Arcangeli <aarcange@xxxxxxxxxx>It wasn't good idea to do it. mm/memory.c is used only for system with MMU. System without MMU are broken.
huge_memory.c needs it too when it fallbacks in copying hugepages into regular
fragmented pages if hugepage allocation fails during COW.
Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>
Acked-by: Rik van Riel <riel@xxxxxxxxxx>
Acked-by: Mel Gorman <mel@xxxxxxxxx>
Not sure what the right fix is but anyway I think use one ifdef make sense (git patch in attachment).
Can you show the build failure with CONFIG_MMU=n so I can understand
better? Other places in mm.h depends on pte_t/vm_area_struct/VM_WRITE
to be defined, if a system is without MMU nobody should call it
simply. Not saying your patch is wrong, but I'm trying to understand
how exactly it got broken and the gcc error would show it immediately.
This is only called by memory.o and huge_memory.o and they both are
built only if MMU=y.