On 13.06.14 16:28, Aneesh Kumar K.V wrote:
Alexander Graf <agraf@xxxxxxx> writes:
On 13.06.14 09:23, Aneesh Kumar K.V wrote:
With guest supporting Multiple page size per segment (MPSS),
hpte_page_size returns actual page size used. Add a new function to
return base page size and use that to compare against the the page size
calculated from SLB
Why? What does this fix? Is this a bug fix, an enhancement? Don't
describe only what you do, but also why you do it.
This could result in page fault failures (unhandled page fault) because
even though we have a valid hpte entry mapping a 16MB page, since we
were comparing actual page size against page size calculated from SLB
bits kvmppc_hv_find_lock_hpte will fail and return -1. I did not observe
a failure in real and the bug was found during code audit. That could be
because with THP we have guest ram backed by hugetlbfs and we always
find the page in the host linux page table. The will result in do_h_enter always
inserting HPTE_V_VALID entry and hence we might not really end up calling
kvmppc_hv_find_lock_hpte.
So why do we need to override to base page size for the VRMA region?
Also I think you want to change the comment above the line in
find_lock_hpte you're changing.
Alex
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html