Lines Matching refs:base

212 				    struct inet_peer_base *base)
214 struct inet_peer *u = rcu_dereference(base->root);
238 #define lookup_rightempty(start, base) \
244 for (u = rcu_deref_locked(*v, base); \
248 u = rcu_deref_locked(*v, base); \
259 struct inet_peer_base *base)
267 node = rcu_deref_locked(*nodep, base);
268 l = rcu_deref_locked(node->avl_left, base);
269 r = rcu_deref_locked(node->avl_right, base);
275 ll = rcu_deref_locked(l->avl_left, base);
276 lr = rcu_deref_locked(l->avl_right, base);
287 lrl = rcu_deref_locked(lr->avl_left, base);/* lrl: RH or RH-1 */
288 lrr = rcu_deref_locked(lr->avl_right, base);/* lrr: RH or RH-1 */
303 rr = rcu_deref_locked(r->avl_right, base);
304 rl = rcu_deref_locked(r->avl_left, base);
315 rlr = rcu_deref_locked(rl->avl_right, base);/* rlr: LH or LH-1 */
316 rll = rcu_deref_locked(rl->avl_left, base);/* rll: LH or LH-1 */
335 #define link_to_pool(n, base) \
342 peer_avl_rebalance(stack, stackptr, base); \
350 static void unlink_from_pool(struct inet_peer *p, struct inet_peer_base *base,
355 if (lookup(&p->daddr, stack, base) != p)
364 t = lookup_rightempty(p, base);
365 BUG_ON(rcu_deref_locked(*stackptr[-1], base) != t);
377 peer_avl_rebalance(stack, stackptr, base);
378 base->total--;
383 static int inet_peer_gc(struct inet_peer_base *base,
391 if (base->total >= inet_peer_threshold)
396 base->total / inet_peer_threshold * HZ;
400 p = rcu_deref_locked(**stackptr, base);
414 unlink_from_pool(p, base, stack);
419 struct inet_peer *inet_getpeer(struct inet_peer_base *base,
432 sequence = read_seqbegin(&base->lock);
433 p = lookup_rcu(daddr, base);
434 invalidated = read_seqretry(&base->lock, sequence);
447 write_seqlock_bh(&base->lock);
449 p = lookup(daddr, stack, base);
452 write_sequnlock_bh(&base->lock);
456 gccnt = inet_peer_gc(base, stack, stackptr);
474 link_to_pool(p, base);
475 base->total++;
477 write_sequnlock_bh(&base->lock);
543 void inetpeer_invalidate_tree(struct inet_peer_base *base)
547 write_seqlock_bh(&base->lock);
549 root = rcu_deref_locked(base->root, base);
551 base->root = peer_avl_empty_rcu;
552 base->total = 0;
556 write_sequnlock_bh(&base->lock);