On Mon, Jun 21, 2021 at 1:31 AM SeongJae Park <sj38.park@xxxxxxxxx> wrote: > > From: SeongJae Park <sjpark@xxxxxxxxx> > > To avoid the unbounded increase of the overhead, DAMON groups adjacent > pages that are assumed to have the same access frequencies into a > region. As long as the assumption (pages in a region have the same > access frequencies) is kept, only one page in the region is required to > be checked. Thus, for each ``sampling interval``, > > 1. the 'prepare_access_checks' primitive picks one page in each region, > 2. waits for one ``sampling interval``, > 3. checks whether the page is accessed meanwhile, and > 4. increases the access count of the region if so. > > Therefore, the monitoring overhead is controllable by adjusting the > number of regions. DAMON allows both the underlying primitives and user > callbacks to adjust regions for the trade-off. In other words, this > commit makes DAMON to use not only time-based sampling but also > space-based sampling. > > This scheme, however, cannot preserve the quality of the output if the > assumption is not guaranteed. Next commit will address this problem. > > Signed-off-by: SeongJae Park <sjpark@xxxxxxxxx> > Reviewed-by: Leonard Foerster <foersleo@xxxxxxxxx> > Reviewed-by: Fernand Sieber <sieberf@xxxxxxxxxx> Acked-by: Shakeel Butt <shakeelb@xxxxxxxxxx>