Lines Matching refs:offset

135 ck_rhs_entry(struct ck_rhs_map *map, long offset)
139 return (map->entries.no_entries.entries[offset]);
141 return (map->entries.descs[offset].entry);
145 ck_rhs_entry_addr(struct ck_rhs_map *map, long offset)
149 return (&map->entries.no_entries.entries[offset]);
151 return (&map->entries.descs[offset].entry);
155 ck_rhs_desc(struct ck_rhs_map *map, long offset)
159 return ((struct ck_rhs_entry_desc *)(void *)&map->entries.no_entries.descs[offset]);
161 return (&map->entries.descs[offset]);
165 ck_rhs_wanted_inc(struct ck_rhs_map *map, long offset)
169 map->entries.no_entries.descs[offset].wanted++;
171 map->entries.descs[offset].wanted++;
175 ck_rhs_probes(struct ck_rhs_map *map, long offset)
179 return (map->entries.no_entries.descs[offset].probes);
181 return (map->entries.descs[offset].probes);
185 ck_rhs_set_probes(struct ck_rhs_map *map, long offset, unsigned int value)
189 map->entries.no_entries.descs[offset].probes = value;
191 map->entries.descs[offset].probes = value;
195 ck_rhs_probe_bound(struct ck_rhs_map *map, long offset)
199 return (map->entries.no_entries.descs[offset].probe_bound);
201 return (map->entries.descs[offset].probe_bound);
205 ck_rhs_probe_bound_addr(struct ck_rhs_map *map, long offset)
209 return (&map->entries.no_entries.descs[offset].probe_bound);
211 return (&map->entries.descs[offset].probe_bound);
216 ck_rhs_in_rh(struct ck_rhs_map *map, long offset)
220 return (map->entries.no_entries.descs[offset].in_rh);
222 return (map->entries.descs[offset].in_rh);
226 ck_rhs_set_rh(struct ck_rhs_map *map, long offset)
230 map->entries.no_entries.descs[offset].in_rh = true;
232 map->entries.descs[offset].in_rh = true;
236 ck_rhs_unset_rh(struct ck_rhs_map *map, long offset)
240 map->entries.no_entries.descs[offset].in_rh = false;
242 map->entries.descs[offset].in_rh = false;
274 iterator->offset = 0;
284 if (i->offset >= map->capacity)
288 value = CK_CC_DECONST_PTR(ck_rhs_entry(map, i->offset));
294 i->offset++;
298 } while (++i->offset < map->capacity);
426 unsigned long offset,
431 offset = (offset &~ map->offset_mask) +
432 ((offset + 1) & map->offset_mask);
433 return offset;
435 return (offset + probes) & map->mask;
439 ck_rhs_map_probe_prev(struct ck_rhs_map *map, unsigned long offset,
444 offset = (offset &~ map->offset_mask) + ((offset - 1) &
446 return offset;
448 return ((offset - probes) & map->mask);
457 unsigned long offset = h & m->mask;
463 desc = &m->entries.descs[offset];
480 unsigned long offset = h & m->mask;
486 r = CK_RHS_LOAD(&m->entries.descs[offset].probe_bound);
499 unsigned long k, offset, probes;
523 offset = h & update->mask;
527 const void **cursor = ck_rhs_entry_addr(update, offset);
541 ck_rhs_set_probes(update, offset, probes);
544 } else if (ck_rhs_probes(update, offset) < probes) {
555 old_probes = ck_rhs_probes(update, offset);
556 ck_rhs_set_probes(update, offset, probes);
560 ck_rhs_wanted_inc(update, offset);
561 offset = ck_rhs_map_probe_next(update, offset, probes);
593 unsigned long offset, probes, opl;
611 offset = h & map->mask;
615 offset = ck_rhs_map_probe_next(map, *priority,
632 k = ck_pr_load_ptr(&map->entries.no_entries.entries[offset]);
637 struct ck_rhs_entry_desc *desc = (void *)&map->entries.no_entries.descs[offset];
641 pr = offset;
656 offset = ck_rhs_map_probe_next(map, offset, probes);
668 offset = ck_rhs_map_probe_next(map, offset, probes);
675 offset = ck_rhs_map_probe_next(map, offset, probes);
679 offset = -1;
688 return offset;
705 unsigned long offset, probes, opl;
724 offset = h & map->mask;
728 offset = ck_rhs_map_probe_next(map, *priority,
747 k = ck_pr_load_ptr(&map->entries.descs[offset].entry);
751 struct ck_rhs_entry_desc *desc = &map->entries.descs[offset];
755 pr = offset;
770 offset = ck_rhs_map_probe_next(map, offset, probes);
782 offset = ck_rhs_map_probe_next(map, offset, probes);
789 offset = ck_rhs_map_probe_next(map, offset, probes);
793 offset = -1;
802 return offset;
846 long offset;
851 offset = h & map->mask;
855 while (offset != end_offset) {
856 if (offset == old_slot)
859 desc = ck_rhs_desc(map, offset);
863 offset = ck_rhs_map_probe_next(map, offset, probes);
869 ck_rhs_remove_wanted(struct ck_rhs *hs, long offset, long limit)
872 int probes = ck_rhs_probes(map, offset);
878 offset = ck_rhs_map_probe_prev(map, offset, probes);
879 if (offset == limit)
882 desc = ck_rhs_desc(map, offset);
887 return offset;
891 ck_rhs_get_first_offset(struct ck_rhs_map *map, unsigned long offset, unsigned int probes)
894 offset -= ((probes - 1) &~ map->offset_mask);
895 offset &= map->mask;
896 offset = (offset &~ map->offset_mask) +
897 ((offset - map->offset_mask) & map->offset_mask);
900 return ((offset &~ map->offset_mask) + ((offset - (probes - 1)) & map->offset_mask));
998 unsigned long offset = 0, tmp_offset;
1006 offset = ck_rhs_map_probe_next(map, slot, probe);
1008 new_desc = ck_rhs_desc(map, offset);
1012 offset = ck_rhs_map_probe_next(map, offset,
1024 h = ck_rhs_remove_wanted(hs, offset, slot);
1026 ck_rhs_entry(map, offset));
1043 tmp_offset = ck_rhs_map_probe_next(map, offset,
1058 slot = offset;