Lines Matching refs:wcb

96 tnfw_b_alloc_block(TNFW_B_WCB *wcb, enum tnf_alloc_mode istag)
131 if (!wcb->tnfw_w_initialized) {
134 wcb->tnfw_w_block_shift = wcb->tnfw_w_gen_shift = 0;
137 ++wcb->tnfw_w_block_shift;
142 ++wcb->tnfw_w_gen_shift;
144 wcb->tnfw_w_pid = _tnfw_b_control->tnf_pid;
145 wcb->tnfw_w_initialized = B_TRUE;
166 blocknum = i >> wcb->tnfw_w_block_shift;
185 generation = (hint_hi << (32 - wcb->tnfw_w_gen_shift)) |
186 (hint_lo >> wcb->tnfw_w_gen_shift);
187 blocknum = hint_lo & ((1 << wcb->tnfw_w_gen_shift) - 1);
237 TNFW_B_DATA_BLOCK_BEGIN >> wcb->tnfw_w_block_shift;
268 new_hint_hi = prev_gen >> (32 - wcb->tnfw_w_gen_shift);
269 new_hint_lo = prev_block | (prev_gen << wcb->tnfw_w_gen_shift);
321 tnfw_b_release_block(TNFW_B_WCB * wcb)
323 if (wcb == NULL)
325 release_block_from_pos(&wcb->tnfw_w_tag_pos);
326 release_block_from_pos(&wcb->tnfw_w_pos);
437 tnfw_b_alloc(TNFW_B_WCB *wcb, size_t size, enum tnf_alloc_mode istag)
453 _tnfw_b_control->tnf_pid != wcb->tnfw_w_pid) {
454 wcb->tnfw_w_pos.tnfw_w_block =
455 wcb->tnfw_w_pos.tnfw_w_uncommitted =
456 wcb->tnfw_w_tag_pos.tnfw_w_block =
457 wcb->tnfw_w_tag_pos.tnfw_w_uncommitted = NULL;
458 wcb->tnfw_w_pid = _tnfw_b_control->tnf_pid;
468 pos = (istag) ? &wcb->tnfw_w_tag_pos : &wcb->tnfw_w_pos;
478 if (block != NULL && wcb->tnfw_w_a_lock_released) {
481 wcb->tnfw_w_a_lock_released = B_FALSE;
482 if (wcb->tnfw_w_generation != block->generation) {
484 wcb->tnfw_w_pos.tnfw_w_block = NULL;
487 wcb->tnfw_w_pos.tnfw_w_block = NULL;
492 new_block = tnfw_b_alloc_block(wcb, istag);
499 "wcb 0x%x: new block at 0x%x, old block is 0x%x, "
501 wcb, new_block, block, pos->tnfw_w_uncommitted);
515 if (!wcb->tnfw_w_a_lock_released)
556 tnfw_b_xcommit(TNFW_B_WCB *wcb)
572 pos = &wcb->tnfw_w_pos;
594 wcb->tnfw_w_generation = block->generation;
596 wcb->tnfw_w_a_lock_released = B_TRUE;
604 pos = &wcb->tnfw_w_tag_pos;
625 tnfw_b_xabort(TNFW_B_WCB *wcb)
627 TNFW_B_POS *pos = &wcb->tnfw_w_pos;
639 wcb->tnfw_w_generation = block->generation;
640 wcb->tnfw_w_a_lock_released = B_TRUE;
651 pos = &wcb->tnfw_w_tag_pos;
671 tnfw_b_fw_alloc(TNFW_B_WCB *wcb)
690 tnfw_b_fw_alloc(TNFW_B_WCB *wcb)