RE: [PATCH] mm: fix hugetlb page unmap count balance issue

From: Chang, Junxiao
Date: Sun May 14 2023 - 20:08:46 EST


Thank you for review it! We only reproduced this hugetlb mapping issue with QEMU command which opens udmabuf driver(drivers/dma-buf/udmabuf.c).
I agree with you, it is better to map huge page with a pmd instead of a pte. 😊

-----Original Message-----
From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Sent: Saturday, May 13, 2023 5:04 AM
To: Chang, Junxiao <junxiao.chang@xxxxxxxxx>
Cc: kirill.shutemov@xxxxxxxxxxxxxxx; Hocko, Michal <mhocko@xxxxxxxx>; jmarchan@xxxxxxxxxx; linux-mm@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; mike.kravetz@xxxxxxxxxx; muchun.song@xxxxxxxxx
Subject: Re: [PATCH] mm: fix hugetlb page unmap count balance issue

On Fri, 12 May 2023 15:20:36 +0800 Junxiao Chang <junxiao.chang@xxxxxxxxx> wrote:

> hugetlb page usually is mapped with pmd, but occasionally it might be
> mapped with pte. QEMU can use udma-buf to create host dmabufs for
> guest framebuffers. When QEMU is launched with parameter "hugetlb=on",
> udmabuffer driver maps hugetlb page with pte in page fault handler.

Are there any other situations in which a hugetlb page is mapped in this fashion?

If not, can QEMU be changed to map with a pmd?

So we get one less weird special case in MM.