Home
last modified time | relevance | path

Searched refs:lruvec (Results 1 – 21 of 21) sorted by relevance

/linux/include/linux/
H A Dmm_inline.h38 static __always_inline void __update_lru_size(struct lruvec *lruvec, in __update_lru_size() argument
52 static __always_inline void update_lru_size(struct lruvec *lruvec, in update_lru_size() argument
165 static inline bool lru_gen_is_active(struct lruvec *lruvec, int gen) in lru_gen_is_active() argument
175 static inline void lru_gen_update_size(struct lruvec *lruvec, struct folio *folio, in lru_gen_update_size() argument
212 if (!lru_gen_is_active(lruvec, old_gen) && lru_gen_is_active(lruvec, new_gen)) { in lru_gen_update_size()
218 VM_WARN_ON_ONCE(lru_gen_is_active(lruvec, old_gen) && !lru_gen_is_active(lruvec, new_gen)); in lru_gen_update_size()
221 static inline bool lru_gen_add_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) in lru_gen_add_folio() argument
272 static inline bool lru_gen_del_folio(struct lruvec *lruvec, struct folio *folio, bool reclaiming) in lru_gen_del_folio() argument
319 void lruvec_add_folio(struct lruvec *lruvec, struct folio *folio) in lruvec_add_folio() argument
333 void lruvec_add_folio_tail(struct lruvec *lruvec, struct folio *folio) in lruvec_add_folio_tail() argument
[all …]
H A Dmemcontrol.h111 struct lruvec lruvec; member
722 struct lruvec *lruvec; in mem_cgroup_lruvec() local
733 lruvec = &mz->lruvec; in mem_cgroup_lruvec()
742 return lruvec; in mem_cgroup_lruvec()
862 mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in lruvec_memcg()
913 unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, in mem_cgroup_get_zone_lru_size() argument
918 mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in mem_cgroup_get_zone_lru_size()
968 unsigned long lruvec_page_state_local(struct lruvec *lruvec,
1498 static inline struct lruvec *parent_lruvec(struct lruvec *lruvec) in parent_lruvec() argument
1511 static inline void unlock_page_lruvec(struct lruvec *lruvec) in unlock_page_lruvec() argument
[all …]
H A Dzswap.h8 struct lruvec;
36 void zswap_lruvec_state_init(struct lruvec *lruvec);
61 static inline void zswap_lruvec_state_init(struct lruvec *lruvec) {} in zswap_lruvec_state_init() argument
H A Dvmstat.h538 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
541 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument
547 __mod_lruvec_state(lruvec, idx, val); in mod_lruvec_state()
572 static inline void __mod_lruvec_state(struct lruvec *lruvec, in __mod_lruvec_state() argument
575 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in __mod_lruvec_state()
578 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument
581 mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in mod_lruvec_state()
H A Dmmzone.h388 struct lruvec;
489 struct lruvec *lruvec; member
561 void lru_gen_init_lruvec(struct lruvec *lruvec);
577 static inline void lru_gen_init_lruvec(struct lruvec *lruvec) in lru_gen_init_lruvec() argument
611 struct lruvec { struct
1397 struct lruvec __lruvec;
1457 extern void lruvec_init(struct lruvec *lruvec);
1459 static inline struct pglist_data *lruvec_pgdat(struct lruvec *lruvec) in lruvec_pgdat() argument
1462 return lruvec->pgdat; in lruvec_pgdat()
1464 return container_of(lruvec, struct pglist_data, __lruvec); in lruvec_pgdat()
H A Dswap.h359 void workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages);
372 void lru_note_cost(struct lruvec *lruvec, bool file,
/linux/mm/
H A Dswap.c107 struct lruvec *lruvec = NULL; in page_cache_release() local
111 if (lruvec) in page_cache_release()
165 static void lru_add_fn(struct lruvec *lruvec, struct folio *folio) in lru_add_fn() argument
208 struct lruvec *lruvec = NULL; in folio_batch_move_lru() local
220 if (lruvec) in folio_batch_move_lru()
271 void lru_note_cost(struct lruvec *lruvec, bool file, in lru_note_cost() argument
315 if (lruvec->file_cost + lruvec->anon_cost > lrusize / 4) { in lru_note_cost()
320 } while ((lruvec = parent_lruvec(lruvec))); in lru_note_cost()
379 struct lruvec *lruvec; in folio_activate() local
989 struct lruvec *lruvec = NULL; in folios_put_refs() local
[all …]
H A Dworkingset.c237 struct lruvec *lruvec; in lru_gen_eviction() local
249 lrugen = &lruvec->lrugen; in lru_gen_eviction()
263 static bool lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, in lru_gen_test_recent() argument
286 struct lruvec *lruvec; in lru_gen_refault() local
302 lrugen = &lruvec->lrugen; in lru_gen_refault()
334 static bool lru_gen_test_recent(void *shadow, bool file, struct lruvec **lruvec, in lru_gen_test_recent() argument
356 void workingset_age_nonresident(struct lruvec *lruvec, unsigned long nr_pages) in workingset_age_nonresident() argument
371 } while ((lruvec = parent_lruvec(lruvec))); in workingset_age_nonresident()
386 struct lruvec *lruvec; in workingset_eviction() local
543 struct lruvec *lruvec; in workingset_refault() local
[all …]
H A Dvmscan.c1770 struct lruvec *lruvec; in folio_isolate_lru() local
2926 struct lruvec *lruvec = walk->lruvec; in reset_mm_stats() local
2952 struct lruvec *lruvec = walk->lruvec; in iterate_mm_list() local
3203 struct lruvec *lruvec = walk->lruvec; in reset_batch_size() local
3644 struct lruvec *lruvec = walk->lruvec; in walk_mm() local
3895 walk->lruvec = lruvec; in try_to_inc_max_seq()
4620 walk->lruvec = lruvec; in evict_folios()
4840 struct lruvec *lruvec; in shrink_many() local
5411 struct lruvec *lruvec; in run_cmd() local
6280 struct lruvec *lruvec; in do_try_to_free_pages() local
[all …]
H A Dmlock.c61 static struct lruvec *__mlock_folio(struct folio *folio, struct lruvec *lruvec) in __mlock_folio() argument
67 lruvec = folio_lruvec_relock_irq(folio, lruvec); in __mlock_folio()
103 static struct lruvec *__mlock_new_folio(struct folio *folio, struct lruvec *lruvec) in __mlock_new_folio() argument
107 lruvec = folio_lruvec_relock_irq(folio, lruvec); in __mlock_new_folio()
122 static struct lruvec *__munlock_folio(struct folio *folio, struct lruvec *lruvec) in __munlock_folio() argument
131 lruvec = folio_lruvec_relock_irq(folio, lruvec); in __munlock_folio()
188 struct lruvec *lruvec = NULL; in mlock_folio_batch() local
200 lruvec = __mlock_folio(folio, lruvec); in mlock_folio_batch()
202 lruvec = __mlock_new_folio(folio, lruvec); in mlock_folio_batch()
204 lruvec = __munlock_folio(folio, lruvec); in mlock_folio_batch()
[all …]
H A Dmmzone.c75 void lruvec_init(struct lruvec *lruvec) in lruvec_init() argument
79 memset(lruvec, 0, sizeof(struct lruvec)); in lruvec_init()
80 spin_lock_init(&lruvec->lru_lock); in lruvec_init()
81 zswap_lruvec_state_init(lruvec); in lruvec_init()
84 INIT_LIST_HEAD(&lruvec->lists[lru]); in lruvec_init()
91 list_del(&lruvec->lists[LRU_UNEVICTABLE]); in lruvec_init()
93 lru_gen_init_lruvec(lruvec); in lruvec_init()
H A Dmemcontrol.c375 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in lruvec_page_state()
384 unsigned long lruvec_page_state_local(struct lruvec *lruvec, in lruvec_page_state_local() argument
689 static void __mod_memcg_lruvec_state(struct lruvec *lruvec, in __mod_memcg_lruvec_state() argument
758 struct lruvec *lruvec; in __lruvec_stat_mod_folio() local
779 struct lruvec *lruvec; in __mod_lruvec_kmem_state() local
1207 struct lruvec *lruvec = folio_lruvec(folio); in folio_lruvec_lock() local
1212 return lruvec; in folio_lruvec_lock()
1230 struct lruvec *lruvec = folio_lruvec(folio); in folio_lruvec_lock_irq() local
1255 struct lruvec *lruvec = folio_lruvec(folio); in folio_lruvec_lock_irqsave() local
2403 struct lruvec *lruvec; in __mod_objcg_mlstate() local
[all …]
H A Dzswap.c707 struct lruvec *lruvec; in zswap_lru_add() local
728 lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(nid)); in zswap_lru_add()
753 void zswap_lruvec_state_init(struct lruvec *lruvec) in zswap_lruvec_state_init() argument
755 atomic_long_set(&lruvec->zswap_lruvec_state.nr_zswap_protected, 0); in zswap_lruvec_state_init()
760 struct lruvec *lruvec; in zswap_folio_swapin() local
763 lruvec = folio_lruvec(folio); in zswap_folio_swapin()
764 atomic_long_inc(&lruvec->zswap_lruvec_state.nr_zswap_protected); in zswap_folio_swapin()
1160 struct lruvec *lruvec = mem_cgroup_lruvec(sc->memcg, NODE_DATA(sc->nid)); in zswap_shrinker_scan() local
1171 atomic_long_read(&lruvec->zswap_lruvec_state.nr_zswap_protected); in zswap_shrinker_scan()
1202 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(sc->nid)); in zswap_shrinker_count() local
[all …]
H A Dcompaction.c903 struct lruvec *lruvec; in isolate_migratepages_block() local
905 struct lruvec *locked = NULL; in isolate_migratepages_block()
1220 lruvec = folio_lruvec(folio); in isolate_migratepages_block()
1223 if (lruvec != locked) { in isolate_migratepages_block()
1227 compact_lock_irqsave(&lruvec->lru_lock, &flags, cc); in isolate_migratepages_block()
1228 locked = lruvec; in isolate_migratepages_block()
1230 lruvec_memcg_debug(lruvec, folio); in isolate_migratepages_block()
1264 lruvec_del_folio(lruvec, folio); in isolate_migratepages_block()
H A Dhuge_memory.c2801 struct lruvec *lruvec, struct list_head *list) in lru_add_page_tail() argument
2805 lockdep_assert_held(&lruvec->lru_lock); in lru_add_page_tail()
2824 struct lruvec *lruvec, struct list_head *list, in __split_huge_page_tail() argument
2917 lru_add_page_tail(head, page_tail, lruvec, list); in __split_huge_page_tail()
2925 struct lruvec *lruvec; in __split_huge_page() local
2943 lruvec = folio_lruvec_lock(folio); in __split_huge_page()
2948 __split_huge_page_tail(folio, i, lruvec, list, new_order); in __split_huge_page()
2976 unlock_page_lruvec(lruvec); in __split_huge_page()
H A Dmemcontrol-v1.c762 struct lruvec *from_vec, *to_vec; in mem_cgroup_move_account()
2509 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(nid)); in mem_cgroup_node_nr_lru_pages() local
2519 nr += lruvec_page_state(lruvec, NR_LRU_BASE + lru); in mem_cgroup_node_nr_lru_pages()
2521 nr += lruvec_page_state_local(lruvec, NR_LRU_BASE + lru); in mem_cgroup_node_nr_lru_pages()
2699 anon_cost += mz->lruvec.anon_cost; in memcg1_stat_format()
2700 file_cost += mz->lruvec.file_cost; in memcg1_stat_format()
H A Dmigrate.c496 struct lruvec *old_lruvec, *new_lruvec; in __folio_migrate_mapping()
/linux/Documentation/mm/
H A Dmultigen_lru.rst83 ``lruvec``. The youngest generation number is stored in
114 The aging produces young generations. Given an ``lruvec``, it
130 The eviction consumes old generations. Given an ``lruvec``, it
148 set, an ``lruvec`` is protected from the eviction when its oldest
H A Dphysical_memory.rst267 Per-node lruvec holding LRU lists and related parameters. Used only when
/linux/Documentation/trace/
H A Devents-kmem.rst72 contention on the lruvec->lru_lock.
/linux/Documentation/admin-guide/cgroup-v1/
H A Dmemory.rst307 lruvec->lru_lock.
310 lruvec->lru_lock; the folio LRU flag is cleared before
311 isolating a page from its LRU under lruvec->lru_lock.