| /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 | 65 list_move(&cursor->hitch.link, &pos->last->lru.link); in ttm_resource_cursor_move_bulk_tail() 175 list_bulk_move_tail(&man->lru[j], &pos->first->lru.link, in ttm_lru_bulk_move_tail() 176 &pos->last->lru.link); in ttm_lru_bulk_move_tail() 192 struct ttm_lru_item *lru = &cur->lru; in ttm_lru_prev_res() local 195 lru = list_prev_entry(lru, link); in ttm_lru_prev_res() 196 } while (!ttm_lru_item_is_res(lru)); in ttm_lru_prev_res() 198 return ttm_lru_item_to_res(lru); in ttm_lru_prev_res() 204 struct ttm_lru_item *lru = &cur->lru; in ttm_lru_next_res() local 207 lru = list_next_entry(lru, link); in ttm_lru_next_res() 208 } while (!ttm_lru_item_is_res(lru)); in ttm_lru_next_res() [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/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/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/kernel/bpf/ |
| 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/drivers/gpu/drm/ |
| H A D | drm_gem.c | 630 * Move folios to appropriate lru and release the folios, decrementing the 1565 * @lru: The LRU to initialize 1568 drm_gem_lru_init(struct drm_gem_lru *lru) in drm_gem_lru_init() 1570 lru->count = 0; in drm_gem_lru_init() 1571 INIT_LIST_HEAD(&lru->list); 1578 obj->lru->count -= obj->size >> PAGE_SHIFT; in drm_gem_lru_remove_locked() 1579 WARN_ON(obj->lru->count < 0); in drm_gem_lru_remove_locked() 1581 obj->lru = NULL; 1595 if (obj->lru) in drm_gem_lru_remove() 1604 * Like &drm_gem_lru_move_tail but lru loc 1566 drm_gem_lru_init(struct drm_gem_lru * lru) drm_gem_lru_init() argument 1608 drm_gem_lru_move_tail_locked(struct drm_gem_lru * lru,struct drm_gem_object * obj) drm_gem_lru_move_tail_locked() argument 1632 drm_gem_lru_move_tail(struct drm_gem_lru * lru,struct drm_gem_object * obj) drm_gem_lru_move_tail() argument 1659 drm_gem_lru_scan(struct drm_device * dev,struct drm_gem_lru * lru,unsigned int nr_to_scan,unsigned long * remaining,bool (* shrink)(struct drm_gem_object * obj,struct ww_acquire_ctx * ticket),struct ww_acquire_ctx * ticket) drm_gem_lru_scan() argument [all...] |
| /linux/drivers/android/binder/ |
| H A D | page_range.rs | 200 lru: bindings::list_head, field 253 let lru_ptr = unsafe { &raw mut (*me).lru }; in list_lru_add() 265 let lru_ptr = unsafe { &raw mut (*me).lru }; in list_lru_del() 320 let lru = &raw mut (*info).lru; in register_with_vma() localVariable 321 (&raw mut (*lru).next).write(lru); in register_with_vma() 322 (&raw mut (*lru).prev).write(lru); in register_with_vma() 701 lru: *mut bindings::list_lru_one, in rust_shrink_free_page() 743 unsafe { bindings::list_lru_isolate(lru, item) }; in rust_shrink_free_page() 762 unsafe { bindings::spin_unlock(&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()
|
| /linux/mm/ |
| 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() 1176 list_move_tail(&src->lru, ret); in migrate_folio_undo_src() 1368 prev = dst->lru.prev; in migrate_folio_move() 1369 list_del(&dst->lru); in migrate_folio_move() 1427 list_del(&src->lru); in migrate_folio_move() 1441 list_add(&dst->lru, prev); in migrate_folio_move() 1567 list_move_tail(&src->lru, ret); in unmap_and_move_huge_page() 1596 list_move_tail(&folio->lru, split_folios); in try_split_folio() [all …]
|
| H A D | mmzone.c | 77 enum lru_list lru; in lruvec_init() local 83 for_each_lru(lru) in lruvec_init() 84 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);
|
| /linux/kernel/power/ |
| H A D | wakelock.c | 32 struct list_head lru; member 95 list_add(&wl->lru, &wakelocks_lru_list); in wakelocks_lru_add() 100 list_move(&wl->lru, &wakelocks_lru_list); in wakelocks_lru_most_recent() 111 list_for_each_entry_safe_reverse(wl, aux, &wakelocks_lru_list, lru) { in __wakelocks_gc() 126 list_del(&wl->lru); in __wakelocks_gc()
|
| /linux/include/trace/events/ |
| H A D | pagemap.h | 37 __field(enum lru_list, lru ) 44 __entry->lru = folio_lru_list(folio); 52 __entry->lru,
|
| /linux/include/drm/ |
| H A D | drm_gem.h | 454 struct drm_gem_lru *lru; member 610 void drm_gem_lru_init(struct drm_gem_lru *lru); 612 void drm_gem_lru_move_tail_locked(struct drm_gem_lru *lru, struct drm_gem_object *obj); 613 void drm_gem_lru_move_tail(struct drm_gem_lru *lru, struct drm_gem_object *obj); 616 struct drm_gem_lru *lru,
|
| /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/drm/ttm/ |
| H A D | ttm_resource.h | 218 struct list_head lru[TTM_MAX_BO_PRIORITY]; member 276 struct ttm_lru_item lru; member 288 return container_of(item, struct ttm_resource, lru); in ttm_lru_item_to_res() 406 WARN_ON(!list_empty(&man->lru[i])); in ttm_resource_manager_set_used()
|
| /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()
|