Re: linux-next: 1ea0704e (ptep_modify_prot transaction abstraction) breaks no-mmu

From: Mike Frysinger
Date: Tue Jul 15 2008 - 10:24:32 EST


On Thu, Jul 3, 2008 at 11:53 AM, Jeremy Fitzhardinge wrote:
> Mike Frysinger wrote:
>> the functions added to asm-generic/pgtable.h are only used by
>> mm/mprotect.c (a MMU-only file), but they were not added inside of the
>> CONFIG_MMU ifdef block. since the functions rely on things inside of
>> CONFIG_MMU (the lines just above in pgtable.h), we get build failure
>> on all no-mmu setups:
>> CC init/main.o
>> In file included from include/asm/pgtable.h:94,
>> from include/linux/mm.h:39,
>> from include/asm/dma.h:39,
>> from include/linux/bootmem.h:8,
>> from init/main.c:27:
>> include/asm-generic/pgtable.h: In function '__ptep_modify_prot_start':
>> include/asm-generic/pgtable.h:210: error: implicit declaration of
>> function 'ptep_get_and_clear'
>> include/asm-generic/pgtable.h:210: error: incompatible types in return
>> make[1]: *** [init/main.o] Error 1
>> make: *** [init/main.o] Error 2
>
> Uh, OK. What does mprotect do on a nommu system?

it depends on the port. by default, i'm pretty sure mprotect on all
nommu systems are realistically pretty much noops. the Blackfin can
do real protection (CONFIG_MPU), but with significant performance
degradation (since the page fault handler is not in hardware nor
hardware assisted in any way).

> Would it be sufficient to
> move the definitions of __ptep_modify_prot_start/commit out of a CONFIG_MMU
> block, or provide separate no-op versions?

simply move them into CONFIG_MMU for now
-mike
--
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/