Lines Matching refs:e

39 #define PARANOIA_LC_ELEMENT(lc, e) do {	\  argument
41 struct lc_element *e_ = (e); \
95 struct lc_element *e; in lc_create() local
139 e = p + e_off; in lc_create()
140 e->lc_index = i; in lc_create()
141 e->lc_number = LC_FREE; in lc_create()
142 e->lc_new_number = LC_FREE; in lc_create()
143 list_add(&e->list, &lc->free); in lc_create()
144 element[i] = e; in lc_create()
213 struct lc_element *e = lc->lc_element[i]; in lc_reset() local
214 void *p = e; in lc_reset()
218 e->lc_index = i; in lc_reset()
219 e->lc_number = LC_FREE; in lc_reset()
220 e->lc_new_number = LC_FREE; in lc_reset()
221 list_add(&e->list, &lc->free); in lc_reset()
253 struct lc_element *e; in __lc_find() local
257 hlist_for_each_entry(e, lc_hash_slot(lc, enr), colision) { in __lc_find()
261 if (e->lc_new_number != enr) in __lc_find()
263 if (e->lc_new_number == e->lc_number || include_changing) in __lc_find()
264 return e; in __lc_find()
298 struct lc_element *e = __lc_find(lc, enr, 1); in lc_is_used() local
299 return e && e->refcnt; in lc_is_used()
310 void lc_del(struct lru_cache *lc, struct lc_element *e) in lc_del() argument
313 PARANOIA_LC_ELEMENT(lc, e); in lc_del()
314 BUG_ON(e->refcnt); in lc_del()
316 e->lc_number = e->lc_new_number = LC_FREE; in lc_del()
317 hlist_del_init(&e->colision); in lc_del()
318 list_move(&e->list, &lc->free); in lc_del()
325 struct lc_element *e; in lc_prepare_for_change() local
334 e = list_entry(n, struct lc_element, list); in lc_prepare_for_change()
335 PARANOIA_LC_ELEMENT(lc, e); in lc_prepare_for_change()
337 e->lc_new_number = new_number; in lc_prepare_for_change()
338 if (!hlist_unhashed(&e->colision)) in lc_prepare_for_change()
339 __hlist_del(&e->colision); in lc_prepare_for_change()
340 hlist_add_head(&e->colision, lc_hash_slot(lc, new_number)); in lc_prepare_for_change()
341 list_move(&e->list, &lc->to_be_changed); in lc_prepare_for_change()
343 return e; in lc_prepare_for_change()
364 struct lc_element *e; in __lc_get() local
372 e = __lc_find(lc, enr, 1); in __lc_get()
377 if (e) { in __lc_get()
378 if (e->lc_new_number != e->lc_number) { in __lc_get()
387 ++e->refcnt; in __lc_get()
389 RETURN(e); in __lc_get()
393 if (e->refcnt++ == 0) in __lc_get()
395 list_move(&e->list, &lc->in_use); /* Not evictable... */ in __lc_get()
396 RETURN(e); in __lc_get()
430 e = lc_prepare_for_change(lc, enr); in __lc_get()
431 BUG_ON(!e); in __lc_get()
434 BUG_ON(++e->refcnt != 1); in __lc_get()
438 RETURN(e); in __lc_get()
537 struct lc_element *e, *tmp; in lc_committed() local
540 list_for_each_entry_safe(e, tmp, &lc->to_be_changed, list) { in lc_committed()
543 e->lc_number = e->lc_new_number; in lc_committed()
544 list_move(&e->list, &lc->in_use); in lc_committed()
560 unsigned int lc_put(struct lru_cache *lc, struct lc_element *e) in lc_put() argument
563 PARANOIA_LC_ELEMENT(lc, e); in lc_put()
564 BUG_ON(e->refcnt == 0); in lc_put()
565 BUG_ON(e->lc_number != e->lc_new_number); in lc_put()
566 if (--e->refcnt == 0) { in lc_put()
568 list_move(&e->list, &lc->lru); in lc_put()
572 RETURN(e->refcnt); in lc_put()
593 unsigned int lc_index_of(struct lru_cache *lc, struct lc_element *e) in lc_index_of() argument
595 PARANOIA_LC_ELEMENT(lc, e); in lc_index_of()
596 return e->lc_index; in lc_index_of()
609 struct lc_element *e; in lc_set() local
615 e = lc_element_by_index(lc, index); in lc_set()
616 BUG_ON(e->lc_number != e->lc_new_number); in lc_set()
617 BUG_ON(e->refcnt != 0); in lc_set()
619 e->lc_number = e->lc_new_number = enr; in lc_set()
620 hlist_del_init(&e->colision); in lc_set()
624 hlist_add_head(&e->colision, lc_hash_slot(lc, enr)); in lc_set()
627 list_move(&e->list, lh); in lc_set()
643 struct lc_element *e; in lc_seq_dump_details() local
648 e = lc_element_by_index(lc, i); in lc_seq_dump_details()
649 if (e->lc_number != e->lc_new_number) in lc_seq_dump_details()
651 i, e->lc_number, e->lc_new_number, e->refcnt); in lc_seq_dump_details()
654 i, e->lc_number, "-\"-", e->refcnt); in lc_seq_dump_details()
656 detail(seq, e); in lc_seq_dump_details()