Re: [[repost]RFC PATCH] mm/workingset : judge file page activity via timestamp

From: Zhaoyang Huang
Date: Tue May 07 2019 - 02:07:14 EST


On Mon, May 6, 2019 at 10:57 PM Johannes Weiner <hannes@xxxxxxxxxxx> wrote:
>
> On Sun, Apr 28, 2019 at 03:44:34PM +0800, Zhaoyang Huang wrote:
> > From: Zhaoyang Huang <zhaoyang.huang@xxxxxxxxxx>
> >
> > this patch introduce timestamp into workingset's entry and judge if the page is
> > active or inactive via active_file/refault_ratio instead of refault distance.
> >
> > The original thought is coming from the logs we got from trace_printk in this
> > patch, we can find about 1/5 of the file pages' refault are under the
> > scenario[1],which will be counted as inactive as they have a long refault distance
> > in between access. However, we can also know from the time information that the
> > page refault quickly as comparing to the average refault time which is calculated
> > by the number of active file and refault ratio. We want to save these kinds of
> > pages from evicted earlier as it used to be via setting it to ACTIVE instead.
> > The refault ratio is the value which can reflect lru's average file access
> > frequency in the past and provide the judge criteria for page's activation.
> >
> > The patch is tested on an android system and reduce 30% of page faults, while
> > 60% of the pages remain the original status as (refault_distance < active_file)
> > indicates. Pages status got from ftrace during the test can refer to [2].
> >
Hi Johannes,
Thank you for your feedback. I have answer previous comments many
times in different context. I don't expect you accept this patch but
want to have you pay attention to the phenomenon reported in [1],
which has a big refault distance but refaulted very quickly after
evicted. Do you think if this kind of page should be set to INACTIVE?
> > [1]
> > system_server workingset_refault: WKST_ACT[0]:rft_dis 265976, act_file 34268 rft_ratio 3047 rft_time 0 avg_rft_time 11 refault 295592 eviction 29616 secs 97 pre_secs 97
> > HwBinder:922 workingset_refault: WKST_ACT[0]:rft_dis 264478, act_file 35037 rft_ratio 3070 rft_time 2 avg_rft_time 11 refault 310078 eviction 45600 secs 101 pre_secs 99
> >
> > [2]
> > WKST_ACT[0]: original--INACTIVE commit--ACTIVE
> > WKST_ACT[1]: original--ACTIVE commit--ACTIVE
> > WKST_INACT[0]: original--INACTIVE commit--INACTIVE
> > WKST_INACT[1]: original--ACTIVE commit--INACTIVE
> >
> > Signed-off-by: Zhaoyang Huang <huangzhaoyang@xxxxxxxxx>
>
> Nacked-by: Johannes Weiner <hannes@xxxxxxxxxxx>
>
> You haven't addressed any of the questions raised during previous
> submissions.