/linux/mm/ |
H A D | vmscan.c | 394 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, in lruvec_lru_size() argument 401 struct zone *zone = &lruvec_pgdat(lruvec)->node_zones[zid]; in lruvec_lru_size() 407 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size() 1650 static __always_inline void update_lru_sizes(struct lruvec *lruvec, in update_lru_sizes() argument 1659 update_lru_size(lruvec, lru, zid, -nr_zone_taken[zid]); in update_lru_sizes() 1686 struct lruvec *lruvec, struct list_head *dst, in isolate_lru_folios() argument 1690 struct list_head *src = &lruvec->lists[lru]; in isolate_lru_folios() 1777 update_lru_sizes(lruvec, lru, nr_zone_taken); in isolate_lru_folios() 1811 struct lruvec *lruvec; in folio_isolate_lru() local 1814 lruvec = folio_lruvec_lock_irq(folio); in folio_isolate_lru() [all …]
|
H A D | mlock.c | 61 static struct lruvec *__mlock_folio(struct folio *folio, struct lruvec *lruvec) in __mlock_folio() argument 65 return lruvec; in __mlock_folio() 67 lruvec = folio_lruvec_relock_irq(folio, lruvec); in __mlock_folio() 76 lruvec_del_folio(lruvec, folio); in __mlock_folio() 78 lruvec_add_folio(lruvec, folio); in __mlock_folio() 92 lruvec_del_folio(lruvec, folio); in __mlock_folio() 96 lruvec_add_folio(lruvec, folio); in __mlock_folio() 100 return 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() [all …]
|
H A D | mmzone.c | 75 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 D | memcontrol.c | 378 unsigned long lruvec_page_state(struct lruvec *lruvec, enum node_stat_item idx) in lruvec_page_state() argument 385 return node_page_state(lruvec_pgdat(lruvec), idx); in lruvec_page_state() 391 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in lruvec_page_state() 400 unsigned long lruvec_page_state_local(struct lruvec *lruvec, in lruvec_page_state_local() argument 408 return node_page_state(lruvec_pgdat(lruvec), idx); in lruvec_page_state_local() 414 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in lruvec_page_state_local() 726 static void __mod_memcg_lruvec_state(struct lruvec *lruvec, in __mod_memcg_lruvec_state() argument 737 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec); in __mod_memcg_lruvec_state() 781 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, in __mod_lruvec_state() argument 785 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in __mod_lruvec_state() [all …]
|
H A D | zswap.c | 743 void zswap_lruvec_state_init(struct lruvec *lruvec) in zswap_lruvec_state_init() argument 745 atomic_long_set(&lruvec->zswap_lruvec_state.nr_disk_swapins, 0); in zswap_lruvec_state_init() 750 struct lruvec *lruvec; in zswap_folio_swapin() local 753 lruvec = folio_lruvec(folio); in zswap_folio_swapin() 754 atomic_long_inc(&lruvec->zswap_lruvec_state.nr_disk_swapins); in zswap_folio_swapin() 1246 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, NODE_DATA(sc->nid)); in zswap_shrinker_count() local 1248 &lruvec->zswap_lruvec_state.nr_disk_swapins; in zswap_shrinker_count()
|
H A D | compaction.c | 875 struct lruvec *lruvec; in isolate_migratepages_block() local 877 struct lruvec *locked = NULL; in isolate_migratepages_block() 1192 lruvec = folio_lruvec(folio); in isolate_migratepages_block() 1195 if (lruvec != locked) { in isolate_migratepages_block() 1199 compact_lock_irqsave(&lruvec->lru_lock, &flags, cc); in isolate_migratepages_block() 1200 locked = lruvec; in isolate_migratepages_block() 1202 lruvec_memcg_debug(lruvec, folio); in isolate_migratepages_block() 1236 lruvec_del_folio(lruvec, folio); in isolate_migratepages_block()
|
H A D | huge_memory.c | 3147 struct lruvec *lruvec, struct list_head *list) in lru_add_page_tail() argument 3151 lockdep_assert_held(&lruvec->lru_lock); in lru_add_page_tail() 3170 struct lruvec *lruvec, struct list_head *list, in __split_huge_page_tail() argument 3265 lru_add_page_tail(folio, page_tail, lruvec, list); in __split_huge_page_tail() 3273 struct lruvec *lruvec; in __split_huge_page() local 3291 lruvec = folio_lruvec_lock(folio); in __split_huge_page() 3297 __split_huge_page_tail(folio, i, lruvec, list, new_order); in __split_huge_page() 3324 unlock_page_lruvec(lruvec); in __split_huge_page()
|
H A D | migrate.c | 567 struct lruvec *old_lruvec, *new_lruvec; in __folio_migrate_mapping() 2717 struct lruvec *lruvec = mem_cgroup_lruvec(memcg, pgdat); in migrate_misplaced_folio() local 2731 mod_lruvec_state(lruvec, PGPROMOTE_SUCCESS, nr_succeeded); in migrate_misplaced_folio()
|
/linux/include/linux/ |
H A D | vmstat.h | 534 void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx, 537 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument 543 __mod_lruvec_state(lruvec, idx, val); in mod_lruvec_state() 568 static inline void __mod_lruvec_state(struct lruvec *lruvec, in __mod_lruvec_state() argument 571 __mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in __mod_lruvec_state() 574 static inline void mod_lruvec_state(struct lruvec *lruvec, in mod_lruvec_state() argument 577 mod_node_page_state(lruvec_pgdat(lruvec), idx, val); in mod_lruvec_state()
|
/linux/Documentation/mm/ |
H A D | multigen_lru.rst | 83 ``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 D | process_addrs.rst | 393 lruvec->lru_lock (in folio_lruvec_lock_irq) 441 ->lruvec->lru_lock (follow_page_mask->mark_page_accessed) 442 ->lruvec->lru_lock (check_pte_range->folio_isolate_lru)
|
/linux/Documentation/trace/ |
H A D | events-kmem.rst | 72 contention on the lruvec->lru_lock.
|