+4
−4
Loading
Parameters submitted by bdev trace record may not be uint64_t type (ex: bdev_io->type), which may bring outliers in trace parsing results. The reason is that, in _spdk_trace_record() function, va_list hold information about variable arguments, when passing SPDK_TRACE_ARG_TYPE_INT arguments, it will call va_arg(vl, uint64_t) to get value. However, if the submitted type is not uint64_t, va_arg may return outlier. To solve the problem, the parameter should be converted into uint64_t before be delivered into trace record if it is not uint64_t. Signed-off-by:zhaoshushu.zss <zhaoshushu.zss@alibaba-inc.com> Change-Id: Id710e39581f5e7b7551f3ff3a308f122f1344f1f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11691 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by:
SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by:
Jim Harris <james.r.harris@intel.com> Reviewed-by:
Konrad Sztyber <konrad.sztyber@intel.com>