@@ -212,7 +212,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
212
212
may_enter_fs = (sc->gfp_mask & __GFP_FS) ||
213
213
(PageSwapCache(page) && (sc->gfp_mask & __GFP_IO));
214
214
215
- @@ -2570 ,6 +2577 ,9 @@ static void prepare_scan_count(pg_data_t
215
+ @@ -2505 ,6 +2512 ,9 @@ static void prepare_scan_count(pg_data_t
216
216
unsigned long file;
217
217
struct lruvec *target_lruvec;
218
218
@@ -222,7 +222,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
222
222
target_lruvec = mem_cgroup_lruvec(sc->target_mem_cgroup, pgdat);
223
223
224
224
/*
225
- @@ -2910 ,6 +2920 ,17 @@ static int page_lru_gen(struct page *pag
225
+ @@ -2845 ,6 +2855 ,17 @@ static int page_lru_gen(struct page *pag
226
226
return ((flags & LRU_GEN_MASK) >> LRU_GEN_PGOFF) - 1;
227
227
}
228
228
@@ -240,7 +240,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
240
240
static int get_swappiness(struct mem_cgroup *memcg)
241
241
{
242
242
return mem_cgroup_get_nr_swap_pages(memcg) >= MIN_BATCH_SIZE ?
243
- @@ -3246 ,6 +3267 ,91 @@ done:
243
+ @@ -3181 ,6 +3202 ,91 @@ done:
244
244
}
245
245
246
246
/******************************************************************************
@@ -332,31 +332,31 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
332
332
* the aging
333
333
******************************************************************************/
334
334
335
- @@ -3265 ,6 +3371 ,7 @@ static int page_update_gen(struct page *
335
+ @@ -3200 ,6 +3306 ,7 @@ static int page_update_gen(struct page *
336
336
337
337
new_flags &= ~LRU_GEN_MASK;
338
338
new_flags |= (gen + 1UL) << LRU_GEN_PGOFF;
339
339
+ new_flags &= ~(LRU_REFS_MASK | LRU_REFS_FLAGS);
340
340
} while (new_flags != old_flags &&
341
341
cmpxchg(&page->flags, old_flags, new_flags) != old_flags);
342
342
343
- @@ -3296 ,6 +3403 ,7 @@ static void page_inc_gen(struct page *pa
343
+ @@ -3231 ,6 +3338 ,7 @@ static void page_inc_gen(struct page *pa
344
344
345
345
new_flags &= ~LRU_GEN_MASK;
346
346
new_flags |= (new_gen + 1UL) << LRU_GEN_PGOFF;
347
347
+ new_flags &= ~(LRU_REFS_MASK | LRU_REFS_FLAGS);
348
348
/* for end_page_writeback() */
349
349
if (reclaiming)
350
350
new_flags |= BIT(PG_reclaim);
351
- @@ -3787 ,6 +3895 ,7 @@ static bool inc_min_seq(struct lruvec *l
351
+ @@ -3722 ,6 +3830 ,7 @@ static bool inc_min_seq(struct lruvec *l
352
352
}
353
353
}
354
354
355
355
+ reset_ctrl_pos(lruvec, gen, type);
356
356
WRITE_ONCE(lrugen->min_seq[type], lrugen->min_seq[type] + 1);
357
357
358
358
return true;
359
- @@ -3824 ,6 +3933 ,8 @@ next:
359
+ @@ -3759 ,6 +3868 ,8 @@ next:
360
360
if (min_seq[type] == lrugen->min_seq[type])
361
361
continue;
362
362
@@ -365,7 +365,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
365
365
WRITE_ONCE(lrugen->min_seq[type], min_seq[type]);
366
366
success = true;
367
367
}
368
- @@ -3885 ,6 +3996 ,9 @@ static void inc_max_seq(struct lruvec *l
368
+ @@ -3820 ,6 +3931 ,9 @@ static void inc_max_seq(struct lruvec *l
369
369
}
370
370
}
371
371
@@ -375,7 +375,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
375
375
WRITE_ONCE(lrugen->timestamps[gen], jiffies);
376
376
/* make sure all preceding modifications appear first */
377
377
smp_store_release(&lrugen->max_seq, lrugen->max_seq + 1);
378
- @@ -4166 ,6 +4280 ,433 @@ void lru_gen_look_around(struct page_vma
378
+ @@ -4101 ,6 +4215 ,433 @@ void lru_gen_look_around(struct page_vma
379
379
}
380
380
381
381
/******************************************************************************
@@ -809,7 +809,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
809
809
* state change
810
810
******************************************************************************/
811
811
812
- @@ -4420 ,6 +4961 ,10 @@ static void lru_gen_age_node(struct pgli
812
+ @@ -4355 ,6 +4896 ,10 @@ static void lru_gen_age_node(struct pgli
813
813
{
814
814
}
815
815
@@ -820,7 +820,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
820
820
#endif /* CONFIG_LRU_GEN */
821
821
822
822
static void shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc)
823
- @@ -4433 ,6 +4978 ,11 @@ static void shrink_lruvec(struct lruvec
823
+ @@ -4368 ,6 +4913 ,11 @@ static void shrink_lruvec(struct lruvec
824
824
bool proportional_reclaim;
825
825
struct blk_plug plug;
826
826
@@ -832,7 +832,7 @@ Change-Id: I64c06d8f2cdb83ac7d56c7e1d07f043483956cac
832
832
get_scan_count(lruvec, sc, nr);
833
833
834
834
/* Record the original scan target for proportional adjustments later */
835
- @@ -4904 ,6 +5454 ,9 @@ static void snapshot_refaults(struct mem
835
+ @@ -4839 ,6 +5389 ,9 @@ static void snapshot_refaults(struct mem
836
836
struct lruvec *target_lruvec;
837
837
unsigned long refaults;
838
838
0 commit comments