Searched refs:lruvec (Results 1 - 16 of 16) sorted by relevance

/linux-master/include/linux/
H A Dzswap.h8 struct lruvec;
36 void zswap_lruvec_state_init(struct lruvec *lruvec);
60 static inline void zswap_lruvec_state_init(struct lruvec *lruvec) {} argument
H A Dmm_inline.h38 static __always_inline void __update_lru_size(struct lruvec *lruvec, argument
42 struct pglist_data *pgdat = lruvec_pgdat(lruvec);
44 lockdep_assert_held(&lruvec->lru_lock);
47 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages);
52 static __always_inline void update_lru_size(struct lruvec *lruvec, argument
56 __update_lru_size(lruvec, lru, zid, nr_pages);
58 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages);
165 static inline bool lru_gen_is_active(struct lruvec *lruve argument
175 lru_gen_update_size(struct lruvec *lruvec, struct folio *folio, int old_gen, int new_gen) argument
221 lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) argument
272 lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) argument
306 lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) argument
311 lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) argument
319 lruvec_add_folio(struct lruvec *lruvec, struct folio *folio) argument
333 lruvec_add_folio_tail(struct lruvec *lruvec, struct folio *folio) argument
347 lruvec_del_folio(struct lruvec *lruvec, struct folio *folio) argument
[all...]
H A Dmemcontrol.h116 struct lruvec lruvec; member in struct:mem_cgroup_per_node
730 * @memcg: memcg of the wanted lruvec
734 * @pgdat combination. This can be the node lruvec, if the memory
737 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
741 struct lruvec *lruvec; local
744 lruvec = &pgdat->__lruvec;
752 lruvec = &mz->lruvec;
793 lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio) argument
873 lruvec_memcg(struct lruvec *lruvec) argument
931 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) argument
1023 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) argument
1041 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) argument
1076 mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) argument
1327 lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio) argument
1448 lruvec_memcg(struct lruvec *lruvec) argument
1459 mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) argument
1559 lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) argument
1565 lruvec_page_state_local(struct lruvec *lruvec, enum node_stat_item idx) argument
1579 __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) argument
1645 parent_lruvec(struct lruvec *lruvec) argument
1658 unlock_page_lruvec(struct lruvec *lruvec) argument
1663 unlock_page_lruvec_irq(struct lruvec *lruvec) argument
1668 unlock_page_lruvec_irqrestore(struct lruvec *lruvec, unsigned long flags) argument
1675 folio_matches_lruvec(struct folio *folio, struct lruvec *lruvec) argument
[all...]
H A Dvmstat.h546 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
549 static inline void mod_lruvec_state(struct lruvec *lruvec, argument
555 __mod_lruvec_state(lruvec, idx, val);
580 static inline void __mod_lruvec_state(struct lruvec *lruvec, argument
583 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val);
586 static inline void mod_lruvec_state(struct lruvec *lruvec, argument
[all...]
H A Dmmzone.h252 * Per-memcg and per-lruvec counters track memory, consumed
310 * An lruvec has many dirty pages backed by a congested BDI:
316 * Essentially, kswapd can unthrottle an lruvec throttled by cgroup
383 struct lruvec;
483 /* the lruvec under reclaim */
484 struct lruvec *lruvec; member in struct:lru_gen_mm_walk
556 void lru_gen_init_lruvec(struct lruvec *lruvec);
572 static inline void lru_gen_init_lruvec(struct lruvec *lruve argument
606 struct lruvec { struct
1455 lruvec_pgdat(struct lruvec *lruvec) argument
[all...]
H A Dswap.h348 void workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages);
361 void lru_note_cost(struct lruvec *lruvec, bool file,
/linux-master/mm/
H A Dswap.c77 static void __page_cache_release(struct folio *folio, struct lruvec **lruvecp,
107 struct lruvec *lruvec = NULL; local
110 __page_cache_release(folio, &lruvec, &flags);
111 if (lruvec)
112 unlock_page_lruvec_irqrestore(lruvec, flags);
177 typedef void (*move_fn_t)(struct lruvec *lruvec, struct folio *folio);
179 static void lru_add_fn(struct lruvec *lruvec, struc argument
222 struct lruvec *lruvec = NULL; local
252 lru_move_tail_fn(struct lruvec *lruvec, struct folio *folio) argument
284 lru_note_cost(struct lruvec *lruvec, bool file, unsigned int nr_io, unsigned int nr_rotated) argument
342 folio_activate_fn(struct lruvec *lruvec, struct folio *folio) argument
388 struct lruvec *lruvec; local
576 lru_deactivate_file_fn(struct lruvec *lruvec, struct folio *folio) argument
617 lru_deactivate_fn(struct lruvec *lruvec, struct folio *folio) argument
633 lru_lazyfree_fn(struct lruvec *lruvec, struct folio *folio) argument
981 struct lruvec *lruvec = NULL; local
[all...]
H A Dmmzone.c75 void lruvec_init(struct lruvec *lruvec) argument
79 memset(lruvec, 0, sizeof(struct lruvec));
80 spin_lock_init(&lruvec->lru_lock);
81 zswap_lruvec_state_init(lruvec);
84 INIT_LIST_HEAD(&lruvec->lists[lru]);
91 list_del(&lruvec->lists[LRU_UNEVICTABLE]);
93 lru_gen_init_lruvec(lruvec);
H A Dworkingset.c192 * entry, and after storing the identifier for the lruvec there might
237 struct lruvec *lruvec; local
248 lruvec = mem_cgroup_lruvec(memcg, pgdat);
249 lrugen = &lruvec->lrugen;
261 * Fills in @lruvec, @token, @workingset with the values unpacked from shadow.
263 static bool lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, argument
274 *lruvec = mem_cgroup_lruvec(memcg, pgdat);
276 min_seq = READ_ONCE((*lruvec)
286 struct lruvec *lruvec; local
334 lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, unsigned long *token, bool *workingset) argument
356 workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages) argument
386 struct lruvec *lruvec; local
535 struct lruvec *lruvec; local
681 struct lruvec *lruvec; local
[all...]
H A Dvmscan.c362 * @lruvec: lru vector
366 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, argument
373 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid];
379 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid);
1558 static __always_inline void update_lru_sizes(struct lruvec *lruvec, argument
1567 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]);
1592 * Isolating page from the lruvec to fill in @dst list by nr_to_scan times.
1594 * lruvec
1612 isolate_lru_folios(unsigned long nr_to_scan, struct lruvec *lruvec, struct list_head *dst, unsigned long *nr_scanned, struct scan_control *sc, enum lru_list lru) argument
1735 struct lruvec *lruvec; local
1796 move_folios_to_lru(struct lruvec *lruvec, struct list_head *list) argument
1880 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) argument
1998 shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) argument
2152 shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) argument
2194 inactive_is_low(struct lruvec *lruvec, enum lru_list inactive_lru) argument
2334 get_scan_count(struct lruvec *lruvec, struct scan_control *sc, unsigned long *nr) argument
2595 struct lruvec *lruvec = &memcg->nodeinfo[nid]->lruvec; local
2609 get_swappiness(struct lruvec *lruvec, struct scan_control *sc) argument
2624 get_nr_gens(struct lruvec *lruvec, int type) argument
2629 seq_is_valid(struct lruvec *lruvec) argument
2753 get_mm_state(struct lruvec *lruvec) argument
2790 struct lruvec *lruvec = get_lruvec(memcg, nid); local
2820 struct lruvec *lruvec = get_lruvec(memcg, nid); local
2879 get_mm_state(struct lruvec *lruvec) argument
2895 struct lruvec *lruvec = walk->lruvec; local
2921 struct lruvec *lruvec = walk->lruvec; local
2980 iterate_mm_list_nowalk(struct lruvec *lruvec, unsigned long seq) argument
3032 read_ctrl_pos(struct lruvec *lruvec, int type, int tier, int gain, struct ctrl_pos *pos) argument
3047 reset_ctrl_pos(struct lruvec *lruvec, int type, bool carryover) argument
3124 folio_inc_gen(struct lruvec *lruvec, struct folio *folio, bool reclaiming) argument
3172 struct lruvec *lruvec = walk->lruvec; local
3613 struct lruvec *lruvec = walk->lruvec; local
3682 inc_min_seq(struct lruvec *lruvec, int type, bool can_swap) argument
3718 try_to_inc_min_seq(struct lruvec *lruvec, bool can_swap) argument
3761 inc_max_seq(struct lruvec *lruvec, unsigned long seq, bool can_swap, bool force_scan) argument
3829 try_to_inc_max_seq(struct lruvec *lruvec, unsigned long seq, bool can_swap, bool force_scan) argument
3887 lruvec_is_sizable(struct lruvec *lruvec, struct scan_control *sc) argument
3912 lruvec_is_reclaimable(struct lruvec *lruvec, struct scan_control *sc, unsigned long min_ttl) argument
3951 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); local
4002 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); local
4103 lru_gen_rotate_memcg(struct lruvec *lruvec, int op) argument
4159 struct lruvec *lruvec = get_lruvec(memcg, nid); local
4181 struct lruvec *lruvec = get_lruvec(memcg, nid); local
4194 struct lruvec *lruvec = get_lruvec(memcg, nid); local
4215 struct lruvec *lruvec = get_lruvec(memcg, nid); local
4228 sort_folio(struct lruvec *lruvec, struct folio *folio, struct scan_control *sc, int tier_idx) argument
4297 isolate_folio(struct lruvec *lruvec, struct folio *folio, struct scan_control *sc) argument
4331 scan_folios(struct lruvec *lruvec, struct scan_control *sc, int type, int tier, struct list_head *list) argument
4412 get_tier_idx(struct lruvec *lruvec, int type) argument
4432 get_type_to_scan(struct lruvec *lruvec, int swappiness, int *tier_idx) argument
4460 isolate_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness, int *type_scanned, struct list_head *list) argument
4507 evict_folios(struct lruvec *lruvec, struct scan_control *sc, int swappiness) argument
4600 should_run_aging(struct lruvec *lruvec, unsigned long max_seq, bool can_swap, unsigned long *nr_to_scan) argument
4665 get_nr_to_scan(struct lruvec *lruvec, struct scan_control *sc, bool can_swap) argument
4689 should_abort_scan(struct lruvec *lruvec, struct scan_control *sc) argument
4720 try_to_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) argument
4751 shrink_one(struct lruvec *lruvec, struct scan_control *sc) argument
4799 struct lruvec *lruvec; local
4863 lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) argument
4952 state_is_valid(struct lruvec *lruvec) argument
4975 fill_evictable(struct lruvec *lruvec) argument
5006 drain_evictable(struct lruvec *lruvec) argument
5059 struct lruvec *lruvec = get_lruvec(memcg, nid); local
5222 lru_gen_seq_show_full(struct seq_file *m, struct lruvec *lruvec, unsigned long max_seq, unsigned long *min_seq, unsigned long seq) argument
5282 struct lruvec *lruvec = v; local
5341 run_aging(struct lruvec *lruvec, unsigned long seq, bool can_swap, bool force_scan) argument
5361 run_eviction(struct lruvec *lruvec, unsigned long seq, struct scan_control *sc, int swappiness, unsigned long nr_to_reclaim) argument
5392 struct lruvec *lruvec; local
5545 lru_gen_init_lruvec(struct lruvec *lruvec) argument
5587 struct lruvec *lruvec = get_lruvec(memcg, nid); local
5629 lru_gen_shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) argument
5641 shrink_lruvec(struct lruvec *lruvec, struct scan_control *sc) argument
5836 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); local
6240 struct lruvec *lruvec; local
6465 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); local
6542 struct lruvec *lruvec; local
6631 struct lruvec *lruvec = mem_cgroup_lruvec(NULL, pgdat); local
7501 struct lruvec *lruvec = NULL; local
[all...]
H A Dmlock.c61 static struct lruvec *__mlock_folio(struct folio *folio, struct lruvec *lruvec) argument
65 return lruvec;
67 lruvec = folio_lruvec_relock_irq(folio, lruvec);
76 lruvec_del_folio(lruvec, folio);
78 lruvec_add_folio(lruvec, folio);
92 lruvec_del_folio(lruvec, folio);
96 lruvec_add_folio(lruvec, foli
103 __mlock_new_folio(struct folio *folio, struct lruvec *lruvec) argument
122 __munlock_folio(struct folio *folio, struct lruvec *lruvec) argument
188 struct lruvec *lruvec = NULL; local
[all...]
H A Dzswap.c739 struct lruvec *lruvec; local
760 lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(nid));
761 nr_zswap_protected = &lruvec->zswap_lruvec_state.nr_zswap_protected;
785 void zswap_lruvec_state_init(struct lruvec *lruvec) argument
787 atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0);
792 struct lruvec *lruvec; local
795 lruvec
1278 struct lruvec *lruvec = mem_cgroup_lruvec(sc->memcg, NODE_DATA(sc->nid)); local
1320 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(sc->nid)); local
[all...]
H A Dmemcontrol.c665 * memcg and lruvec stats flushing
839 void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, argument
845 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
872 /* Update lruvec */
880 * __mod_lruvec_state - update lruvec memory statistics
881 * @lruvec: the lruvec
885 * The lruvec i
889 __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, int val) argument
905 struct lruvec *lruvec; local
926 struct lruvec *lruvec; local
1343 lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio) argument
1373 struct lruvec *lruvec = folio_lruvec(folio); local
1396 struct lruvec *lruvec = folio_lruvec(folio); local
1421 struct lruvec *lruvec = folio_lruvec(folio); local
1439 mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru, int zid, int nr_pages) argument
2998 struct lruvec *lruvec; local
4177 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(nid)); local
6903 lruvec_page_state_output(struct lruvec *lruvec, int item) argument
6926 struct lruvec *lruvec; local
[all...]
H A Dcompaction.c896 struct lruvec *lruvec; local
898 struct lruvec *locked = NULL;
1213 lruvec = folio_lruvec(folio);
1216 if (lruvec != locked) {
1220 compact_lock_irqsave(&lruvec->lru_lock, &flags, cc);
1221 locked = lruvec;
1223 lruvec_memcg_debug(lruvec, folio);
1257 lruvec_del_folio(lruvec, folio);
H A Dhuge_memory.c2770 struct lruvec *lruvec, struct list_head *list)
2774 lockdep_assert_held(&lruvec->lru_lock);
2793 struct lruvec *lruvec, struct list_head *list,
2886 lru_add_page_tail(head, page_tail, lruvec, list);
2894 struct lruvec *lruvec; local
2912 lruvec = folio_lruvec_lock(folio);
2917 __split_huge_page_tail(folio, i, lruvec, lis
2769 lru_add_page_tail(struct page *head, struct page *tail, struct lruvec *lruvec, struct list_head *list) argument
2792 __split_huge_page_tail(struct folio *folio, int tail, struct lruvec *lruvec, struct list_head *list, unsigned int new_order) argument
[all...]
H A Dmigrate.c489 struct lruvec *old_lruvec, *new_lruvec;

Completed in 451 milliseconds