On Sat, Feb 09, 2008 at 03:56:02PM +0100, Thomas Gleixner wrote: > On Fri, 8 Feb 2008, Andi Kleen wrote: > > There is a big difference between NX and RO. NX absolutely has to be cleared > > or the kernel will fail while RO just can be set, but does not need to. > > And for a large page area not setting NX if there is a area below > > it that needs it is essential, while making it ro is optional again.
Optional as in it doesn't need to be forced. > > No, it's not optional. Making the PMD RO will write protect all 4k > PTEs below independent of their setting. So there is the same > restriction as we have with NX. If there is a boundary between a RO area and a RW area and you want to map it with 2MB pages then NX is required, but RO is optional on the page and if you prefer TLB use minimalization over debugging it is optional. Is it clear now? Note the behaviour for pageattr and thus DEBUG_RODATA / debugging sitations where you don't care about your TLB this does not change, this makes only a difference for the initial init_32 direct mapping setup. -Andi -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/