| /linux/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->shrinker_id; in lru_shrinker_id() [all …]
|
| H A D | balloon_compaction.c | 49 list_for_each_entry_safe(page, tmp, pages, lru) { in balloon_page_list_enqueue() 50 list_del(&page->lru); in balloon_page_list_enqueue() 85 list_for_each_entry_safe(page, tmp, &b_dev_info->pages, lru) { in balloon_page_list_dequeue() 97 list_del(&page->lru); in balloon_page_list_dequeue() 100 list_add(&page->lru, pages); in balloon_page_list_dequeue() 197 return list_first_entry(&pages, struct page, lru); in balloon_page_dequeue() 213 list_del(&page->lru); in balloon_page_isolate() 230 list_add(&page->lru, &b_dev_info->pages); in balloon_page_putback()
|
| H A D | page_reporting.c | 183 list_for_each_entry_safe(page, next, list, lru) { in page_reporting_cycle() 218 if (!list_is_first(&page->lru, list)) in page_reporting_cycle() 219 list_rotate_to_front(&page->lru, list); in page_reporting_cycle() 243 next = list_first_entry(list, struct page, lru); in page_reporting_cycle() 251 if (!list_entry_is_head(next, list, lru) && !list_is_first(&next->lru, list)) in page_reporting_cycle() 252 list_rotate_to_front(&next->lru, list); in page_reporting_cycle()
|
| H A D | hugetlb_vmemmap.c | 203 list_for_each_entry_safe(page, next, list, lru) in free_vmemmap_page_list() 221 list_del(&walk->reuse_page->lru); in vmemmap_remap_pte() 232 list_add(&page->lru, walk->vmemmap_pages); in vmemmap_remap_pte() 264 page = list_first_entry(walk->vmemmap_pages, struct page, lru); in vmemmap_restore_pte() 265 list_del(&page->lru); in vmemmap_restore_pte() 345 list_add(&walk.reuse_page->lru, vmemmap_pages); in vmemmap_remap_free() 399 list_add(&page->lru, list); in alloc_vmemmap_page_list() 405 list_for_each_entry_safe(page, next, list, lru) in alloc_vmemmap_page_list() 526 list_for_each_entry_safe(folio, t_folio, folio_list, lru) { in hugetlb_vmemmap_restore_folios() 538 list_move(&folio->lru, non_hvo_folios); in hugetlb_vmemmap_restore_folios() [all …]
|
| H A D | migrate.c | 262 list_for_each_entry_safe(folio, folio2, l, lru) { in putback_movable_pages() 267 list_del(&folio->lru); in putback_movable_pages() 294 list_add(&folio->lru, list); in isolate_folio_to_list() 1165 list_move_tail(&src->lru, ret); in migrate_folio_undo_src() 1355 prev = dst->lru.prev; in migrate_folio_move() 1356 list_del(&dst->lru); in migrate_folio_move() 1399 list_del(&src->lru); in migrate_folio_move() 1413 list_add(&dst->lru, prev); in migrate_folio_move() 1540 list_move_tail(&src->lru, ret); in unmap_and_move_huge_page() 1569 list_move_tail(&folio->lru, split_folios); in try_split_folio() [all …]
|
| H A D | vmscan.c | 188 if ((_folio)->lru.prev != _base) { \ 191 prev = lru_to_folio(&(_folio->lru)); \ 411 static unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, in lruvec_lru_size() argument 420 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size() 422 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size() 1128 list_del(&folio->lru); in shrink_folio_list() 1267 list_add_tail(&folio->lru, folio_list); in shrink_folio_list() 1292 list_add(&folio->lru, &demote_folios); in shrink_folio_list() 1597 list_add(&folio->lru, &ret_folios); in shrink_folio_list() 1661 list_for_each_entry_safe(folio, next, folio_list, lru) { in reclaim_clean_pages_from_list() [all …]
|
| /linux/include/linux/ |
| H A D | list_lru.h | 47 struct list_lru_one lru; member 64 void list_lru_destroy(struct list_lru *lru); 65 int __list_lru_init(struct list_lru *lru, bool memcg_aware, 68 #define list_lru_init(lru) \ argument 69 __list_lru_init((lru), false, NULL) 70 #define list_lru_init_memcg(lru, shrinker) \ argument 71 __list_lru_init((lru), true, shrinker) 73 static inline int list_lru_init_memcg_key(struct list_lru *lru, struct shrinker *shrinker, in list_lru_init_memcg_key() argument 77 lru->key = key; in list_lru_init_memcg_key() 79 return list_lru_init_memcg(lru, shrinker); in list_lru_init_memcg_key() [all …]
|
| H A D | mm_inline.h | 39 enum lru_list lru, enum zone_type zid, in __update_lru_size() argument 47 __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages); in __update_lru_size() 49 NR_ZONE_LRU_BASE + lru, nr_pages); in __update_lru_size() 53 enum lru_list lru, enum zone_type zid, in update_lru_size() argument 56 __update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 58 mem_cgroup_update_lru_size(lruvec, lru, zid, nr_pages); in update_lru_size() 89 enum lru_list lru; in folio_lru_list() local 96 lru = folio_is_file_lru(folio) ? LRU_INACTIVE_FILE : LRU_INACTIVE_ANON; in folio_lru_list() 98 lru += LRU_ACTIVE; in folio_lru_list() 100 return lru; in folio_lru_list() [all …]
|
| H A D | balloon_compaction.h | 107 list_add(&page->lru, &balloon->pages); in balloon_page_insert() 140 list_add(&page->lru, pages); in balloon_page_push() 152 struct page *page = list_first_entry_or_null(pages, struct page, lru); in balloon_page_pop() 157 list_del(&page->lru); in balloon_page_pop()
|
| /linux/kernel/bpf/ |
| H A D | bpf_lru_list.c | 136 static void __bpf_lru_list_rotate_active(struct bpf_lru *lru, in __bpf_lru_list_rotate_active() argument 150 if (++i == lru->nr_scans || node == first_node) in __bpf_lru_list_rotate_active() 163 static void __bpf_lru_list_rotate_inactive(struct bpf_lru *lru, in __bpf_lru_list_rotate_inactive() argument 179 while (i < lru->nr_scans) { in __bpf_lru_list_rotate_inactive() 203 __bpf_lru_list_shrink_inactive(struct bpf_lru *lru, in __bpf_lru_list_shrink_inactive() argument 217 } else if (lru->del_from_htab(lru->del_arg, node)) { in __bpf_lru_list_shrink_inactive() 224 if (++i == lru->nr_scans) in __bpf_lru_list_shrink_inactive() 234 static void __bpf_lru_list_rotate(struct bpf_lru *lru, struct bpf_lru_list *l) in __bpf_lru_list_rotate() argument 237 __bpf_lru_list_rotate_active(lru, l); in __bpf_lru_list_rotate() 239 __bpf_lru_list_rotate_inactive(lru, l); in __bpf_lru_list_rotate() [all …]
|
| H A D | bpf_lru_list.h | 72 int bpf_lru_init(struct bpf_lru *lru, bool percpu, u32 hash_offset, 74 void bpf_lru_populate(struct bpf_lru *lru, void *buf, u32 node_offset, 76 void bpf_lru_destroy(struct bpf_lru *lru); 77 struct bpf_lru_node *bpf_lru_pop_free(struct bpf_lru *lru, u32 hash); 78 void bpf_lru_push_free(struct bpf_lru *lru, struct bpf_lru_node *node);
|
| /linux/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->nr_misses = lru->total = 0; in pfect_lru_init() 117 static void pfect_lru_destroy(struct pfect_lru *lru) in pfect_lru_destroy() argument [all …]
|
| /linux/drivers/gpu/drm/ttm/ |
| H A D | ttm_resource.c | 64 list_move(&cursor->hitch.link, &pos->last->lru.link); in ttm_resource_cursor_move_bulk_tail() 174 list_bulk_move_tail(&man->lru[j], &pos->first->lru.link, in ttm_lru_bulk_move_tail() 175 &pos->last->lru.link); in ttm_lru_bulk_move_tail() 191 struct ttm_lru_item *lru = &cur->lru; in ttm_lru_prev_res() local 194 lru = list_prev_entry(lru, link); in ttm_lru_prev_res() 195 } while (!ttm_lru_item_is_res(lru)); in ttm_lru_prev_res() 197 return ttm_lru_item_to_res(lru); in ttm_lru_prev_res() 203 struct ttm_lru_item *lru = &cur->lru; in ttm_lru_next_res() local 206 lru = list_next_entry(lru, link); in ttm_lru_next_res() 207 } while (!ttm_lru_item_is_res(lru)); in ttm_lru_next_res() [all …]
|
| /linux/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_obj(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_obj(lru, &entry->lru); in nfs4_xattr_entry_lru_del() 239 INIT_LIST_HEAD(&entry->lru); in nfs4_xattr_alloc_entry() 261 if (WARN_ON(!list_empty(&entry->lru))) in nfs4_xattr_free_entry_cb() [all …]
|
| /linux/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()
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gem.c | 1421 drm_gem_lru_init(struct drm_gem_lru *lru, struct mutex *lock) in drm_gem_lru_init() argument 1423 lru->lock = lock; in drm_gem_lru_init() 1424 lru->count = 0; in drm_gem_lru_init() 1425 INIT_LIST_HEAD(&lru->list); in drm_gem_lru_init() 1432 obj->lru->count -= obj->size >> PAGE_SHIFT; in drm_gem_lru_remove_locked() 1433 WARN_ON(obj->lru->count < 0); in drm_gem_lru_remove_locked() 1435 obj->lru = NULL; in drm_gem_lru_remove_locked() 1448 struct drm_gem_lru *lru = obj->lru; in drm_gem_lru_remove() local 1450 if (!lru) in drm_gem_lru_remove() 1453 mutex_lock(lru->lock); in drm_gem_lru_remove() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
| H A D | nv50.c | 38 struct list_head lru; member 53 struct list_head lru; member 143 eobj = list_first_entry_or_null(&imem->lru, typeof(*eobj), lru); in nv50_instobj_kmap() 149 list_del_init(&eobj->lru); in nv50_instobj_kmap() 205 if (likely(iobj->lru.next) && iobj->map) { in nv50_instobj_release() 206 BUG_ON(!list_empty(&iobj->lru)); in nv50_instobj_release() 207 list_add_tail(&iobj->lru, &imem->lru); in nv50_instobj_release() 249 if (likely(iobj->lru.next)) in nv50_instobj_acquire() 250 list_del_init(&iobj->lru); in nv50_instobj_acquire() 275 if (likely(iobj->lru.next)) { in nv50_instobj_boot() [all …]
|
| /linux/drivers/md/ |
| H A D | dm-bufio.c | 78 struct lru *lru; member 84 struct lru { struct 93 static void lru_init(struct lru *lru) in lru_init() argument 95 lru->cursor = NULL; in lru_init() 96 lru->count = 0; in lru_init() 97 INIT_LIST_HEAD(&lru->iterators); in lru_init() 100 static void lru_destroy(struct lru *lru) in lru_destroy() argument 102 WARN_ON_ONCE(lru->cursor); in lru_destroy() 103 WARN_ON_ONCE(!list_empty(&lru->iterators)); in lru_destroy() 109 static void lru_insert(struct lru *lru, struct lru_entry *le) in lru_insert() argument [all …]
|
| H A D | dm-writecache.c | 83 struct list_head lru; member 110 struct list_head lru; member 668 list_add(&ins->lru, &wc->lru); in writecache_insert_entry() 674 list_del(&e->lru); in writecache_unlink() 695 list_add_tail(&e->lru, &wc->freelist); in writecache_add_to_freelist() 736 e = container_of(wc->freelist.next, struct wc_entry, lru); in writecache_pop_from_freelist() 739 list_del(&e->lru); in writecache_pop_from_freelist() 775 wc->lru.next = LIST_POISON1; in writecache_poison_lists() 776 wc->lru.prev = LIST_POISON2; in writecache_poison_lists() 801 if (list_empty(&wc->lru)) in writecache_flush() [all …]
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_gem_shrinker.c | 38 unsigned count = priv->lru.dontneed.count; in msm_gem_shrinker_count() 41 count += priv->lru.willneed.count; in msm_gem_shrinker_count() 170 struct drm_gem_lru *lru; in msm_gem_shrinker_scan() member 177 { &priv->lru.dontneed, purge, true }, in msm_gem_shrinker_scan() 178 { &priv->lru.willneed, evict, can_swap() }, in msm_gem_shrinker_scan() 179 { &priv->lru.dontneed, active_purge, can_block(sc) }, in msm_gem_shrinker_scan() 180 { &priv->lru.willneed, active_evict, can_swap() && can_block(sc) }, in msm_gem_shrinker_scan() 190 drm_gem_lru_scan(stages[i].lru, nr, in msm_gem_shrinker_scan() 250 &priv->lru.dontneed, in msm_gem_shrinker_vmap() 251 &priv->lru.willneed, in msm_gem_shrinker_vmap() [all …]
|
| /linux/rust/helpers/ |
| H A D | binder.c | 10 unsigned long rust_helper_list_lru_count(struct list_lru *lru) in rust_helper_list_lru_count() argument 12 return list_lru_count(lru); in rust_helper_list_lru_count() 15 unsigned long rust_helper_list_lru_walk(struct list_lru *lru, in rust_helper_list_lru_walk() argument 19 return list_lru_walk(lru, isolate, cb_arg, nr_to_walk); in rust_helper_list_lru_walk()
|
| /linux/arch/mips/mm/ |
| H A D | cerr-sb1.c | 326 uint8_t lru; in extract_ic() local 348 lru = (taghi >> 14) & 0xff; in extract_ic() 352 (lru & 0x3), in extract_ic() 353 ((lru >> 2) & 0x3), in extract_ic() 354 ((lru >> 4) & 0x3), in extract_ic() 355 ((lru >> 6) & 0x3)); in extract_ic() 481 uint8_t ecc, lru; in extract_dc() local 503 lru = (taghi >> 14) & 0xff; in extract_dc() 507 (lru & 0x3), in extract_dc() 508 ((lru >> 2) & 0x3), in extract_dc() [all …]
|
| /linux/fs/proc/ |
| H A D | meminfo.c | 42 int lru; in meminfo_proc_show() local 53 for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++) in meminfo_proc_show() 54 pages[lru] = global_node_page_state(NR_LRU_BASE + lru); in meminfo_proc_show()
|
| /linux/drivers/android/binder/ |
| H A D | page_range.rs | 174 lru: bindings::list_head, field 227 let lru_ptr = unsafe { &raw mut (*me).lru }; in list_lru_add() 239 let lru_ptr = unsafe { &raw mut (*me).lru }; in list_lru_del() 294 let lru = &raw mut (*info).lru; in register_with_vma() localVariable 295 (&raw mut (*lru).next).write(lru); in register_with_vma() 296 (&raw mut (*lru).prev).write(lru); in register_with_vma() 660 lru: *mut bindings::list_lru_one, in rust_shrink_free_page() 699 unsafe { bindings::list_lru_isolate(lru, item) }; in rust_shrink_free_page() 718 unsafe { bindings::spin_unlock(&raw mut (*lru).lock) }; in rust_shrink_free_page() 731 unsafe { bindings::spin_lock(&raw mut (*lru).lock) }; in rust_shrink_free_page()
|
| /linux/drivers/xen/ |
| H A D | balloon.c | 154 list_add_tail(&page->lru, &ballooned_pages); in balloon_append() 157 list_add(&page->lru, &ballooned_pages); in balloon_append() 173 page = list_entry(ballooned_pages.next, struct page, lru); in balloon_retrieve() 176 list_del(&page->lru); in balloon_retrieve() 191 struct list_head *next = page->lru.next; in balloon_next_page() 194 return list_entry(next, struct page, lru); in balloon_next_page() 399 page = list_first_entry_or_null(&ballooned_pages, struct page, lru); in increase_reservation() 453 list_add(&page->lru, &pages); in decrease_reservation() 470 list_for_each_entry_safe(page, tmp, &pages, lru) { in decrease_reservation() 475 list_del(&page->lru); in decrease_reservation()
|