Symbol: delta_zone
drivers/md/dm-vdo/indexer/delta-index.c
1089
static int flush_delta_list(struct delta_zone *zone, u32 flush_index)
drivers/md/dm-vdo/indexer/delta-index.c
1125
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1129
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1134
encode_u32_le(buffer, &offset, delta_zone->first_list);
drivers/md/dm-vdo/indexer/delta-index.c
1135
encode_u32_le(buffer, &offset, delta_zone->list_count);
drivers/md/dm-vdo/indexer/delta-index.c
1136
encode_u64_le(buffer, &offset, delta_zone->record_count);
drivers/md/dm-vdo/indexer/delta-index.c
1137
encode_u64_le(buffer, &offset, delta_zone->collision_count);
drivers/md/dm-vdo/indexer/delta-index.c
1150
for (i = 0; i < delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
1154
delta_list = &delta_zone->delta_lists[i + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1163
delta_zone->buffered_writer = buffered_writer;
drivers/md/dm-vdo/indexer/delta-index.c
1173
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1176
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1177
for (i = 0; i < delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
1178
delta_list = &delta_zone->delta_lists[i + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1180
result = flush_delta_list(delta_zone, i);
drivers/md/dm-vdo/indexer/delta-index.c
1186
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
1236
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1246
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1247
list_number -= delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
1248
result = VDO_ASSERT((list_number < delta_zone->list_count),
drivers/md/dm-vdo/indexer/delta-index.c
1250
list_number, delta_zone->list_count, zone_number);
drivers/md/dm-vdo/indexer/delta-index.c
1255
delta_list = &delta_zone->delta_lists[list_number + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1264
delta_list->start = get_immutable_start(delta_zone->memory, list_number);
drivers/md/dm-vdo/indexer/delta-index.c
1265
end_offset = get_immutable_start(delta_zone->memory, list_number + 1);
drivers/md/dm-vdo/indexer/delta-index.c
1282
uds_prefetch_range(&delta_zone->memory[delta_list->start / BITS_PER_BYTE],
drivers/md/dm-vdo/indexer/delta-index.c
1288
delta_entry->delta_zone = delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1294
delta_entry->value_bits = delta_zone->value_bits;
drivers/md/dm-vdo/indexer/delta-index.c
1312
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1313
const u8 *memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1320
key_bits = delta_zone->min_bits;
drivers/md/dm-vdo/indexer/delta-index.c
1322
if (delta >= delta_zone->min_keys) {
drivers/md/dm-vdo/indexer/delta-index.c
1332
delta += ((key_bits - delta_zone->min_bits - 1) * delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
1404
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1405
u32 key_bits = (delta_zone->min_bits +
drivers/md/dm-vdo/indexer/delta-index.c
1406
((delta_zone->incr_keys - delta_zone->min_keys + delta) /
drivers/md/dm-vdo/indexer/delta-index.c
1407
delta_zone->incr_keys));
drivers/md/dm-vdo/indexer/delta-index.c
1416
const u8 *addr = entry->delta_zone->memory + offset / BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
1427
u8 *addr = entry->delta_zone->memory + offset / BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
1503
return get_field(delta_entry->delta_zone->memory,
drivers/md/dm-vdo/indexer/delta-index.c
1536
set_field(value, delta_entry->delta_zone->memory,
drivers/md/dm-vdo/indexer/delta-index.c
154
static void rebalance_delta_zone(const struct delta_zone *delta_zone, u32 first,
drivers/md/dm-vdo/indexer/delta-index.c
1545
static int extend_delta_zone(struct delta_zone *delta_zone, u32 growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
1557
delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
1559
for (i = 0; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
1562
if (delta_zone->size < used_space)
drivers/md/dm-vdo/indexer/delta-index.c
1566
compute_new_list_offsets(delta_zone, growing_index, growing_size, used_space);
drivers/md/dm-vdo/indexer/delta-index.c
1572
rebalance_delta_zone(delta_zone, 1, delta_zone->list_count + 1);
drivers/md/dm-vdo/indexer/delta-index.c
1574
delta_zone->rebalance_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1575
delta_zone->rebalance_time += ktime_sub(end_time, start_time);
drivers/md/dm-vdo/indexer/delta-index.c
1588
struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1597
delta_zone->overflow_count++;
drivers/md/dm-vdo/indexer/delta-index.c
162
delta_list = &delta_zone->delta_lists[first];
drivers/md/dm-vdo/indexer/delta-index.c
163
new_start = delta_zone->new_offsets[first];
drivers/md/dm-vdo/indexer/delta-index.c
1635
result = extend_delta_zone(delta_zone, growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
1653
memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1664
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1665
u8 *memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1668
if (delta_entry->delta < delta_zone->min_keys) {
drivers/md/dm-vdo/indexer/delta-index.c
1669
set_field(delta_entry->delta, memory, offset, delta_zone->min_bits);
drivers/md/dm-vdo/indexer/delta-index.c
1673
temp = delta_entry->delta - delta_zone->min_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1674
t1 = (temp % delta_zone->incr_keys) + delta_zone->min_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1675
t2 = temp / delta_zone->incr_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1676
set_field(t1, memory, offset, delta_zone->min_bits);
drivers/md/dm-vdo/indexer/delta-index.c
1677
set_zero(memory, offset + delta_zone->min_bits, t2);
drivers/md/dm-vdo/indexer/delta-index.c
1678
set_field(1, memory, offset + delta_zone->min_bits + t2, 1);
drivers/md/dm-vdo/indexer/delta-index.c
1684
u8 *memory = delta_entry->delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1701
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
171
memmove(delta_zone->memory + destination,
drivers/md/dm-vdo/indexer/delta-index.c
172
delta_zone->memory + source,
drivers/md/dm-vdo/indexer/delta-index.c
1794
delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1795
delta_zone->record_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1796
delta_zone->collision_count += delta_entry->is_collision ? 1 : 0;
drivers/md/dm-vdo/indexer/delta-index.c
1807
u8 *memory = delta_entry->delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
183
delta_list = &delta_zone->delta_lists[middle];
drivers/md/dm-vdo/indexer/delta-index.c
184
new_start = delta_zone->new_offsets[middle];
drivers/md/dm-vdo/indexer/delta-index.c
1850
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1862
delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1868
delta_zone->collision_count -= 1;
drivers/md/dm-vdo/indexer/delta-index.c
1881
delta_zone->collision_count -= 1;
drivers/md/dm-vdo/indexer/delta-index.c
1891
delta_zone->record_count--;
drivers/md/dm-vdo/indexer/delta-index.c
1892
delta_zone->discard_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1909
const struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
191
rebalance_delta_zone(delta_zone, middle + 1, last);
drivers/md/dm-vdo/indexer/delta-index.c
1913
delta_zone = &delta_index->delta_zones[z];
drivers/md/dm-vdo/indexer/delta-index.c
1914
stats->rebalance_time += delta_zone->rebalance_time;
drivers/md/dm-vdo/indexer/delta-index.c
1915
stats->rebalance_count += delta_zone->rebalance_count;
drivers/md/dm-vdo/indexer/delta-index.c
1916
stats->record_count += delta_zone->record_count;
drivers/md/dm-vdo/indexer/delta-index.c
1917
stats->collision_count += delta_zone->collision_count;
drivers/md/dm-vdo/indexer/delta-index.c
1918
stats->discard_count += delta_zone->discard_count;
drivers/md/dm-vdo/indexer/delta-index.c
1919
stats->overflow_count += delta_zone->overflow_count;
drivers/md/dm-vdo/indexer/delta-index.c
192
rebalance_delta_zone(delta_zone, first, middle);
drivers/md/dm-vdo/indexer/delta-index.c
1920
stats->list_count += delta_zone->list_count;
drivers/md/dm-vdo/indexer/delta-index.c
194
rebalance_delta_zone(delta_zone, first, middle);
drivers/md/dm-vdo/indexer/delta-index.c
195
rebalance_delta_zone(delta_zone, middle + 1, last);
drivers/md/dm-vdo/indexer/delta-index.c
222
struct delta_zone *zone = &delta_index->delta_zones[z];
drivers/md/dm-vdo/indexer/delta-index.c
308
static int initialize_delta_zone(struct delta_zone *delta_zone, size_t size,
drivers/md/dm-vdo/indexer/delta-index.c
314
result = vdo_allocate(size, u8, "delta list", &delta_zone->memory);
drivers/md/dm-vdo/indexer/delta-index.c
319
&delta_zone->new_offsets);
drivers/md/dm-vdo/indexer/delta-index.c
325
&delta_zone->delta_lists);
drivers/md/dm-vdo/indexer/delta-index.c
329
compute_coding_constants(mean_delta, &delta_zone->min_bits,
drivers/md/dm-vdo/indexer/delta-index.c
330
&delta_zone->min_keys, &delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
331
delta_zone->value_bits = payload_bits;
drivers/md/dm-vdo/indexer/delta-index.c
332
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
333
delta_zone->size = size;
drivers/md/dm-vdo/indexer/delta-index.c
334
delta_zone->rebalance_time = 0;
drivers/md/dm-vdo/indexer/delta-index.c
335
delta_zone->rebalance_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
336
delta_zone->record_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
337
delta_zone->collision_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
338
delta_zone->discard_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
339
delta_zone->overflow_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
340
delta_zone->first_list = first_list;
drivers/md/dm-vdo/indexer/delta-index.c
341
delta_zone->list_count = list_count;
drivers/md/dm-vdo/indexer/delta-index.c
342
delta_zone->tag = tag;
drivers/md/dm-vdo/indexer/delta-index.c
355
result = vdo_allocate(zone_count, struct delta_zone, "Delta Index Zones",
drivers/md/dm-vdo/indexer/delta-index.c
395
(sizeof(struct delta_zone) + zone_memory +
drivers/md/dm-vdo/indexer/delta-index.c
502
struct delta_zone *delta_zone = &delta_index_page->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
530
delta_index_page->delta_index.delta_zones = delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
540
compute_coding_constants(mean_delta, &delta_zone->min_bits,
drivers/md/dm-vdo/indexer/delta-index.c
541
&delta_zone->min_keys, &delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
542
delta_zone->value_bits = payload_bits;
drivers/md/dm-vdo/indexer/delta-index.c
543
delta_zone->memory = memory;
drivers/md/dm-vdo/indexer/delta-index.c
544
delta_zone->delta_lists = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
545
delta_zone->new_offsets = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
546
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
547
delta_zone->size = memory_size;
drivers/md/dm-vdo/indexer/delta-index.c
548
delta_zone->rebalance_time = 0;
drivers/md/dm-vdo/indexer/delta-index.c
549
delta_zone->rebalance_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
550
delta_zone->record_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
551
delta_zone->collision_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
552
delta_zone->discard_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
553
delta_zone->overflow_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
554
delta_zone->first_list = 0;
drivers/md/dm-vdo/indexer/delta-index.c
555
delta_zone->list_count = list_count;
drivers/md/dm-vdo/indexer/delta-index.c
556
delta_zone->tag = 'p';
drivers/md/dm-vdo/indexer/delta-index.c
711
const struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
721
delta_zone = &delta_index->delta_zones[0];
drivers/md/dm-vdo/indexer/delta-index.c
722
delta_lists = &delta_zone->delta_lists[first_list + 1];
drivers/md/dm-vdo/indexer/delta-index.c
769
move_bits(delta_zone->memory, delta_lists[i].start, memory,
drivers/md/dm-vdo/indexer/delta-index.c
780
static void compute_new_list_offsets(struct delta_zone *delta_zone, u32 growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
785
struct delta_list *delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
786
u32 tail_guard_index = delta_zone->list_count + 1;
drivers/md/dm-vdo/indexer/delta-index.c
788
spacing = (delta_zone->size - used_space) / delta_zone->list_count;
drivers/md/dm-vdo/indexer/delta-index.c
789
delta_zone->new_offsets[0] = 0;
drivers/md/dm-vdo/indexer/delta-index.c
790
for (i = 0; i <= delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
791
delta_zone->new_offsets[i + 1] =
drivers/md/dm-vdo/indexer/delta-index.c
792
(delta_zone->new_offsets[i] +
drivers/md/dm-vdo/indexer/delta-index.c
794
delta_zone->new_offsets[i] *= BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
795
delta_zone->new_offsets[i] += delta_lists[i].start % BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
797
delta_zone->new_offsets[i + 1] -= spacing / 2;
drivers/md/dm-vdo/indexer/delta-index.c
799
delta_zone->new_offsets[i + 1] += growing_size;
drivers/md/dm-vdo/indexer/delta-index.c
802
delta_zone->new_offsets[tail_guard_index] =
drivers/md/dm-vdo/indexer/delta-index.c
803
(delta_zone->size * BITS_PER_BYTE - delta_lists[tail_guard_index].size);
drivers/md/dm-vdo/indexer/delta-index.c
806
static void rebalance_lists(struct delta_zone *delta_zone)
drivers/md/dm-vdo/indexer/delta-index.c
813
delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
814
for (i = 0; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
817
compute_new_list_offsets(delta_zone, 0, 0, used_space);
drivers/md/dm-vdo/indexer/delta-index.c
818
for (i = 1; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
819
delta_lists[i].start = delta_zone->new_offsets[i];
drivers/md/dm-vdo/indexer/delta-index.c
835
const struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
940
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
941
list_number -= delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
942
delta_zone->delta_lists[list_number + 1].size = delta_list_size;
drivers/md/dm-vdo/indexer/delta-index.c
953
static int restore_delta_list_to_zone(struct delta_zone *delta_zone,
drivers/md/dm-vdo/indexer/delta-index.c
960
u32 list_number = save_info->index - delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
962
if (list_number >= delta_zone->list_count) {
drivers/md/dm-vdo/indexer/delta-index.c
965
save_info->index, delta_zone->first_list,
drivers/md/dm-vdo/indexer/delta-index.c
966
delta_zone->first_list + delta_zone->list_count);
drivers/md/dm-vdo/indexer/delta-index.c
969
delta_list = &delta_zone->delta_lists[list_number + 1];
drivers/md/dm-vdo/indexer/delta-index.c
984
move_bits(data, save_info->bit_offset, delta_zone->memory, delta_list->start,
drivers/md/dm-vdo/indexer/delta-index.h
122
struct delta_zone delta_zone;
drivers/md/dm-vdo/indexer/delta-index.h
169
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.h
93
struct delta_zone *delta_zones;
drivers/md/dm-vdo/indexer/volume-index.c
628
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/volume-index.c
637
delta_zone = &sub_index->delta_index.delta_zones[zone_number];
drivers/md/dm-vdo/indexer/volume-index.c
638
for (i = 1; i <= delta_zone->list_count; i++)
drivers/md/dm-vdo/indexer/volume-index.c
639
used_bits += delta_zone->delta_lists[i].size;