On Mon, May 30, 2022 at 7:54 AM SeongJae Park <sj@xxxxxxxxxx> wrote: > > On Wed, 27 Apr 2022 17:50:49 +0000 sj@xxxxxxxxxx wrote: > > > Hello Rongwei and Barry, > > > > On Wed, 27 Apr 2022 19:44:23 +1200 Barry Song <21cnbao@xxxxxxxxx> wrote: > > > > > On Wed, Apr 27, 2022 at 6:56 PM Rongwei Wang > > > <rongwei.wang@xxxxxxxxxxxxxxxxx> wrote: > > > > > > > > > > > > > > > > On 4/27/22 7:19 AM, Barry Song wrote: > [...] > > > > > > I guess the cause might be: > > > in case a region is very big like 10GiB, we have only 1MiB hot pages > > > in this large region. > > > damon will randomly pick one page to sample, but the page has only > > > 1MiB/10GiB, thus > > > less than 1/10000 chance to hit the hot 1MiB. so probably we need > > > 10000 sample periods > > > to hit the hot 1MiB in order to split this large region? > > > > > > @SeongJae, please correct me if I am wrong. > > > > I think your theory makes sense. There was a similar concern, so we made DAMON > > to split regions into 3 sub-regions when we don't see advance[1]. My current > > rough idea for improving DAMON accuracy is making it more aggressive while > > keeping the monitoring overhead low. > > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git/tree/mm/damon/core.c?h=damon/next-2022-04-21-08-31-on-v5.18-rc3-mmots-2022-04-20-17-37#n1053 > > > > > > > > > > > > > I'm not sure whether sets init_regions can deal with the above problem, > > > > or dynamic choose one or limited number VMA to monitor. > > > > > > > > > > I won't set a limited number of VMA as this will make the damon too hard to use > > > as nobody wants to make such complex operations, especially an Android > > > app might have more than 8000 VMAs. > > > > > > I agree init_regions might be the right place to enhance the situation. > > > > 'init_regions' has developed for the purpose, where user space knows some good > > information for starting point of the regions adjustment, and thus want to hint > > DAMON. Nevertheless, it might not work as expected, because DAMON > > automatically updates the target regions to cover all VMAs as much as it can. > > I have posted a patchset for the use case yesterday[1]. > > > > [1] https://lore.kernel.org/linux-mm/20220426231750.48822-1-sj@xxxxxxxxxx/ > > FWIW, the patchset for the fixed virtual address space ranges monitoring has > merged in the mainline[1]. > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=98931dd95fd489fcbfa97da563505a6f071d7c77 > nice to know that. Thanks, though it doesn't fix my problem as I am looking for a solution to collect precise monitoring data automatically and economically. > > Thanks, > SJ Thanks Barry