Messages in this thread | | | Date | Thu, 24 Oct 2013 17:29:44 +0800 | From | Xiao Guangrong <> | Subject | Re: [PATCH v3 10/15] KVM: MMU: allocate shadow pages from slab |
| |
On 10/24/2013 05:19 PM, Gleb Natapov wrote:
>> @@ -946,7 +947,7 @@ static inline struct kvm_mmu_page *page_header(hpa_t shadow_page) >> { >> struct page *page = pfn_to_page(shadow_page >> PAGE_SHIFT); >> >> - return (struct kvm_mmu_page *)page_private(page); >> + return (struct kvm_mmu_page *)(page->mapping); > Why?
That's because page->private has been used by slab:
/* Remainder is not double word aligned */ union { unsigned long private; /* Mapping-private opaque data: * usually used for buffer_heads * if PagePrivate set; used for * swp_entry_t if PageSwapCache; * indicates order in the buddy * system if PG_buddy is set. */ #if USE_SPLIT_PTLOCKS spinlock_t ptl; #endif struct kmem_cache *slab_cache; /* SL[AU]B: Pointer to slab */ struct page *first_page; /* Compound tail pages */ };
| |