[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC] linux: add p[mug]d_clear_full() accessors
Jan Beulich wrote: I don't think so. So long as its clear by the time you free the page, it doesn't matter how it gets used in the meantime (after all, you should never free a pinned pagetable page).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.But isn't that one of the purposes of those page flags checks - checking whether e.g. a page may validly get freed (free_pages_check())? All of bad_page(), free_pages_check(), and prep_new_page() currently add PG_pinned into the set of flags cleared/checked, and I continue to think that that is the right thing to do. Well, yes, it would be helpful for free_pages_check to test whether PG_owner_priv_1 is set on a page you're attempting to free, since that would definitely be a bug. But its also a bug which would turn up fairly quickly anyway, since Xen would complain about any subsequent users of that page. Regardless, its not actually a bug that has turned up, since the lifespan of pagetable pages is pretty well controlled, and there's only a couple of places where they get allocated and freed. So, not a big issue either way, I think. J _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |