Re: [PATCH v25 09/16] trace-cmd: Add scaling ratio for timestamp correction

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 29 Oct 2020 13:18:09 +0200
"Tzvetomir Stoyanov (VMware)" <tz.stoyanov@xxxxxxxxx> wrote:
> @@ -2181,7 +2184,9 @@ static void tsync_offset_load(struct tracecmd_input *handle, char *buf)
>  		host->ts_samples[i].time = tep_read_number(handle->pevent,
>  							   buf8 + i, 8);
>  		host->ts_samples[i].offset = tep_read_number(handle->pevent,
> -						buf8 + host->ts_samples_count+i, 8);
> +						buf8 + host->ts_samples_count + i, 8);
> +		host->ts_samples[i].scaling = tep_read_number(handle->pevent,
> +						buf8 + (2 * host->ts_samples_count) + i, 8);
>  	}


I was thinking the above code may read better if we changed it to:

	long long *time_buf;
	long long *offset_buf;
	long long *scaling_buf;

	time_buf = (long long *)buf;
	offset_buf = time_buf + host->ts_samples_count;
	scaling_buf = offset_buf + host->ts_samples_count;

	for (i = 0; i < host->ts_samples_count; i++) {
		host->ts_samples[i].time = tep_read_number(handle->pevent,
							   time_buf + i, 8);
		host->ts_samples[i].offset = tep_read_number(handle->	pevent,
							   offset_buf + i, 8);
		host->ts_samples[i].scaling = tep_read_number(handle->pevent,
						           scaling_buf + i, 8);
	}

-- Steve



>  	qsort(host->ts_samples, host->ts_samples_count,
>  	      sizeof(struct ts_offset_sample), tsync_offset_cmp);
> @@ -2534,6 +2539,7 @@ static int handle_options(struct tracecmd_input *handle)
>  			 * long long array of size [count] of times,
>  			 *      when the offsets were calculated.
>  			 * long long array of size [count] of timestamp offsets.
> +			 * long long array of size [count] of timestamp scaling ratios.*
>  			 */
>  			if (size < 12 || handle->flags & TRACECMD_FL_IGNORE_DATE)
>  				break;



[Index of Archives]     [Linux USB Development]     [Linux USB Development]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux