Re: [PATCH v29 04/13] mm/idle_page_tracking: Make PG_idle reusable

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

 



From: SeongJae Park <sjpark@xxxxxxxxx>

Hi Amit,

On Fri, 11 Jun 2021 12:55:27 +0000 "Shah, Amit" <aams@xxxxxxxxx> wrote:

> On Thu, 2021-05-20 at 07:56 +0000, SeongJae Park wrote:
> > From: SeongJae Park <sjpark@xxxxxxxxx>
> > 
> > PG_idle and PG_young allow the two PTE Accessed bit users, Idle Page
> > Tracking and the reclaim logic concurrently work while don't interfere
> 
> ... while not interfering with ...

Will fix so.

> 
> > each other.  That is, when they need to clear the Accessed bit, they set
> > PG_young to represent the previous state of the bit, respectively.  And
> > when they need to read the bit, if the bit is cleared, they further read
> > the PG_young to know whether the other has cleared the bit meanwhile or
> > not.
> > 
> > We could add another page flag and extend the mechanism to use the flag
> > if we need to add another concurrent PTE Accessed bit user subsystem.
> > However, the space is limited.  Meanwhile, if the new subsystem is
> > mutually exclusive with IDLE_PAGE_TRACKING or interfering with it is not
> > a real problem, it would be ok to simply reuse the PG_idle flag.
> > However, it's impossible because the flags are dependent on
> > IDLE_PAGE_TRACKING.
> 
> For better readability, I suggest:
> 
> For yet another user of the PTE Accessed bit, we could add another page
> flag, or extend the mechanism to use the flags. For the DAMON usecase,
> however, we don't need to do that just yet.  IDLE_PAGE_TRACKING and
> DAMON are mutually exclusive, so there's only ever going to be one user
> of the current set of flags. 
> 
> In this commit, we split out the CONFIG options to allow for the use of
> PG_young and PG_idle outside of idle page tracking.

Thank you for the suggestion, it looks better to me, either.  I will update so
in the next spin.


Thanks,
SeongJae Park

[...]




[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