Home
last modified time | relevance | path

Searched refs:lru (Results 1 – 25 of 85) sorted by relevance

1234

/linux/samples/bpf/
H A Dtest_lru_dist.c99 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 Dttm_resource.c65 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 Dpagelist.c32 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 Dnv50.c38 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 Dmsm_gem_shrinker.c37 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 Dcerr-sb1.c326 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 Dbpf_lru_list.h72 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 Ddrm_gem.c630 * 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 Dpage_range.rs200 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 Dballoon.c154 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 Dmigrate.c262 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 Dmmzone.c77 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 Dzpdesc.h34 struct list_head lru; member
55 ZPDESC_MATCH(lru, lru);
/linux/kernel/power/
H A Dwakelock.c32 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 Dpagemap.h37 __field(enum lru_list, lru )
44 __entry->lru = folio_lru_list(folio);
52 __entry->lru,
/linux/include/drm/
H A Ddrm_gem.h454 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 Dbinder_alloc.h67 struct list_head lru; member
78 return &mdata->lru; in page_to_lru()
125 struct list_lru_one *lru,
/linux/drivers/misc/
H A Dvmw_balloon.c670 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 Dwq.c51 } 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 Dtimer.c52 } 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 Dwq_failures.c28 } lru SEC(".maps");
88 if (bpf_wq_init(wq, &lru, 0) != 0) in __flag()
/linux/include/drm/ttm/
H A Dttm_resource.h218 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 Dlru_cache.c109 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 Dpage_migration.rst141 一旦页面被成功隔离,VM就会使用page.lru字段,因此驱动程序不应期望保留这些字段的值。
153 在migratepage()函数中,驱动程序不应该接触page.lru字段。
200 这意味着该页已经被VM隔离,所以它不应该碰page.lru字段。PG_isolated标志与
/linux/drivers/gpu/drm/ttm/tests/
H A Dttm_resource_test.c130 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()

1234