/kernel/linux/linux-6.6/mm/ |
H A D | list_lru.c | 22 static inline bool list_lru_memcg_aware(struct list_lru *lru) in list_lru_memcg_aware() argument 24 return lru->memcg_aware; in list_lru_memcg_aware() 27 static void list_lru_register(struct list_lru *lru) in list_lru_register() argument 29 if (!list_lru_memcg_aware(lru)) in list_lru_register() 33 list_add(&lru->list, &memcg_list_lrus); in list_lru_register() 37 static void list_lru_unregister(struct list_lru *lru) in list_lru_unregister() argument 39 if (!list_lru_memcg_aware(lru)) in list_lru_unregister() 43 list_del(&lru->list); in list_lru_unregister() 47 static int lru_shrinker_id(struct list_lru *lru) in lru_shrinker_id() argument 49 return lru in lru_shrinker_id() 53 list_lru_from_memcg_idx(struct list_lru *lru, int nid, int idx) list_lru_from_memcg_idx() argument 64 list_lru_from_kmem(struct list_lru *lru, int nid, void *ptr, struct mem_cgroup **memcg_ptr) list_lru_from_kmem() argument 85 list_lru_register(struct list_lru *lru) list_lru_register() argument 89 list_lru_unregister(struct list_lru *lru) list_lru_unregister() argument 93 lru_shrinker_id(struct list_lru *lru) lru_shrinker_id() argument 98 list_lru_memcg_aware(struct list_lru *lru) list_lru_memcg_aware() argument 104 list_lru_from_memcg_idx(struct list_lru *lru, int nid, int idx) list_lru_from_memcg_idx() argument 110 list_lru_from_kmem(struct list_lru *lru, int nid, void *ptr, struct mem_cgroup **memcg_ptr) list_lru_from_kmem() argument 119 list_lru_add(struct list_lru *lru, struct list_head *item) list_lru_add() argument 143 list_lru_del(struct list_lru *lru, struct list_head *item) list_lru_del() argument 178 list_lru_count_one(struct list_lru *lru, int nid, struct mem_cgroup *memcg) list_lru_count_one() argument 196 list_lru_count_node(struct list_lru *lru, int nid) list_lru_count_node() argument 206 __list_lru_walk_one(struct list_lru *lru, int nid, int memcg_idx, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) __list_lru_walk_one() argument 268 list_lru_walk_one(struct list_lru *lru, int nid, struct mem_cgroup *memcg, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_one() argument 284 list_lru_walk_one_irq(struct list_lru *lru, int nid, struct mem_cgroup *memcg, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_one_irq() argument 298 list_lru_walk_node(struct list_lru *lru, int nid, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_node() argument 353 memcg_list_lru_free(struct list_lru *lru, int src_idx) memcg_list_lru_free() argument 367 memcg_init_list_lru(struct list_lru *lru, bool memcg_aware) memcg_init_list_lru() argument 374 memcg_destroy_list_lru(struct list_lru *lru) memcg_destroy_list_lru() argument 390 memcg_reparent_list_lru_node(struct list_lru *lru, int nid, int src_idx, struct mem_cgroup *dst_memcg) memcg_reparent_list_lru_node() argument 419 memcg_reparent_list_lru(struct list_lru *lru, int src_idx, struct mem_cgroup *dst_memcg) memcg_reparent_list_lru() argument 433 struct list_lru *lru; memcg_reparent_list_lrus() local 464 memcg_list_lru_allocated(struct mem_cgroup *memcg, struct list_lru *lru) memcg_list_lru_allocated() argument 472 memcg_list_lru_alloc(struct mem_cgroup *memcg, struct list_lru *lru, gfp_t gfp) memcg_list_lru_alloc() argument 550 memcg_init_list_lru(struct list_lru *lru, bool memcg_aware) memcg_init_list_lru() argument 554 memcg_destroy_list_lru(struct list_lru *lru) memcg_destroy_list_lru() argument 559 __list_lru_init(struct list_lru *lru, bool memcg_aware, struct lock_class_key *key, struct shrinker *shrinker) __list_lru_init() argument 589 list_lru_destroy(struct list_lru *lru) list_lru_destroy() argument [all...] |
H A D | memcg_reclaim.c | 43 enum lru_list lru; in get_scan_count_hyperhold() local 147 for_each_evictable_lru(lru) { in get_scan_count_hyperhold() 148 int file = is_file_lru(lru); in get_scan_count_hyperhold() 152 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count_hyperhold() 183 nr[lru] = scan; in get_scan_count_hyperhold() 194 enum lru_list lru; in shrink_anon_memcg() local 201 for (lru = 0; lru <= LRU_ACTIVE_ANON; lru++) { in shrink_anon_memcg() 202 if (nr[lru]) { in shrink_anon_memcg() 320 enum lru_list lru; shrink_file() local [all...] |
/kernel/linux/linux-5.10/mm/ |
H A D | list_lru.c | 21 static void list_lru_register(struct list_lru *lru) in list_lru_register() argument 24 list_add(&lru->list, &list_lrus); in list_lru_register() 28 static void list_lru_unregister(struct list_lru *lru) in list_lru_unregister() argument 31 list_del(&lru->list); in list_lru_unregister() 35 static int lru_shrinker_id(struct list_lru *lru) in lru_shrinker_id() argument 37 return lru->shrinker_id; in lru_shrinker_id() 40 static inline bool list_lru_memcg_aware(struct list_lru *lru) in list_lru_memcg_aware() argument 42 return lru->memcg_aware; in list_lru_memcg_aware() 56 return memcg_lrus->lru[idx]; in list_lru_from_memcg_idx() 57 return &nlru->lru; in list_lru_from_memcg_idx() 81 list_lru_register(struct list_lru *lru) list_lru_register() argument 85 list_lru_unregister(struct list_lru *lru) list_lru_unregister() argument 89 lru_shrinker_id(struct list_lru *lru) lru_shrinker_id() argument 94 list_lru_memcg_aware(struct list_lru *lru) list_lru_memcg_aware() argument 115 list_lru_add(struct list_lru *lru, struct list_head *item) list_lru_add() argument 139 list_lru_del(struct list_lru *lru, struct list_head *item) list_lru_del() argument 174 list_lru_count_one(struct list_lru *lru, int nid, struct mem_cgroup *memcg) list_lru_count_one() argument 190 list_lru_count_node(struct list_lru *lru, int nid) list_lru_count_node() argument 258 list_lru_walk_one(struct list_lru *lru, int nid, struct mem_cgroup *memcg, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_one() argument 274 list_lru_walk_one_irq(struct list_lru *lru, int nid, struct mem_cgroup *memcg, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_one_irq() argument 288 list_lru_walk_node(struct list_lru *lru, int nid, list_lru_walk_cb isolate, void *cb_arg, unsigned long *nr_to_walk) list_lru_walk_node() argument 438 memcg_init_list_lru(struct list_lru *lru, bool memcg_aware) memcg_init_list_lru() argument 461 memcg_destroy_list_lru(struct list_lru *lru) memcg_destroy_list_lru() argument 472 memcg_update_list_lru(struct list_lru *lru, int old_size, int new_size) memcg_update_list_lru() argument 497 memcg_cancel_update_list_lru(struct list_lru *lru, int old_size, int new_size) memcg_cancel_update_list_lru() argument 513 struct list_lru *lru; memcg_update_all_list_lrus() local 531 memcg_drain_list_lru_node(struct list_lru *lru, int nid, int src_idx, struct mem_cgroup *dst_memcg) memcg_drain_list_lru_node() argument 558 memcg_drain_list_lru(struct list_lru *lru, int src_idx, struct mem_cgroup *dst_memcg) memcg_drain_list_lru() argument 572 struct list_lru *lru; memcg_drain_all_list_lrus() local 580 memcg_init_list_lru(struct list_lru *lru, bool memcg_aware) memcg_init_list_lru() argument 585 memcg_destroy_list_lru(struct list_lru *lru) memcg_destroy_list_lru() argument 590 __list_lru_init(struct list_lru *lru, bool memcg_aware, struct lock_class_key *key, struct shrinker *shrinker) __list_lru_init() argument 630 list_lru_destroy(struct list_lru *lru) list_lru_destroy() argument [all...] |
H A D | zbud.c | 85 * @lru: list tracking the zbud pages in LRU order by most recently 98 struct list_head lru; member 111 * @lru: links the zbud page into the lru list in the pool 117 struct list_head lru; member 246 INIT_LIST_HEAD(&zhdr->lru); in init_zbud_page() 319 INIT_LIST_HEAD(&pool->lru); in zbud_create_pool() 410 if (!list_empty(&zhdr->lru)) in zbud_alloc() 411 list_del(&zhdr->lru); in zbud_alloc() 412 list_add(&zhdr->lru, in zbud_alloc() [all...] |
H A D | memcg_reclaim.c | 41 enum lru_list lru; in get_scan_count_hyperhold() local 145 for_each_evictable_lru(lru) { in get_scan_count_hyperhold() 146 int file = is_file_lru(lru); in get_scan_count_hyperhold() 150 lruvec_size = lruvec_lru_size(lruvec, lru, sc->reclaim_idx); in get_scan_count_hyperhold() 181 nr[lru] = scan; in get_scan_count_hyperhold() 192 enum lru_list lru; in shrink_anon_memcg() local 199 for (lru = 0; lru <= LRU_ACTIVE_ANON; lru++) { in shrink_anon_memcg() 200 if (nr[lru]) { in shrink_anon_memcg() 318 enum lru_list lru; shrink_file() local [all...] |
H A D | vmscan.c | 77 if ((_page)->lru.prev != _base) { \ 80 prev = lru_to_page(&(_page->lru)); \ 222 * @lruvec: lru vector 223 * @lru: lru to use 226 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) in lruvec_lru_size() argument 239 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size() 252 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size() 254 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size() 901 * @page: page to be put back to appropriate lru lis 1560 update_lru_sizes(struct lruvec *lruvec, enum lru_list lru, unsigned long *nr_zone_taken) update_lru_sizes() argument 1593 isolate_lru_pages(unsigned long nr_to_scan, struct lruvec *lruvec, struct list_head *dst, unsigned long *nr_scanned, struct scan_control *sc, enum lru_list lru) isolate_lru_pages() argument 1720 int lru = page_lru(page); isolate_lru_page() local 1794 enum lru_list lru; move_pages_to_lru() local 1877 shrink_inactive_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_inactive_list() argument 1981 shrink_active_list(unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc, enum lru_list lru) shrink_active_list() argument 2130 shrink_list(enum lru_list lru, unsigned long nr_to_scan, struct lruvec *lruvec, struct scan_control *sc) shrink_list() argument 2227 enum lru_list lru; get_scan_count() local 2418 enum lru_list lru; shrink_lruvec() local 4343 enum lru_list lru = page_lru_base_type(page); check_move_unevictable_pages() local [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | list_lru.h | 37 struct list_lru_one *lru[]; member 44 struct list_lru_one lru; member 61 void list_lru_destroy(struct list_lru *lru); 62 int __list_lru_init(struct list_lru *lru, bool memcg_aware, 65 #define list_lru_init(lru) \ 66 __list_lru_init((lru), false, NULL, NULL) 67 #define list_lru_init_key(lru, key) \ 68 __list_lru_init((lru), false, (key), NULL) 69 #define list_lru_init_memcg(lru, shrinker) \ 70 __list_lru_init((lru), tru 120 list_lru_shrink_count(struct list_lru *lru, struct shrink_control *sc) list_lru_shrink_count() argument 126 list_lru_count(struct list_lru *lru) list_lru_count() argument 192 list_lru_shrink_walk(struct list_lru *lru, struct shrink_control *sc, list_lru_walk_cb isolate, void *cb_arg) list_lru_shrink_walk() argument 200 list_lru_shrink_walk_irq(struct list_lru *lru, struct shrink_control *sc, list_lru_walk_cb isolate, void *cb_arg) list_lru_shrink_walk_irq() argument 208 list_lru_walk(struct list_lru *lru, list_lru_walk_cb isolate, void *cb_arg, unsigned long nr_to_walk) list_lru_walk() argument [all...] |
H A D | mm_inline.h | 29 enum lru_list lru, enum zone_type zid, in __update_lru_size() 34 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size() 36 NR_ZONE_LRU_BASE + lru, nr_pages); in __update_lru_size() 40 enum lru_list lru, enum zone_type zid, in update_lru_size() 43 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 45 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 50 struct lruvec *lruvec, enum lru_list lru) in add_page_to_lru_list() 52 update_lru_size(lruvec, lru, page_zonenum(page), thp_nr_pages(page)); in add_page_to_lru_list() 53 list_add(&page->lru, &lruvec->lists[lru]); in add_page_to_lru_list() 28 __update_lru_size(struct lruvec *lruvec, enum lru_list lru, enum zone_type zid, int nr_pages) __update_lru_size() argument 39 update_lru_size(struct lruvec *lruvec, enum lru_list lru, enum zone_type zid, int nr_pages) update_lru_size() argument 49 add_page_to_lru_list(struct page *page, struct lruvec *lruvec, enum lru_list lru) add_page_to_lru_list() argument 56 add_page_to_lru_list_tail(struct page *page, struct lruvec *lruvec, enum lru_list lru) add_page_to_lru_list_tail() argument 63 del_page_from_lru_list(struct page *page, struct lruvec *lruvec, enum lru_list lru) del_page_from_lru_list() argument 99 enum lru_list lru; page_off_lru() local 123 enum lru_list lru; page_lru() local [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | list_lru.h | 45 struct list_lru_one lru; member 59 void list_lru_destroy(struct list_lru *lru); 60 int __list_lru_init(struct list_lru *lru, bool memcg_aware, 63 #define list_lru_init(lru) \ 64 __list_lru_init((lru), false, NULL, NULL) 65 #define list_lru_init_key(lru, key) \ 66 __list_lru_init((lru), false, (key), NULL) 67 #define list_lru_init_memcg(lru, shrinker) \ 68 __list_lru_init((lru), true, NULL, shrinker) 70 int memcg_list_lru_alloc(struct mem_cgroup *memcg, struct list_lru *lru, 119 list_lru_shrink_count(struct list_lru *lru, struct shrink_control *sc) list_lru_shrink_count() argument 125 list_lru_count(struct list_lru *lru) list_lru_count() argument 191 list_lru_shrink_walk(struct list_lru *lru, struct shrink_control *sc, list_lru_walk_cb isolate, void *cb_arg) list_lru_shrink_walk() argument 199 list_lru_shrink_walk_irq(struct list_lru *lru, struct shrink_control *sc, list_lru_walk_cb isolate, void *cb_arg) list_lru_shrink_walk_irq() argument 207 list_lru_walk(struct list_lru *lru, list_lru_walk_cb isolate, void *cb_arg, unsigned long nr_to_walk) list_lru_walk() argument [all...] |
H A D | mm_inline.h | 38 enum lru_list lru, enum zone_type zid, in __update_lru_size() 46 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size() 48 NR_ZONE_LRU_BASE + lru, nr_pages); in __update_lru_size() 52 enum lru_list lru, enum zone_type zid, in update_lru_size() 55 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 57 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 62 * __folio_clear_lru_flags - Clear page lru flags before releasing a page. 63 * @folio: The folio that was on lru and now has a zero reference. 88 enum lru_list lru; in folio_lru_list() local 95 lru in folio_lru_list() 37 __update_lru_size(struct lruvec *lruvec, enum lru_list lru, enum zone_type zid, long nr_pages) __update_lru_size() argument 51 update_lru_size(struct lruvec *lruvec, enum lru_list lru, enum zone_type zid, long nr_pages) update_lru_size() argument 184 enum lru_list lru = type * LRU_INACTIVE_FILE; lru_gen_update_size() local 324 enum lru_list lru = folio_lru_list(folio); lruvec_add_folio() local 338 enum lru_list lru = folio_lru_list(folio); lruvec_add_folio_tail() local 352 enum lru_list lru = folio_lru_list(folio); lruvec_del_folio() local [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | bpf_lru_list.c | 144 static void __bpf_lru_list_rotate_active(struct bpf_lru *lru, in __bpf_lru_list_rotate_active() argument 158 if (++i == lru->nr_scans || node == first_node) in __bpf_lru_list_rotate_active() 171 static void __bpf_lru_list_rotate_inactive(struct bpf_lru *lru, in __bpf_lru_list_rotate_inactive() argument 187 while (i < lru->nr_scans) { in __bpf_lru_list_rotate_inactive() 211 __bpf_lru_list_shrink_inactive(struct bpf_lru *lru, in __bpf_lru_list_shrink_inactive() argument 225 } else if (lru->del_from_htab(lru->del_arg, node)) { in __bpf_lru_list_shrink_inactive() 232 if (++i == lru->nr_scans) in __bpf_lru_list_shrink_inactive() 242 static void __bpf_lru_list_rotate(struct bpf_lru *lru, struct bpf_lru_list *l) in __bpf_lru_list_rotate() argument 245 __bpf_lru_list_rotate_active(lru, in __bpf_lru_list_rotate() 260 __bpf_lru_list_shrink(struct bpf_lru *lru, struct bpf_lru_list *l, unsigned int tgt_nshrink, struct list_head *free_list, enum bpf_lru_list_type tgt_free_type) __bpf_lru_list_shrink() argument 323 bpf_lru_list_pop_free_to_local(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l) bpf_lru_list_pop_free_to_local() argument 352 __local_list_add_pending(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l, int cpu, struct bpf_lru_node *node, u32 hash) __local_list_add_pending() argument 380 __local_list_pop_pending(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l) __local_list_pop_pending() argument 404 bpf_percpu_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_percpu_lru_pop_free() argument 436 bpf_common_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_common_lru_pop_free() argument 499 bpf_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_lru_pop_free() argument 507 bpf_common_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_common_lru_push_free() argument 541 bpf_percpu_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_percpu_lru_push_free() argument 556 bpf_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_lru_push_free() argument 564 bpf_common_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_common_lru_populate() argument 582 bpf_percpu_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_percpu_lru_populate() argument 613 bpf_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_lru_populate() argument 651 bpf_lru_init(struct bpf_lru *lru, bool percpu, u32 hash_offset, del_from_htab_func del_from_htab, void *del_arg) bpf_lru_init() argument 694 bpf_lru_destroy(struct bpf_lru *lru) bpf_lru_destroy() argument [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | bpf_lru_list.c | 144 static void __bpf_lru_list_rotate_active(struct bpf_lru *lru, in __bpf_lru_list_rotate_active() argument 158 if (++i == lru->nr_scans || node == first_node) in __bpf_lru_list_rotate_active() 171 static void __bpf_lru_list_rotate_inactive(struct bpf_lru *lru, in __bpf_lru_list_rotate_inactive() argument 187 while (i < lru->nr_scans) { in __bpf_lru_list_rotate_inactive() 211 __bpf_lru_list_shrink_inactive(struct bpf_lru *lru, in __bpf_lru_list_shrink_inactive() argument 225 } else if (lru->del_from_htab(lru->del_arg, node)) { in __bpf_lru_list_shrink_inactive() 232 if (++i == lru->nr_scans) in __bpf_lru_list_shrink_inactive() 242 static void __bpf_lru_list_rotate(struct bpf_lru *lru, struct bpf_lru_list *l) in __bpf_lru_list_rotate() argument 245 __bpf_lru_list_rotate_active(lru, in __bpf_lru_list_rotate() 260 __bpf_lru_list_shrink(struct bpf_lru *lru, struct bpf_lru_list *l, unsigned int tgt_nshrink, struct list_head *free_list, enum bpf_lru_list_type tgt_free_type) __bpf_lru_list_shrink() argument 323 bpf_lru_list_pop_free_to_local(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l) bpf_lru_list_pop_free_to_local() argument 352 __local_list_add_pending(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l, int cpu, struct bpf_lru_node *node, u32 hash) __local_list_add_pending() argument 380 __local_list_pop_pending(struct bpf_lru *lru, struct bpf_lru_locallist *loc_l) __local_list_pop_pending() argument 404 bpf_percpu_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_percpu_lru_pop_free() argument 436 bpf_common_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_common_lru_pop_free() argument 499 bpf_lru_pop_free(struct bpf_lru *lru, u32 hash) bpf_lru_pop_free() argument 507 bpf_common_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_common_lru_push_free() argument 541 bpf_percpu_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_percpu_lru_push_free() argument 556 bpf_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node) bpf_lru_push_free() argument 564 bpf_common_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_common_lru_populate() argument 582 bpf_percpu_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_percpu_lru_populate() argument 613 bpf_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, u32 elem_size, u32 nr_elems) bpf_lru_populate() argument 651 bpf_lru_init(struct bpf_lru *lru, bool percpu, u32 hash_offset, del_from_htab_func del_from_htab, void *del_arg) bpf_lru_init() argument 694 bpf_lru_destroy(struct bpf_lru *lru) bpf_lru_destroy() argument [all...] |
/kernel/linux/linux-5.10/samples/bpf/ |
H A D | test_lru_dist.c | 105 static void pfect_lru_init(struct pfect_lru *lru, unsigned int lru_size, in pfect_lru_init() argument 108 lru->map_fd = bpf_create_map(BPF_MAP_TYPE_HASH, in pfect_lru_init() 112 assert(lru->map_fd != -1); in pfect_lru_init() 114 lru->free_nodes = malloc(lru_size * sizeof(struct pfect_lru_node)); in pfect_lru_init() 115 assert(lru->free_nodes); in pfect_lru_init() 117 INIT_LIST_HEAD(&lru->list); in pfect_lru_init() 118 lru->cur_size = 0; in pfect_lru_init() 119 lru->lru_size = lru_size; in pfect_lru_init() 120 lru->nr_unique = lru in pfect_lru_init() 123 pfect_lru_destroy(struct pfect_lru *lru) pfect_lru_destroy() argument 129 pfect_lru_lookup_or_insert(struct pfect_lru *lru, unsigned long long key) pfect_lru_lookup_or_insert() argument [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | test_lru_dist.c | 99 static void pfect_lru_init(struct pfect_lru *lru, unsigned int lru_size, in pfect_lru_init() argument 102 lru->map_fd = bpf_map_create(BPF_MAP_TYPE_HASH, NULL, in pfect_lru_init() 106 assert(lru->map_fd != -1); in pfect_lru_init() 108 lru->free_nodes = malloc(lru_size * sizeof(struct pfect_lru_node)); in pfect_lru_init() 109 assert(lru->free_nodes); in pfect_lru_init() 111 INIT_LIST_HEAD(&lru->list); in pfect_lru_init() 112 lru->cur_size = 0; in pfect_lru_init() 113 lru->lru_size = lru_size; in pfect_lru_init() 114 lru->nr_unique = lru in pfect_lru_init() 117 pfect_lru_destroy(struct pfect_lru *lru) pfect_lru_destroy() argument 123 pfect_lru_lookup_or_insert(struct pfect_lru *lru, unsigned long long key) pfect_lru_lookup_or_insert() argument [all...] |
/kernel/linux/linux-5.10/net/ceph/ |
H A D | pagelist.c | 32 struct page *page = list_entry(pl->head.prev, struct page, lru); in ceph_pagelist_unmap_tail() 45 lru); in ceph_pagelist_release() 46 list_del(&page->lru); in ceph_pagelist_release() 61 page = list_first_entry(&pl->free_list, struct page, lru); in ceph_pagelist_addpage() 62 list_del(&page->lru); in ceph_pagelist_addpage() 69 list_add_tail(&page->lru, &pl->head); in ceph_pagelist_addpage() 113 list_add_tail(&page->lru, &pl->free_list); in ceph_pagelist_reserve() 125 struct page, lru); in ceph_pagelist_free_reserve() 126 list_del(&page->lru); in ceph_pagelist_free_reserve() 159 page = list_entry(pl->head.prev, struct page, lru); in ceph_pagelist_truncate() [all...] |
/kernel/linux/linux-6.6/net/ceph/ |
H A D | pagelist.c | 32 struct page *page = list_entry(pl->head.prev, struct page, lru); in ceph_pagelist_unmap_tail() 45 lru); in ceph_pagelist_release() 46 list_del(&page->lru); in ceph_pagelist_release() 61 page = list_first_entry(&pl->free_list, struct page, lru); in ceph_pagelist_addpage() 62 list_del(&page->lru); in ceph_pagelist_addpage() 69 list_add_tail(&page->lru, &pl->head); in ceph_pagelist_addpage() 113 list_add_tail(&page->lru, &pl->free_list); in ceph_pagelist_reserve() 125 struct page, lru); in ceph_pagelist_free_reserve() 126 list_del(&page->lru); in ceph_pagelist_free_reserve() 159 page = list_entry(pl->head.prev, struct page, lru); in ceph_pagelist_truncate() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/msm/ |
H A D | msm_gem_shrinker.c | 39 unsigned count = priv->lru.dontneed.count; in msm_gem_shrinker_count() 42 count += priv->lru.willneed.count; in msm_gem_shrinker_count() 106 struct drm_gem_lru *lru; in msm_gem_shrinker_scan() member 113 { &priv->lru.dontneed, purge, true }, in msm_gem_shrinker_scan() 114 { &priv->lru.willneed, evict, can_swap() }, in msm_gem_shrinker_scan() 115 { &priv->lru.dontneed, active_purge, can_block(sc) }, in msm_gem_shrinker_scan() 116 { &priv->lru.willneed, active_evict, can_swap() && can_block(sc) }, in msm_gem_shrinker_scan() 126 drm_gem_lru_scan(stages[i].lru, nr, in msm_gem_shrinker_scan() 184 &priv->lru.dontneed, in msm_gem_shrinker_vmap() 185 &priv->lru in msm_gem_shrinker_vmap() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/ |
H A D | drm_gem.c | 502 * Move folios to appropriate lru and release the folios, decrementing the 1313 * @lru: The LRU to initialize 1317 drm_gem_lru_init(struct drm_gem_lru *lru, struct mutex *lock) in drm_gem_lru_init() argument 1319 lru->lock = lock; in drm_gem_lru_init() 1320 lru->count = 0; in drm_gem_lru_init() 1321 INIT_LIST_HEAD(&lru->list); in drm_gem_lru_init() 1328 obj->lru->count -= obj->size >> PAGE_SHIFT; in drm_gem_lru_remove_locked() 1329 WARN_ON(obj->lru->count < 0); in drm_gem_lru_remove_locked() 1331 obj->lru = NULL; in drm_gem_lru_remove_locked() 1344 struct drm_gem_lru *lru in drm_gem_lru_remove() local 1364 drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj) drm_gem_lru_move_tail_locked() argument 1388 drm_gem_lru_move_tail(struct drm_gem_lru *lru, struct drm_gem_object *obj) drm_gem_lru_move_tail() argument 1412 drm_gem_lru_scan(struct drm_gem_lru *lru, unsigned int nr_to_scan, unsigned long *remaining, bool (*shrink)(struct drm_gem_object *obj)) drm_gem_lru_scan() argument [all...] |
/kernel/linux/linux-6.6/fs/nfs/ |
H A D | nfs42xattr.c | 71 struct list_head lru; member 82 struct list_head lru; member 130 struct list_lru *lru; in nfs4_xattr_entry_lru_add() local 132 lru = (entry->flags & NFS4_XATTR_ENTRY_EXTVAL) ? in nfs4_xattr_entry_lru_add() 135 return list_lru_add(lru, &entry->lru); in nfs4_xattr_entry_lru_add() 141 struct list_lru *lru; in nfs4_xattr_entry_lru_del() local 143 lru = (entry->flags & NFS4_XATTR_ENTRY_EXTVAL) ? in nfs4_xattr_entry_lru_del() 146 return list_lru_del(lru, &entry->lru); in nfs4_xattr_entry_lru_del() 823 cache_lru_isolate(struct list_head *item, struct list_lru_one *lru, spinlock_t *lru_lock, void *arg) cache_lru_isolate() argument 888 entry_lru_isolate(struct list_head *item, struct list_lru_one *lru, spinlock_t *lru_lock, void *arg) entry_lru_isolate() argument 944 struct list_lru *lru; nfs4_xattr_entry_scan() local 972 struct list_lru *lru; nfs4_xattr_entry_count() local 994 nfs4_xattr_shrinker_init(struct shrinker *shrinker, struct list_lru *lru, const char *name) nfs4_xattr_shrinker_init() argument 1010 nfs4_xattr_shrinker_destroy(struct shrinker *shrinker, struct list_lru *lru) nfs4_xattr_shrinker_destroy() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/ttm/ |
H A D | ttm_resource.c | 70 list_bulk_move_tail(&man->lru[j], &pos->first->lru, in ttm_lru_bulk_move_tail() 71 &pos->last->lru); in ttm_lru_bulk_move_tail() 90 pos->first = list_next_entry(res, lru); in ttm_lru_bulk_move_pos_tail() 91 list_move(&res->lru, &pos->last->lru); in ttm_lru_bulk_move_pos_tail() 121 pos->first = list_next_entry(res, lru); in ttm_lru_bulk_move_del() 123 pos->last = list_prev_entry(res, lru); in ttm_lru_bulk_move_del() 125 list_move(&res->lru, &pos->last->lru); in ttm_lru_bulk_move_del() [all...] |
/kernel/linux/linux-5.10/fs/nfs/ |
H A D | nfs42xattr.c | 71 struct list_head lru; member 82 struct list_head lru; member 130 struct list_lru *lru; in nfs4_xattr_entry_lru_add() local 132 lru = (entry->flags & NFS4_XATTR_ENTRY_EXTVAL) ? in nfs4_xattr_entry_lru_add() 135 return list_lru_add(lru, &entry->lru); in nfs4_xattr_entry_lru_add() 141 struct list_lru *lru; in nfs4_xattr_entry_lru_del() local 143 lru = (entry->flags & NFS4_XATTR_ENTRY_EXTVAL) ? in nfs4_xattr_entry_lru_del() 146 return list_lru_del(lru, &entry->lru); in nfs4_xattr_entry_lru_del() 824 cache_lru_isolate(struct list_head *item, struct list_lru_one *lru, spinlock_t *lru_lock, void *arg) cache_lru_isolate() argument 889 entry_lru_isolate(struct list_head *item, struct list_lru_one *lru, spinlock_t *lru_lock, void *arg) entry_lru_isolate() argument 945 struct list_lru *lru; nfs4_xattr_entry_scan() local 973 struct list_lru *lru; nfs4_xattr_entry_count() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
H A D | nv50.c | 37 struct list_head lru; member 52 struct list_head lru; member 142 eobj = list_first_entry_or_null(&imem->lru, typeof(*eobj), lru); in nv50_instobj_kmap() 148 list_del_init(&eobj->lru); in nv50_instobj_kmap() 204 if (likely(iobj->lru.next) && iobj->map) { in nv50_instobj_release() 205 BUG_ON(!list_empty(&iobj->lru)); in nv50_instobj_release() 206 list_add_tail(&iobj->lru, &imem->lru); in nv50_instobj_release() 248 if (likely(iobj->lru in nv50_instobj_acquire() [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
H A D | nv50.c | 37 struct list_head lru; member 52 struct list_head lru; member 142 eobj = list_first_entry_or_null(&imem->lru, typeof(*eobj), lru); in nv50_instobj_kmap() 148 list_del_init(&eobj->lru); in nv50_instobj_kmap() 204 if (likely(iobj->lru.next) && iobj->map) { in nv50_instobj_release() 205 BUG_ON(!list_empty(&iobj->lru)); in nv50_instobj_release() 206 list_add_tail(&iobj->lru, &imem->lru); in nv50_instobj_release() 245 if (likely(iobj->lru in nv50_instobj_acquire() [all...] |
/kernel/linux/linux-6.6/drivers/md/ |
H A D | dm-bufio.c | 86 struct lru *lru; member 92 struct lru { struct 101 static void lru_init(struct lru *lru) in lru_init() argument 103 lru->cursor = NULL; in lru_init() 104 lru->count = 0; in lru_init() 105 INIT_LIST_HEAD(&lru->iterators); in lru_init() 108 static void lru_destroy(struct lru *lru) in lru_destroy() argument 117 lru_insert(struct lru *lru, struct lru_entry *le) lru_insert() argument 147 lru_iter_begin(struct lru *lru, struct lru_iter *it) lru_iter_begin() argument 196 lru_iter_invalidate(struct lru *lru, struct lru_entry *e) lru_iter_invalidate() argument 222 lru_remove(struct lru *lru, struct lru_entry *le) lru_remove() argument 257 lru_evict(struct lru *lru, le_predicate pred, void *context, bool no_sleep) lru_evict() argument 347 struct lru_entry lru; global() member 394 struct lru lru[LIST_SIZE]; global() member 783 struct lru *lru = &bc->lru[list_mode]; __cache_iterate() local [all...] |
/kernel/linux/linux-5.10/include/trace/events/ |
H A D | pagemap.h | 32 int lru 35 TP_ARGS(page, lru), 40 __field(int, lru ) 47 __entry->lru = lru; 52 TP_printk("page=%p pfn=%lu lru=%d flags=%s%s%s%s%s%s", 55 __entry->lru,
|