On 24.01.2018 14:45, David Hildenbrand wrote: > On 13.12.2017 13:53, Janosch Frank wrote: >> From: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> >> >> Guests backed by huge pages could theoretically free unused pages via >> the diagnose 10 instruction. We currently don't allow that, so we >> don't have to refault it once it's needed again. >> >> Signed-off-by: Dominik Dingel <dingel@xxxxxxxxxxxxxxxxxx> >> Reviewed-by: Martin Schwidefsky <schwidefsky@xxxxxxxxxx> >> --- >> arch/s390/mm/gmap.c | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/arch/s390/mm/gmap.c b/arch/s390/mm/gmap.c >> index aceaeb5..056acfc 100644 >> --- a/arch/s390/mm/gmap.c >> +++ b/arch/s390/mm/gmap.c >> @@ -695,6 +695,9 @@ void gmap_discard(struct gmap *gmap, unsigned long from, unsigned long to) >> vmaddr |= gaddr & ~PMD_MASK; >> /* Find vma in the parent mm */ >> vma = find_vma(gmap->mm, vmaddr); >> + /* We do not discard pages that are backed by hugetlbfs */ >> + if (vma && is_vm_hugetlb_page(vma)) >> + continue; >> size = min(to - gaddr, PMD_SIZE - (gaddr & ~PMD_MASK)); >> zap_page_range(vma, vmaddr, size); >> } >> > > This check does not care about split huge pages, correct? (because we're > checking the VMA?) > Correct
Attachment:
signature.asc
Description: OpenPGP digital signature