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.