mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-29 07:04:10 +08:00
dmaengine: dmatest: exclude compare and fill time during perf report
Dmatest is currently including compare and fill time into the calculated performance numbers. This does not reflect the HW capability and the results vary based on the CPU speed instead of the HW speed. Signed-off-by: Sinan Kaya <okaya@codeaurora.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
29b4817d40
commit
e9405ef08c
@ -426,7 +426,9 @@ static int dmatest_func(void *data)
|
||||
int src_cnt;
|
||||
int dst_cnt;
|
||||
int i;
|
||||
ktime_t ktime;
|
||||
ktime_t ktime, start, diff;
|
||||
ktime_t filltime = ktime_set(0, 0);
|
||||
ktime_t comparetime = ktime_set(0, 0);
|
||||
s64 runtime = 0;
|
||||
unsigned long long total_len = 0;
|
||||
|
||||
@ -531,6 +533,7 @@ static int dmatest_func(void *data)
|
||||
src_off = 0;
|
||||
dst_off = 0;
|
||||
} else {
|
||||
start = ktime_get();
|
||||
src_off = dmatest_random() % (params->buf_size - len + 1);
|
||||
dst_off = dmatest_random() % (params->buf_size - len + 1);
|
||||
|
||||
@ -541,6 +544,9 @@ static int dmatest_func(void *data)
|
||||
params->buf_size);
|
||||
dmatest_init_dsts(thread->dsts, dst_off, len,
|
||||
params->buf_size);
|
||||
|
||||
diff = ktime_sub(ktime_get(), start);
|
||||
filltime = ktime_add(filltime, diff);
|
||||
}
|
||||
|
||||
um = dmaengine_get_unmap_data(dev->dev, src_cnt+dst_cnt,
|
||||
@ -683,6 +689,7 @@ static int dmatest_func(void *data)
|
||||
continue;
|
||||
}
|
||||
|
||||
start = ktime_get();
|
||||
pr_debug("%s: verifying source buffer...\n", current->comm);
|
||||
error_count = dmatest_verify(thread->srcs, 0, src_off,
|
||||
0, PATTERN_SRC, true);
|
||||
@ -703,6 +710,9 @@ static int dmatest_func(void *data)
|
||||
params->buf_size, dst_off + len,
|
||||
PATTERN_DST, false);
|
||||
|
||||
diff = ktime_sub(ktime_get(), start);
|
||||
comparetime = ktime_add(comparetime, diff);
|
||||
|
||||
if (error_count) {
|
||||
result("data error", total_tests, src_off, dst_off,
|
||||
len, error_count);
|
||||
@ -712,7 +722,10 @@ static int dmatest_func(void *data)
|
||||
dst_off, len, 0);
|
||||
}
|
||||
}
|
||||
runtime = ktime_us_delta(ktime_get(), ktime);
|
||||
ktime = ktime_sub(ktime_get(), ktime);
|
||||
ktime = ktime_sub(ktime, comparetime);
|
||||
ktime = ktime_sub(ktime, filltime);
|
||||
runtime = ktime_to_us(ktime);
|
||||
|
||||
ret = 0;
|
||||
err_dstbuf:
|
||||
|
Loading…
Reference in New Issue
Block a user