[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [Queries] Unpinning and Unhooking shadow
Hi All, I have some queries regarding unpinning and unhooking top level shadow page table for HVM guest on page fault. whenever we try to make some space prior to allocating the shadow using prealloc_shadaow() call 1. we do back traversing of per domain list of top level shadow pages and try to unpin them using function call sh_unpin() but in unpinning shadow we are unsetting pin bit in page->count_info and decrement the reference count of shadow page using call to sh_put_ref() [define in xen/arch/x86/mm/shadow/private.h] but in this function I am not able to understand why this condition is unlikely? if ( unlikely(nx == 0) ) sh_destroy_shadow(v, smfn); as we are trying to make space for new shadow which would be created using shadow_alloc() so this sh_destroy_shadow must be called for any one of the entry in toplevel list to free space of at least required order and put back the pages in freelist of shadow pool ? 2. if we could not free space for shadow creation by this then why are we not pinning all the top level pages again while we are marking them unpinned while traversing the top level list? Or is it not necessary to pinned all top level shadows in list? or it has some other significance? 3. Also after this if still space is not free then we try to unhooking the same toplevel list by going though each entry in list and marking corresponding PML4 table's entries as 0 if that entry was marked PRESENT. But I am not able to understand how this will return pages back to per domain freelist of shadow pages? Please correct if there is something wrong in my understanding or if I have missed any piece of code in this flow Plz provide your valuable replies to clear my queries/doubts. Jeet __________________________________________________________ Yahoo! India Answers: Share what you know. Learn something new http://in.answers.yahoo.com/ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |