| /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/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/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 …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/instmem/ |
| H A D | nv50.c | 42 struct list_head lru; member 57 struct list_head lru; member 146 eobj = list_first_entry_or_null(&imem->lru, typeof(*eobj), lru); in nv50_instobj_kmap() 152 list_del_init(&eobj->lru); in nv50_instobj_kmap() 220 if (likely(iobj->lru.next) && iobj->map) { in nv50_instobj_release() 221 BUG_ON(!list_empty(&iobj->lru)); in nv50_instobj_release() 222 list_add_tail(&iobj->lru, &imem->lru); in nv50_instobj_release() 264 if (likely(iobj->lru.next)) in nv50_instobj_acquire() 265 list_del_init(&iobj->lru); in nv50_instobj_acquire() 290 if (likely(iobj->lru.next)) { in nv50_instobj_boot() [all …]
|
| /linux/drivers/gpu/drm/msm/ |
| H A D | msm_gem_shrinker.c | 37 unsigned count = priv->lru.dontneed.count; in msm_gem_shrinker_count() 40 count += priv->lru.willneed.count; in msm_gem_shrinker_count() 158 struct drm_gem_lru *lru; in msm_gem_shrinker_scan() member 165 { &priv->lru.dontneed, purge, true }, in msm_gem_shrinker_scan() 166 { &priv->lru.willneed, evict, can_swap() }, in msm_gem_shrinker_scan() 167 { &priv->lru.dontneed, active_purge, can_block(sc) }, in msm_gem_shrinker_scan() 168 { &priv->lru.willneed, active_evict, can_swap() && can_block(sc) }, in msm_gem_shrinker_scan() 181 drm_gem_lru_scan(priv->dev, stages[i].lru, nr, in msm_gem_shrinker_scan() 241 &priv->lru.dontneed, in msm_gem_shrinker_vmap() 242 &priv->lru.willneed, in msm_gem_shrinker_vmap() [all …]
|
| /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/mm/ |
| H A D | page_reporting.c | 191 list_for_each_entry_safe(page, next, list, lru) { in page_reporting_cycle() 226 if (!list_is_first(&page->lru, list)) in page_reporting_cycle() 227 list_rotate_to_front(&page->lru, list); in page_reporting_cycle() 251 next = list_first_entry(list, struct page, lru); in page_reporting_cycle() 259 if (!list_entry_is_head(next, list, lru) && !list_is_first(&next->lru, list)) in page_reporting_cycle() 260 list_rotate_to_front(&next->lru, list); in page_reporting_cycle()
|
| H A D | vmscan.c | 187 if ((_folio)->lru.prev != _base) { \ 190 prev = lru_to_folio(&(_folio->lru)); \ 394 unsigned long lruvec_lru_size(struct lruvec *lruvec, enum lru_list lru, int zone_idx) in lruvec_lru_size() argument 402 size += mem_cgroup_get_zone_lru_size(lruvec, lru, zid); in lruvec_lru_size() 404 size += zone_page_state(zone, NR_ZONE_LRU_BASE + lru); in lruvec_lru_size() 1087 list_del(&folio->lru); in shrink_folio_list() 1226 list_add_tail(&folio->lru, folio_list); in shrink_folio_list() 1250 list_add(&folio->lru, &demote_folios); in shrink_folio_list() 1539 list_add(&folio->lru, &ret_folios); in shrink_folio_list() 1602 list_for_each_entry_safe(folio, next, folio_list, lru) { in reclaim_clean_pages_from_list() [all …]
|
| H A D | migrate.c | 263 list_for_each_entry_safe(folio, folio2, l, lru) { in putback_movable_pages() 268 list_del(&folio->lru); in putback_movable_pages() 295 list_add(&folio->lru, list); in isolate_folio_to_list() 1184 list_move_tail(&src->lru, ret); in migrate_folio_undo_src() 1376 prev = dst->lru.prev; in migrate_folio_move() 1377 list_del(&dst->lru); in migrate_folio_move() 1435 list_del(&src->lru); in migrate_folio_move() 1449 list_add(&dst->lru, prev); in migrate_folio_move() 1576 list_move_tail(&src->lru, ret); in unmap_and_move_hugetlb_folio() 1605 list_move_tail(&folio->lru, split_folios); in try_split_folio() [all …]
|
| H A D | mmzone.c | 78 enum lru_list lru; in lruvec_init() local 85 for_each_lru(lru) in lruvec_init() 86 INIT_LIST_HEAD(&lruvec->lists[lru]); in lruvec_init()
|
| H A D | zpdesc.h | 34 struct list_head lru; member 55 ZPDESC_MATCH(lru, lru);
|
| H A D | folio.c | 1124 enum lru_list lru, int nid) in lruvec_reparent_lru() argument 1129 if (lru != LRU_UNEVICTABLE) in lruvec_reparent_lru() 1130 list_splice_tail_init(&child_lruvec->lists[lru], &parent_lruvec->lists[lru]); in lruvec_reparent_lru() 1133 unsigned long size = mem_cgroup_get_zone_lru_size(child_lruvec, lru, zid); in lruvec_reparent_lru() 1143 mem_cgroup_update_lru_size(parent_lruvec, lru, zid, size); in lruvec_reparent_lru() 1144 mem_cgroup_update_lru_size(child_lruvec, lru, zid, -(long)size); in lruvec_reparent_lru() 1150 enum lru_list lru; in lru_reparent_memcg() local 1156 for_each_lru(lru) in lru_reparent_memcg() 1157 lruvec_reparent_lru(child_lruvec, parent_lruvec, lru, nid); in lru_reparent_memcg()
|
| H A D | workingset.c | 711 struct list_lru_one *lru, in shadow_lru_isolate() argument 712 void *arg) __must_hold(lru->lock) in shadow_lru_isolate() 734 spin_unlock_irq(&lru->lock); in shadow_lru_isolate() 743 spin_unlock_irq(&lru->lock); in shadow_lru_isolate() 749 list_lru_isolate(lru, item); in shadow_lru_isolate() 752 spin_unlock(&lru->lock); in shadow_lru_isolate()
|
| /linux/mm/damon/ |
| H A D | ops-common.c | 351 list_del(&folio->lru); in damon_migrate_folio_list() 357 list_add(&folio->lru, &migrate_folios); in damon_migrate_folio_list() 361 list_add(&folio->lru, &ret_folios); in damon_migrate_folio_list() 381 list_del(&folio->lru); in damon_migrate_folio_list() 405 list_del(&folio->lru); in damon_migrate_pages() 420 list_move(&folio->lru, &node_folio_list); in damon_migrate_pages()
|
| /linux/drivers/android/ |
| H A D | binder_alloc.h | 67 struct list_head lru; member 78 return &mdata->lru; in page_to_lru() 125 struct list_lru_one *lru,
|
| /linux/drivers/misc/ |
| H A D | vmw_balloon.c | 670 struct page, lru); in vmballoon_alloc_page_list() 671 list_del(&page->lru); in vmballoon_alloc_page_list() 685 list_add(&page->lru, &ctl->pages); in vmballoon_alloc_page_list() 863 list_for_each_entry(page, &ctl->pages, lru) in vmballoon_lock() 895 list_move(&page->lru, &ctl->refused_pages); in vmballoon_lock() 920 list_for_each_entry_safe(page, tmp, page_list, lru) { in vmballoon_release_page_list() 921 list_del(&page->lru); in vmballoon_release_page_list() 1006 list_for_each_entry(page, pages, lru) { in vmballoon_enqueue_page_list() 1050 list_for_each_entry_safe(page, tmp, &b->huge_pages, lru) { in vmballoon_dequeue_page_list() 1053 list_move(&page->lru, pages); in vmballoon_dequeue_page_list() [all …]
|
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | wq.c | 51 } lru SEC(".maps"); 66 if (map == &lru && in test_elem_callback() 188 return test_elem_callback(&lru, &key, wq_callback); in test_call_lru_sleepable()
|
| H A D | timer.c | 52 } lru SEC(".maps"); 80 /* callback for array and lru timers */ in timer_cb1() 84 * Once via array timer callback and once via lru timer callback in timer_cb1() 89 * *key == 4 - the callback was called from lru timer. in timer_cb1() 99 lru_timer = bpf_map_lookup_elem(&lru, &lru_key); in timer_cb1() 110 * should be larger than ~ lru->max_entries * 2 in timer_cb1() 120 /* add more elements into lru map to push out current in timer_cb1() 155 bpf_map_update_elem(&lru, &lru_key, &init, 0); in BPF_PROG2() 156 lru_timer = bpf_map_lookup_elem(&lru, &lru_key); in BPF_PROG2() 159 bpf_timer_init(lru_timer, &lru, CLOCK_MONOTONI in BPF_PROG2() [all...] |
| H A D | wq_failures.c | 28 } lru SEC(".maps"); 88 if (bpf_wq_init(wq, &lru, 0) != 0) in __flag()
|
| /linux/include/linux/ |
| H A D | mmzone.h | 406 #define for_each_lru(lru) for (lru = 0; lru < NR_LRU_LISTS; lru++) argument 408 #define for_each_evictable_lru(lru) for (lru = 0; lru <= LRU_ACTIVE_FILE; lru++) argument 410 static inline bool is_file_lru(enum lru_list lru) in is_file_lru() argument 412 return (lru == LRU_INACTIVE_FILE || lru == LRU_ACTIVE_FILE); in is_file_lru() 415 static inline bool is_active_lru(enum lru_list lru) in is_active_lru() argument 417 return (lru == LRU_ACTIVE_ANON || lru == LRU_ACTIVE_FILE); in is_active_lru()
|
| /linux/lib/ |
| H A D | lru_cache.c | 109 INIT_LIST_HEAD(&lc->lru); in lc_create() 188 INIT_LIST_HEAD(&lc->lru); in lc_reset() 318 else if (!list_empty(&lc->lru)) in lc_prepare_for_change() 319 n = lc->lru.prev; in lc_prepare_for_change() 339 if (!list_empty(&lc->lru)) in lc_unused_element_available() 557 list_move(&e->list, &lc->lru); in lc_put()
|
| /linux/Documentation/translations/zh_CN/mm/ |
| H A D | page_migration.rst | 141 一旦页面被成功隔离,VM就会使用page.lru字段,因此驱动程序不应期望保留这些字段的值。 153 在migratepage()函数中,驱动程序不应该接触page.lru字段。 200 这意味着该页已经被VM隔离,所以它不应该碰page.lru字段。PG_isolated标志与
|
| /linux/drivers/gpu/drm/ttm/tests/ |
| H A D | ttm_resource_test.c | 130 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority])); in ttm_resource_init_basic() 146 KUNIT_ASSERT_TRUE(test, list_is_singular(&man->lru[bo->priority])); in ttm_resource_init_basic() 201 KUNIT_ASSERT_TRUE(test, list_empty(&res->lru.link)); in ttm_resource_fini_basic() 224 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[i])); in ttm_resource_manager_init_basic() 311 KUNIT_ASSERT_TRUE(test, list_empty(&man->lru[bo->priority])); in ttm_sys_man_free_basic()
|
| /linux/fs/ceph/ |
| H A D | snap.c | 1207 list_del_init(&exist->lru); in ceph_get_snapid_map() 1229 INIT_LIST_HEAD(&sm->lru); in ceph_get_snapid_map() 1250 list_del_init(&exist->lru); in ceph_get_snapid_map() 1276 list_add_tail(&sm->lru, &mdsc->snapid_map_lru); in ceph_put_snapid_map() 1299 struct ceph_snapid_map, lru); in ceph_trim_snapid_map() 1304 list_move(&sm->lru, &to_free); in ceph_trim_snapid_map() 1309 sm = list_first_entry(&to_free, struct ceph_snapid_map, lru); in ceph_trim_snapid_map() 1310 list_del(&sm->lru); in ceph_trim_snapid_map() 1329 list_move(&sm->lru, &to_free); in ceph_cleanup_snapid_map() 1334 sm = list_first_entry(&to_free, struct ceph_snapid_map, lru); in ceph_cleanup_snapid_map() [all …]
|
| /linux/drivers/virtio/ |
| H A D | virtio_balloon.c | 268 list_add(&page->lru, &pages); in fill_balloon() 275 list_for_each_entry_safe(page, next, &pages, lru) { in fill_balloon() 276 list_del(&page->lru); in fill_balloon() 298 list_for_each_entry_safe(page, next, pages, lru) { in release_pages_balloon() 299 list_del(&page->lru); in release_pages_balloon() 323 list_add(&page->lru, &pages); in leak_balloon() 492 list_for_each_entry_safe(page, next, &vb->free_page_list, lru) { in return_free_pages_to_mm() 493 list_del(&page->lru); in return_free_pages_to_mm() 731 list_add(&page->lru, &vb->free_page_list); in get_free_page_and_send()
|