[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] linux: add p[mug]d_clear_full() accessors
>>> Jeremy Fitzhardinge <jeremy@xxxxxxxx> 20.05.08 17:17 >>> >Is this based on your forward-port of the Xen patches? Stock 2.6.25.4 >doesn't have mm_is_pinned(). Yes. >In fact, in pvops-Xen, I set PG_pinned on all pinned pagetable pages >(not just the top level), so you can tell whether you're updating a >pinned pgd/pud/pmd without needing an mm on hand. So I think this >optimisation can be implemented in current Linux entirely within the >Xen-specific code. Ah, I didn't realize that so far. However, 64-bit doesn't use a PG_* flag for identifying pinned mm-s, because of a conflict in use of PG_arch_1 in those older kernel versions. But as the conflict is gone in recent kernel, I should indeed be able to synchronize 64-bit with 32-bit here, then follow your approach of marking all pinned page tables, and finally get away without adding a new set of abstractions. One question though - in our 2.6.23 merge (where pv-ops-Xen's PG_pinned appeared as an alias of PG_owner_priv_1, and where PG_arch_1 got assigned a meaning for native x86, so PG_pinned for the traditional patches needed to change anyway) I intentionally didn't follow pv-ops for our patches, since PG_pinned is among the flags bad_page() checks for (in the XenSource tree, and I think this should really also be done in upstream Linux), and hence re-using the bit here would change behavior for other parts of the kernel. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |