Re: [Bug 211287] New: Softdirty bit does not work with hugetlb

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/22/21 10:42 AM, shu wang wrote:
> Our use case is:
> We maps both PMEM and hugetlb DRAM to process’s address space to provide large amount of memory to the application. Periodically, we clear the soft dirty bit by writing ‘4’ to the clear_refs. Then, we check the page’s soft dirty bit from pagemap and use this information to track write activity to memory. We migrate the data between DRAM and PMEM based the write activity for better performance.
> 

Thank you for the information!

If someone does not beat me to it, I should be able to look at this next week.

-- 
Mike Kravetz

> Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows 10
> 
> From: Mike Kravetz<mailto:mike.kravetz@xxxxxxxxxx>
> Sent: 2021年1月21日 16:58
> To: malate_wangshu@xxxxxxxxxxx<mailto:malate_wangshu@xxxxxxxxxxx>
> Cc: Linux Memory Management List<mailto:linux-mm@xxxxxxxxx>
> Subject: [Bug 211287] New: Softdirty bit does not work with hugetlb
> 
>>> Start Bug Report <<
> Bug ID: 211287
> https://bugzilla.kernel.org/show_bug.cgi?id=211287
> Summary: Softdirty bit does not work with hugetlb
> 
> When a memory region is mapped with huge pages, the softdirty bit is set only
> right after the huge pages is mapped. After the memory mapping, if the
> softdirty bit is cleared and the memory is written again, the softdirty bit is
> not set when reading from the process's pagemap.
>>> End Bug Report <<
> 
> I am not surprised with this reported bug.  The page fault code diverges
> pretty quickly for hugetlb pages.  I have not looked closely at the details
> of soft dirty, and do not immediately see where in the fault path for normal
> pages it gets reset.  But, I only took a quick glance.
> 
> I can work on adding support for hugetlb.
> 
> Can you provide some details about your use case?
> --
> Mike Kravetz




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux