36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
|
|
From de6f3fb0cf92e04c0989a9065910158eecbe4304 Mon Sep 17 00:00:00 2001
|
||
|
|
From: WangJian <wangjian161@huawei.com>
|
||
|
|
Date: Wed, 9 Feb 2022 10:48:58 +0800
|
||
|
|
Subject: [PATCH] qemu-nbd: make native as the default aio mode
|
||
|
|
|
||
|
|
When the file system is dealing with multithreading concurrent writing to a file,
|
||
|
|
the performance will be degraded because of the lock.
|
||
|
|
At present, the default AIO mode of QEMU NBD is threads. In the case of large blocks,
|
||
|
|
because IO is divided into small pieces and multiple queues, it will become multithreading
|
||
|
|
concurrent writing the same file. Due to the file system, the performance will be greatly reduced.
|
||
|
|
If you change to native mode, this problem will not exist.
|
||
|
|
|
||
|
|
Signed-off-by: wangjian161 <wangjian161@huawei.com>
|
||
|
|
---
|
||
|
|
qemu-nbd.c | 4 ++++
|
||
|
|
1 file changed, 4 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/qemu-nbd.c b/qemu-nbd.c
|
||
|
|
index c6c20df68a..15a4bc4018 100644
|
||
|
|
--- a/qemu-nbd.c
|
||
|
|
+++ b/qemu-nbd.c
|
||
|
|
@@ -800,6 +800,10 @@ int main(int argc, char **argv)
|
||
|
|
trace_init_file();
|
||
|
|
qemu_set_log(LOG_TRACE);
|
||
|
|
|
||
|
|
+ if (!seen_aio && (flags & BDRV_O_NOCACHE)) {
|
||
|
|
+ flags |= BDRV_O_NATIVE_AIO;
|
||
|
|
+ }
|
||
|
|
+
|
||
|
|
socket_activation = check_socket_activation();
|
||
|
|
if (socket_activation == 0) {
|
||
|
|
setup_address_and_port(&bindto, &port);
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|