mirror of https://github.com/xemu-project/xemu.git
qemu-img: Map bench buffer
Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Message-Id: <20180116060901.17413-7-famz@redhat.com> Signed-off-by: Fam Zheng <famz@redhat.com>
This commit is contained in:
parent
9ed616129e
commit
79d465839f
|
@ -3862,6 +3862,7 @@ static int img_bench(int argc, char **argv)
|
||||||
struct timeval t1, t2;
|
struct timeval t1, t2;
|
||||||
int i;
|
int i;
|
||||||
bool force_share = false;
|
bool force_share = false;
|
||||||
|
size_t buf_size;
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
static const struct option long_options[] = {
|
static const struct option long_options[] = {
|
||||||
|
@ -4050,9 +4051,12 @@ static int img_bench(int argc, char **argv)
|
||||||
printf("Sending flush every %d requests\n", flush_interval);
|
printf("Sending flush every %d requests\n", flush_interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
data.buf = blk_blockalign(blk, data.nrreq * data.bufsize);
|
buf_size = data.nrreq * data.bufsize;
|
||||||
|
data.buf = blk_blockalign(blk, buf_size);
|
||||||
memset(data.buf, pattern, data.nrreq * data.bufsize);
|
memset(data.buf, pattern, data.nrreq * data.bufsize);
|
||||||
|
|
||||||
|
blk_register_buf(blk, data.buf, buf_size);
|
||||||
|
|
||||||
data.qiov = g_new(QEMUIOVector, data.nrreq);
|
data.qiov = g_new(QEMUIOVector, data.nrreq);
|
||||||
for (i = 0; i < data.nrreq; i++) {
|
for (i = 0; i < data.nrreq; i++) {
|
||||||
qemu_iovec_init(&data.qiov[i], 1);
|
qemu_iovec_init(&data.qiov[i], 1);
|
||||||
|
@ -4073,6 +4077,9 @@ static int img_bench(int argc, char **argv)
|
||||||
+ ((double)(t2.tv_usec - t1.tv_usec) / 1000000));
|
+ ((double)(t2.tv_usec - t1.tv_usec) / 1000000));
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
if (data.buf) {
|
||||||
|
blk_unregister_buf(blk, data.buf);
|
||||||
|
}
|
||||||
qemu_vfree(data.buf);
|
qemu_vfree(data.buf);
|
||||||
blk_unref(blk);
|
blk_unref(blk);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue