On Wed, Jun 16, 2021 at 09:12:29AM +0800, huang...@chinatelecom.cn wrote:
> -static void init_dirtyrate_stat(int64_t start_time, int64_t calc_time,
> -                                uint64_t sample_pages)
> +static void init_dirtyrate_stat(int64_t start_time,
> +                                struct DirtyRateConfig config)
>  {
> -    DirtyStat.total_dirty_samples = 0;
> -    DirtyStat.total_sample_count = 0;
> -    DirtyStat.total_block_mem_MB = 0;
>      DirtyStat.dirty_rate = -1;
>      DirtyStat.start_time = start_time;
> -    DirtyStat.calc_time = calc_time;
> -    DirtyStat.sample_pages = sample_pages;
> +    DirtyStat.calc_time = config.sample_period_seconds;
> +    DirtyStat.sample_pages = config.sample_pages_per_gigabytes;
> +
> +    switch (config.mode) {
> +    case DIRTY_RATE_MEASURE_MODE_PAGE_SAMPLING:
> +        DirtyStat.page_sampling.total_dirty_samples = 0;
> +        DirtyStat.page_sampling.total_sample_count = 0;
> +        DirtyStat.page_sampling.total_block_mem_MB = 0;
> +        break;
> +    case DIRTY_RATE_MEASURE_MODE_DIRTY_RING:
> +        DirtyStat.dirty_ring.nvcpu = -1;
> +        DirtyStat.dirty_ring.rates = NULL;

Missing "break"?

> +    default:

Assert here instead?

> +        break;
> +    }
>  }

-- 
Peter Xu


Reply via email to