Symbol: delta_zone
drivers/md/dm-vdo/indexer/delta-index.c
1086
static int flush_delta_list(struct delta_zone *zone, u32 flush_index)
drivers/md/dm-vdo/indexer/delta-index.c
1122
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1126
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1131
encode_u32_le(buffer, &offset, delta_zone->first_list);
drivers/md/dm-vdo/indexer/delta-index.c
1132
encode_u32_le(buffer, &offset, delta_zone->list_count);
drivers/md/dm-vdo/indexer/delta-index.c
1133
encode_u64_le(buffer, &offset, delta_zone->record_count);
drivers/md/dm-vdo/indexer/delta-index.c
1134
encode_u64_le(buffer, &offset, delta_zone->collision_count);
drivers/md/dm-vdo/indexer/delta-index.c
1147
for (i = 0; i < delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
1151
delta_list = &delta_zone->delta_lists[i + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1160
delta_zone->buffered_writer = buffered_writer;
drivers/md/dm-vdo/indexer/delta-index.c
1170
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1173
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1174
for (i = 0; i < delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
1175
delta_list = &delta_zone->delta_lists[i + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1177
result = flush_delta_list(delta_zone, i);
drivers/md/dm-vdo/indexer/delta-index.c
1183
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
1233
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1243
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
1244
list_number -= delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
1245
result = VDO_ASSERT((list_number < delta_zone->list_count),
drivers/md/dm-vdo/indexer/delta-index.c
1247
list_number, delta_zone->list_count, zone_number);
drivers/md/dm-vdo/indexer/delta-index.c
1252
delta_list = &delta_zone->delta_lists[list_number + 1];
drivers/md/dm-vdo/indexer/delta-index.c
1261
delta_list->start = get_immutable_start(delta_zone->memory, list_number);
drivers/md/dm-vdo/indexer/delta-index.c
1262
end_offset = get_immutable_start(delta_zone->memory, list_number + 1);
drivers/md/dm-vdo/indexer/delta-index.c
1279
uds_prefetch_range(&delta_zone->memory[delta_list->start / BITS_PER_BYTE],
drivers/md/dm-vdo/indexer/delta-index.c
1285
delta_entry->delta_zone = delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1291
delta_entry->value_bits = delta_zone->value_bits;
drivers/md/dm-vdo/indexer/delta-index.c
1309
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1310
const u8 *memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1317
key_bits = delta_zone->min_bits;
drivers/md/dm-vdo/indexer/delta-index.c
1319
if (delta >= delta_zone->min_keys) {
drivers/md/dm-vdo/indexer/delta-index.c
1329
delta += ((key_bits - delta_zone->min_bits - 1) * delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
1401
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1402
u32 key_bits = (delta_zone->min_bits +
drivers/md/dm-vdo/indexer/delta-index.c
1403
((delta_zone->incr_keys - delta_zone->min_keys + delta) /
drivers/md/dm-vdo/indexer/delta-index.c
1404
delta_zone->incr_keys));
drivers/md/dm-vdo/indexer/delta-index.c
1413
const u8 *addr = entry->delta_zone->memory + offset / BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
1424
u8 *addr = entry->delta_zone->memory + offset / BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
1500
return get_field(delta_entry->delta_zone->memory,
drivers/md/dm-vdo/indexer/delta-index.c
1533
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
1542
static int extend_delta_zone(struct delta_zone *delta_zone, u32 growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
1554
delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
1556
for (i = 0; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
1559
if (delta_zone->size < used_space)
drivers/md/dm-vdo/indexer/delta-index.c
1563
compute_new_list_offsets(delta_zone, growing_index, growing_size, used_space);
drivers/md/dm-vdo/indexer/delta-index.c
1569
rebalance_delta_zone(delta_zone, 1, delta_zone->list_count + 1);
drivers/md/dm-vdo/indexer/delta-index.c
1571
delta_zone->rebalance_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1572
delta_zone->rebalance_time += ktime_sub(end_time, start_time);
drivers/md/dm-vdo/indexer/delta-index.c
1585
struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1594
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
1632
result = extend_delta_zone(delta_zone, growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
1650
memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1661
const struct delta_zone *delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1662
u8 *memory = delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1665
if (delta_entry->delta < delta_zone->min_keys) {
drivers/md/dm-vdo/indexer/delta-index.c
1666
set_field(delta_entry->delta, memory, offset, delta_zone->min_bits);
drivers/md/dm-vdo/indexer/delta-index.c
1670
temp = delta_entry->delta - delta_zone->min_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1671
t1 = (temp % delta_zone->incr_keys) + delta_zone->min_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1672
t2 = temp / delta_zone->incr_keys;
drivers/md/dm-vdo/indexer/delta-index.c
1673
set_field(t1, memory, offset, delta_zone->min_bits);
drivers/md/dm-vdo/indexer/delta-index.c
1674
set_zero(memory, offset + delta_zone->min_bits, t2);
drivers/md/dm-vdo/indexer/delta-index.c
1675
set_field(1, memory, offset + delta_zone->min_bits + t2, 1);
drivers/md/dm-vdo/indexer/delta-index.c
1681
u8 *memory = delta_entry->delta_zone->memory;
drivers/md/dm-vdo/indexer/delta-index.c
1698
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
1791
delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1792
delta_zone->record_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1793
delta_zone->collision_count += delta_entry->is_collision ? 1 : 0;
drivers/md/dm-vdo/indexer/delta-index.c
1804
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
1847
struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1859
delta_zone = delta_entry->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
1865
delta_zone->collision_count -= 1;
drivers/md/dm-vdo/indexer/delta-index.c
1878
delta_zone->collision_count -= 1;
drivers/md/dm-vdo/indexer/delta-index.c
1888
delta_zone->record_count--;
drivers/md/dm-vdo/indexer/delta-index.c
1889
delta_zone->discard_count++;
drivers/md/dm-vdo/indexer/delta-index.c
1906
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
1910
delta_zone = &delta_index->delta_zones[z];
drivers/md/dm-vdo/indexer/delta-index.c
1911
stats->rebalance_time += delta_zone->rebalance_time;
drivers/md/dm-vdo/indexer/delta-index.c
1912
stats->rebalance_count += delta_zone->rebalance_count;
drivers/md/dm-vdo/indexer/delta-index.c
1913
stats->record_count += delta_zone->record_count;
drivers/md/dm-vdo/indexer/delta-index.c
1914
stats->collision_count += delta_zone->collision_count;
drivers/md/dm-vdo/indexer/delta-index.c
1915
stats->discard_count += delta_zone->discard_count;
drivers/md/dm-vdo/indexer/delta-index.c
1916
stats->overflow_count += delta_zone->overflow_count;
drivers/md/dm-vdo/indexer/delta-index.c
1917
stats->list_count += delta_zone->list_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
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, "delta list", &delta_zone->memory);
drivers/md/dm-vdo/indexer/delta-index.c
318
result = vdo_allocate(list_count + 2, "delta list temp", &delta_zone->new_offsets);
drivers/md/dm-vdo/indexer/delta-index.c
323
result = vdo_allocate(list_count + 2, "delta lists", &delta_zone->delta_lists);
drivers/md/dm-vdo/indexer/delta-index.c
327
compute_coding_constants(mean_delta, &delta_zone->min_bits,
drivers/md/dm-vdo/indexer/delta-index.c
328
&delta_zone->min_keys, &delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
329
delta_zone->value_bits = payload_bits;
drivers/md/dm-vdo/indexer/delta-index.c
330
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
331
delta_zone->size = size;
drivers/md/dm-vdo/indexer/delta-index.c
332
delta_zone->rebalance_time = 0;
drivers/md/dm-vdo/indexer/delta-index.c
333
delta_zone->rebalance_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
334
delta_zone->record_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
335
delta_zone->collision_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
336
delta_zone->discard_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
337
delta_zone->overflow_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
338
delta_zone->first_list = first_list;
drivers/md/dm-vdo/indexer/delta-index.c
339
delta_zone->list_count = list_count;
drivers/md/dm-vdo/indexer/delta-index.c
340
delta_zone->tag = tag;
drivers/md/dm-vdo/indexer/delta-index.c
392
(sizeof(struct delta_zone) + zone_memory +
drivers/md/dm-vdo/indexer/delta-index.c
499
struct delta_zone *delta_zone = &delta_index_page->delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
527
delta_index_page->delta_index.delta_zones = delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
537
compute_coding_constants(mean_delta, &delta_zone->min_bits,
drivers/md/dm-vdo/indexer/delta-index.c
538
&delta_zone->min_keys, &delta_zone->incr_keys);
drivers/md/dm-vdo/indexer/delta-index.c
539
delta_zone->value_bits = payload_bits;
drivers/md/dm-vdo/indexer/delta-index.c
540
delta_zone->memory = memory;
drivers/md/dm-vdo/indexer/delta-index.c
541
delta_zone->delta_lists = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
542
delta_zone->new_offsets = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
543
delta_zone->buffered_writer = NULL;
drivers/md/dm-vdo/indexer/delta-index.c
544
delta_zone->size = memory_size;
drivers/md/dm-vdo/indexer/delta-index.c
545
delta_zone->rebalance_time = 0;
drivers/md/dm-vdo/indexer/delta-index.c
546
delta_zone->rebalance_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
547
delta_zone->record_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
548
delta_zone->collision_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
549
delta_zone->discard_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
550
delta_zone->overflow_count = 0;
drivers/md/dm-vdo/indexer/delta-index.c
551
delta_zone->first_list = 0;
drivers/md/dm-vdo/indexer/delta-index.c
552
delta_zone->list_count = list_count;
drivers/md/dm-vdo/indexer/delta-index.c
553
delta_zone->tag = 'p';
drivers/md/dm-vdo/indexer/delta-index.c
708
const struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
718
delta_zone = &delta_index->delta_zones[0];
drivers/md/dm-vdo/indexer/delta-index.c
719
delta_lists = &delta_zone->delta_lists[first_list + 1];
drivers/md/dm-vdo/indexer/delta-index.c
766
move_bits(delta_zone->memory, delta_lists[i].start, memory,
drivers/md/dm-vdo/indexer/delta-index.c
777
static void compute_new_list_offsets(struct delta_zone *delta_zone, u32 growing_index,
drivers/md/dm-vdo/indexer/delta-index.c
782
struct delta_list *delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
783
u32 tail_guard_index = delta_zone->list_count + 1;
drivers/md/dm-vdo/indexer/delta-index.c
785
spacing = (delta_zone->size - used_space) / delta_zone->list_count;
drivers/md/dm-vdo/indexer/delta-index.c
786
delta_zone->new_offsets[0] = 0;
drivers/md/dm-vdo/indexer/delta-index.c
787
for (i = 0; i <= delta_zone->list_count; i++) {
drivers/md/dm-vdo/indexer/delta-index.c
788
delta_zone->new_offsets[i + 1] =
drivers/md/dm-vdo/indexer/delta-index.c
789
(delta_zone->new_offsets[i] +
drivers/md/dm-vdo/indexer/delta-index.c
791
delta_zone->new_offsets[i] *= BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
792
delta_zone->new_offsets[i] += delta_lists[i].start % BITS_PER_BYTE;
drivers/md/dm-vdo/indexer/delta-index.c
794
delta_zone->new_offsets[i + 1] -= spacing / 2;
drivers/md/dm-vdo/indexer/delta-index.c
796
delta_zone->new_offsets[i + 1] += growing_size;
drivers/md/dm-vdo/indexer/delta-index.c
799
delta_zone->new_offsets[tail_guard_index] =
drivers/md/dm-vdo/indexer/delta-index.c
800
(delta_zone->size * BITS_PER_BYTE - delta_lists[tail_guard_index].size);
drivers/md/dm-vdo/indexer/delta-index.c
803
static void rebalance_lists(struct delta_zone *delta_zone)
drivers/md/dm-vdo/indexer/delta-index.c
810
delta_lists = delta_zone->delta_lists;
drivers/md/dm-vdo/indexer/delta-index.c
811
for (i = 0; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
814
compute_new_list_offsets(delta_zone, 0, 0, used_space);
drivers/md/dm-vdo/indexer/delta-index.c
815
for (i = 1; i <= delta_zone->list_count + 1; i++)
drivers/md/dm-vdo/indexer/delta-index.c
816
delta_lists[i].start = delta_zone->new_offsets[i];
drivers/md/dm-vdo/indexer/delta-index.c
832
const struct delta_zone *delta_zone;
drivers/md/dm-vdo/indexer/delta-index.c
937
delta_zone = &delta_index->delta_zones[zone_number];
drivers/md/dm-vdo/indexer/delta-index.c
938
list_number -= delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
939
delta_zone->delta_lists[list_number + 1].size = delta_list_size;
drivers/md/dm-vdo/indexer/delta-index.c
950
static int restore_delta_list_to_zone(struct delta_zone *delta_zone,
drivers/md/dm-vdo/indexer/delta-index.c
957
u32 list_number = save_info->index - delta_zone->first_list;
drivers/md/dm-vdo/indexer/delta-index.c
959
if (list_number >= delta_zone->list_count) {
drivers/md/dm-vdo/indexer/delta-index.c
962
save_info->index, delta_zone->first_list,
drivers/md/dm-vdo/indexer/delta-index.c
963
delta_zone->first_list + delta_zone->list_count);
drivers/md/dm-vdo/indexer/delta-index.c
966
delta_list = &delta_zone->delta_lists[list_number + 1];
drivers/md/dm-vdo/indexer/delta-index.c
981
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;