Lines Matching refs:cacheline
251 * BSET_CACHELINE was originally intended to match the hardware cacheline size -
259 * Since (after level 5) every level of the bset_tree is on a new cacheline,
260 * we're touching one fewer cacheline in the bset tree in exchange for one more
261 * cacheline in the linear search - but the linear search might stop before it
262 * gets to the second cacheline.
434 * Return the cacheline index in bset_tree->data, where j is index
461 * tree, j is the cacheline index of t->data.
510 * in one cacheline in t->set (BSET_CACHELINE bytes).
513 * the binary tree points to; to_inorder() gives us the cacheline, and then
514 * bkey_float->m gives us the offset within that cacheline, in units of 8 bytes.
526 unsigned int cacheline,
529 return ((void *) t->data) + cacheline * BSET_CACHELINE + offset * 8;
538 unsigned int cacheline,
541 return (u64 *) k - (u64 *) cacheline_to_bkey(t, cacheline, 0);
558 static struct bkey *table_to_bkey(struct bset_tree *t, unsigned int cacheline)
560 return cacheline_to_bkey(t, cacheline, t->prev[cacheline]);
694 unsigned int j, cacheline = 1;
711 /* First we figure out where the first key in each cacheline is */
715 while (bkey_to_cacheline(t, k) < cacheline) {
721 t->tree[j].m = bkey_to_cacheline_offset(t, cacheline++, k);
797 * it's either k's cacheline or the next one
1021 * First, we search for a cacheline, then lastly we do a linear search
1022 * within that cacheline.
1024 * To search for the cacheline, there's three different possibilities: