Re: Re: Re: Re: [RFC] autonuma: Support to scan page table asynchronously

From: SeongJae Park
Date: Fri Apr 17 2020 - 08:45:32 EST


On Fri, 17 Apr 2020 13:16:29 +0100 Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx> wrote:

> On Fri, Apr 17, 2020 at 12:21:29PM +0200, SeongJae Park wrote:
> > On Fri, 17 Apr 2020 12:04:17 +0200 Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> >
> > > On Fri, Apr 17, 2020 at 09:05:08AM +0200, SeongJae Park wrote:
> > > > I think the main idea of DAMON[1] might be able to applied here. Have you
> > > > considered it?
> > > >
> > > > [1] https://lore.kernel.org/linux-mm/20200406130938.14066-1-sjpark@xxxxxxxxxx/
> > >
> > > I've ignored that entire thing after you said the information it
> > > provides was already available through the PMU.
> >
> > Sorry if my answer made you confused. What I wanted to say was that the
> > fundamental access checking mechanism that DAMON depends on is PTE Accessed bit
> > for now, but it could be modified to use PMU or other features instead.
>
> I would not be inclined to lean towards either approach for NUMA
> balancing. Fiddling with the accessed bit can have consequences for page
> aging and residency -- fine for debugging a problem, not to fine for
> normal usage. I would expect the PMU approach would have high overhead
> as well as taking over a PMU counter that userspace debugging may expect
> to be available.

Good point. But, isn't it ok to use Accessed bit as long as PG_Idle and
PG_Young is adjusted properly? Current DAMON implementation does so, as
idle_page_tracking also does.

That said, the core logics of DAMON and the underlying access check primitive
are logically seperated. I am planning[1] to further entirely seperate those
and let users to be able to use right access check promitive for their needs.

If I'm missing something, please let me know.

[1] https://lore.kernel.org/linux-mm/20200409094232.29680-1-sjpark@xxxxxxxxxx/


Thanks,
SeongJae Park

>
> --
> Mel Gorman
> SUSE Labs