Lines Matching full:trees

397 	 * We spread entries across multiple trees to reduce contention
402 struct buffer_tree trees[]; member
415 read_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock); in cache_read_lock()
417 down_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock); in cache_read_lock()
423 read_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock); in cache_read_unlock()
425 up_read(&bc->trees[cache_index(block, bc->num_locks)].u.lock); in cache_read_unlock()
431 write_lock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock); in cache_write_lock()
433 down_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock); in cache_write_lock()
439 write_unlock_bh(&bc->trees[cache_index(block, bc->num_locks)].u.spinlock); in cache_write_unlock()
441 up_write(&bc->trees[cache_index(block, bc->num_locks)].u.lock); in cache_write_unlock()
467 write_lock_bh(&lh->cache->trees[index].u.spinlock); in __lh_lock()
469 down_write(&lh->cache->trees[index].u.lock); in __lh_lock()
472 read_lock_bh(&lh->cache->trees[index].u.spinlock); in __lh_lock()
474 down_read(&lh->cache->trees[index].u.lock); in __lh_lock()
482 write_unlock_bh(&lh->cache->trees[index].u.spinlock); in __lh_unlock()
484 up_write(&lh->cache->trees[index].u.lock); in __lh_unlock()
487 read_unlock_bh(&lh->cache->trees[index].u.spinlock); in __lh_unlock()
489 up_read(&lh->cache->trees[index].u.lock); in __lh_unlock()
545 rwlock_init(&bc->trees[i].u.spinlock); in cache_init()
547 init_rwsem(&bc->trees[i].u.lock); in cache_init()
548 bc->trees[i].root = RB_ROOT; in cache_init()
560 WARN_ON_ONCE(!RB_EMPTY_ROOT(&bc->trees[i].root)); in cache_destroy()
618 b = __cache_get(&bc->trees[cache_index(block, bc->num_locks)].root, block); in cache_get()
692 rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root); in __cache_evict()
858 r = __cache_insert(&bc->trees[cache_index(b->block, bc->num_locks)].root, b); in cache_insert()
884 rb_erase(&b->node, &bc->trees[cache_index(b->block, bc->num_locks)].root); in cache_remove()
955 down_write(&bc->trees[i].u.lock); in cache_remove_range()
956 __remove_range(bc, &bc->trees[i].root, begin, end, pred, release); in cache_remove_range()
957 up_write(&bc->trees[i].u.lock); in cache_remove_range()