Lines Matching refs:le
117 static void lru_insert(struct lru *lru, struct lru_entry *le) in lru_insert() argument
123 atomic_set(&le->referenced, 0); in lru_insert()
126 list_add_tail(&le->list, lru->cursor); in lru_insert()
128 INIT_LIST_HEAD(&le->list); in lru_insert()
129 lru->cursor = &le->list; in lru_insert()
164 typedef bool (*iter_predicate)(struct lru_entry *le, void *context);
222 static void lru_remove(struct lru *lru, struct lru_entry *le) in lru_remove() argument
224 lru_iter_invalidate(lru, le); in lru_remove()
228 if (lru->cursor == &le->list) in lru_remove()
230 list_del(&le->list); in lru_remove()
238 static inline void lru_reference(struct lru_entry *le) in lru_reference() argument
240 atomic_set(&le->referenced, 1); in lru_reference()
255 typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context);
261 struct lru_entry *le;
271 le = container_of(h, struct lru_entry, list);
273 if (atomic_read(&le->referenced)) {
274 atomic_set(&le->referenced, 0);
277 switch (pred(le, context)) {
283 lru->cursor = le->list.next;
284 lru_remove(lru, le);
285 return le;
291 lru->cursor = le->list.next;
490 static inline struct dm_buffer *le_to_buffer(struct lru_entry *le) in le_to_buffer() argument
492 return container_of(le, struct dm_buffer, lru); in le_to_buffer()
497 struct lru_entry *le = list_entry(l, struct lru_entry, list); in list_to_buffer() local
499 if (!le) in list_to_buffer()
502 return le_to_buffer(le); in list_to_buffer()
630 static enum evict_result __evict_pred(struct lru_entry *le, void *context) in __evict_pred() argument
633 struct dm_buffer *b = le_to_buffer(le); in __evict_pred()
648 struct lru_entry *le; in __cache_evict() local
651 le = lru_evict(&bc->lru[list_mode], __evict_pred, &w); in __cache_evict()
652 if (!le) in __cache_evict()
655 b = le_to_buffer(le); in __cache_evict()
700 struct lru_entry *le; in __cache_mark_many() local
705 le = lru_evict(&bc->lru[old_mode], __evict_pred, &w); in __cache_mark_many()
706 if (!le) in __cache_mark_many()
709 b = le_to_buffer(le); in __cache_mark_many()
747 struct lru_entry *le, *first;
752 first = le = to_le(lru->cursor);
754 struct dm_buffer *b = le_to_buffer(le);
767 le = to_le(le->list.next);
768 } while (le != first);