Eric W. Biederman wrote: > No. Please just remove the conditionals on the leaf pages. >
So, to be specific, you mean make updating the pte_t entries (and pmd_t entries which refer to hugepages) entries unconditional? > We know exactly what we require them to be, there is minimal > cost and no downside to just setting the pte entries to > what we want them to be for the identity mapping. > > It doesn't make sense for paravirtualization or anything else to > influence that. > > This may be redoing work that has been done before but it is > doing it all one common place. > The issue is not a matter of avoiding duplicate work, but making sure all the pagetables are consistent from Xen's perspective. Specifically, you may not ever, at any time, create a writable mapping of a page which is currently part of an active pagetable. This means that when we're creating mappings of physical memory, the pages which are part of the current pagetable must be mapped RO. The easiest way I found to guarantee that is to copy the Xen-provided pagetable as a template, and only update pages which are missing. The other way I could do this is to have special-purpose init-time version of xen_set_pte which checks to see if it's making a RO mapping RW, and refuse to do it. That would minimize the changes to mm/init.c, but give init-time set_pte rather unexpected hidden semantics. J - 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/