Lines Matching refs:le

109 static void lru_insert(struct lru *lru, struct lru_entry *le)  in lru_insert()  argument
115 atomic_set(&le->referenced, 0); in lru_insert()
118 list_add_tail(&le->list, lru->cursor); in lru_insert()
120 INIT_LIST_HEAD(&le->list); in lru_insert()
121 lru->cursor = &le->list; in lru_insert()
156 typedef bool (*iter_predicate)(struct lru_entry *le, void *context);
214 static void lru_remove(struct lru *lru, struct lru_entry *le) in lru_remove() argument
216 lru_iter_invalidate(lru, le); in lru_remove()
220 if (lru->cursor == &le->list) in lru_remove()
222 list_del(&le->list); in lru_remove()
230 static inline void lru_reference(struct lru_entry *le) in lru_reference() argument
232 atomic_set(&le->referenced, 1); in lru_reference()
247 typedef enum evict_result (*le_predicate)(struct lru_entry *le, void *context);
253 struct lru_entry *le;
263 le = container_of(h, struct lru_entry, list);
265 if (atomic_read(&le->referenced)) {
266 atomic_set(&le->referenced, 0);
269 switch (pred(le, context)) {
275 lru->cursor = le->list.next;
276 lru_remove(lru, le);
277 return le;
283 lru->cursor = le->list.next;
516 static inline struct dm_buffer *le_to_buffer(struct lru_entry *le) in le_to_buffer() argument
518 return container_of(le, struct dm_buffer, lru); in le_to_buffer()
523 struct lru_entry *le = list_entry(l, struct lru_entry, list); in list_to_buffer() local
525 return le_to_buffer(le); in list_to_buffer()
657 static enum evict_result __evict_pred(struct lru_entry *le, void *context) in __evict_pred() argument
660 struct dm_buffer *b = le_to_buffer(le); in __evict_pred()
675 struct lru_entry *le; in __cache_evict() local
678 le = lru_evict(&bc->lru[list_mode], __evict_pred, &w, bc->no_sleep); in __cache_evict()
679 if (!le) in __cache_evict()
682 b = le_to_buffer(le); in __cache_evict()
727 struct lru_entry *le; in __cache_mark_many() local
732 le = lru_evict(&bc->lru[old_mode], __evict_pred, &w, bc->no_sleep); in __cache_mark_many()
733 if (!le) in __cache_mark_many()
736 b = le_to_buffer(le); in __cache_mark_many()
774 struct lru_entry *le, *first;
779 first = le = to_le(lru->cursor);
781 struct dm_buffer *b = le_to_buffer(le);
794 le = to_le(le->list.next);
795 } while (le != first);