Lines Matching refs:eip

417 shrink_ranges(zfs_ecksum_info_t *eip)
420 uint32_t new_allowed_gap = eip->zei_mingap + 1;
423 size_t max = eip->zei_range_count;
425 struct zei_ranges *r = eip->zei_ranges;
427 ASSERT3U(eip->zei_range_count, >, 0);
428 ASSERT3U(eip->zei_range_count, <=, MAX_RANGES);
454 ASSERT3U(output, <, eip->zei_range_count);
455 eip->zei_range_count = output;
456 eip->zei_mingap = mingap;
457 eip->zei_allowed_mingap = new_allowed_gap;
461 add_range(zfs_ecksum_info_t *eip, int start, int end)
463 struct zei_ranges *r = eip->zei_ranges;
464 size_t count = eip->zei_range_count;
467 shrink_ranges(eip);
468 count = eip->zei_range_count;
471 eip->zei_mingap = UINT32_MAX;
472 eip->zei_allowed_mingap = 1;
476 if (gap < eip->zei_allowed_mingap) {
480 if (gap < eip->zei_mingap)
481 eip->zei_mingap = gap;
485 eip->zei_range_count++;
489 range_total_size(zfs_ecksum_info_t *eip)
491 struct zei_ranges *r = eip->zei_ranges;
492 size_t count = eip->zei_range_count;
523 zfs_ecksum_info_t *eip = kmem_zalloc(sizeof (*eip), KM_SLEEP);
527 return (eip);
553 return (eip);
566 add_range(eip, start, idx);
576 add_range(eip, start, idx);
579 inline_size = range_total_size(eip);
588 kmem_free(eip, sizeof (*eip));
597 for (range = 0; range < eip->zei_range_count; range++) {
598 size_t start = eip->zei_ranges[range].zr_start;
599 size_t end = eip->zei_ranges[range].zr_end;
614 eip->zei_bits_set[offset] = set;
615 eip->zei_bits_cleared[offset] = cleared;
619 update_histogram(set, eip->zei_histogram_set,
620 &eip->zei_range_sets[range]);
621 update_histogram(cleared, eip->zei_histogram_cleared,
622 &eip->zei_range_clears[range]);
626 eip->zei_ranges[range].zr_start *= sizeof (uint64_t);
627 eip->zei_ranges[range].zr_end *= sizeof (uint64_t);
629 eip->zei_allowed_mingap *= sizeof (uint64_t);
635 DATA_TYPE_UINT32_ARRAY, 2 * eip->zei_range_count,
636 (uint32_t *)eip->zei_ranges,
638 DATA_TYPE_UINT32, eip->zei_allowed_mingap,
640 DATA_TYPE_UINT32_ARRAY, eip->zei_range_count, eip->zei_range_sets,
642 DATA_TYPE_UINT32_ARRAY, eip->zei_range_count, eip->zei_range_clears,
649 inline_size, (uint8_t *)eip->zei_bits_set,
652 inline_size, (uint8_t *)eip->zei_bits_cleared,
658 NBBY * sizeof (uint64_t), eip->zei_histogram_set,
661 NBBY * sizeof (uint64_t), eip->zei_histogram_cleared,
664 return (eip);