On 18.03.22 06:13, xhao@xxxxxxxxxxxxxxxxx wrote: > > On 3/18/22 12:42 AM, David Hildenbrand wrote: >> On 17.03.22 08:03, Xin Hao wrote: >>> Hi David, >>> >>> On 3/16/22 11:09 PM, David Hildenbrand wrote: >>>> On 15.03.22 17:37, Xin Hao wrote: >>>> >>>> s/minotor/monitor/ >>> Thanks, i will fix it. >>>>> The purpose of these patches is to add CMA memory monitoring function. >>>>> In some memory tight scenarios, it will be a good choice to release more >>>>> memory by monitoring the CMA memory. >>>> I'm sorry, but it's hard to figure out what the target use case should >>>> be. Who will release CMA memory and how? Who will monitor that? What are >>>> the "some memory tight scenarios"? What's the overall design goal? >>> I may not be describing exactly what i mean,My intention is to find out >>> how much of the reserved CMA space is actually used and which is unused, >>> For those that are not used, I understand that they can be released by >>> cma_release(). Of course, This is just a little personal thought that I >>> think is helpful for saving memory. >> Hm, not quite. We can place movable allocations on cma areas, to be >> migrated away once required for allocations via CMA. So just looking at >> the pages allocated within a CMA area doesn't really tell you what's >> actually going on. > > I don't think so, the damon not looking at the pages allocate, It is > constantly monitoring who is using CMA area pages through tracking page > access bit > > in the kernel via the kdamond.x thread, So through damon, it can tell us > about the hot and cold distribution of CMA memory. I'm not sure I follow. With random movable pages being placed on the CMA area, the mentioned use case of "cma_release()" to release pages doesn't make sense to me. I assume I'm missing the big picture -- and that should be properly documented in the patch description. We don't add stuff just because it could be used somehow, there should be a clear motivation how it can actually be used. -- Thanks, David / dhildenb