1
The following changes since commit 4100a344eb3d50d88f9da85cae334afc47aee134:
1
The following changes since commit aceeaa69d28e6f08a24395d0aa6915b687d0a681:
2
2
3
Merge remote-tracking branch 'remotes/sstabellini/tags/xen-20170202' into staging (2017-02-03 12:31:40 +0000)
3
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-12-17' into staging (2019-12-17 15:55:20 +0000)
4
4
5
are available in the git repository at:
5
are available in the Git repository at:
6
6
7
git://github.com/stefanha/qemu.git tags/block-pull-request
7
https://github.com/stefanha/qemu.git tags/block-pull-request
8
8
9
for you to fetch changes up to cdd7abfdba9287a289c404dfdcb02316f9ffee7d:
9
for you to fetch changes up to 725fe5d10dbd4259b1853b7d253cef83a3c0d22a:
10
10
11
iothread: enable AioContext polling by default (2017-02-03 14:23:38 +0000)
11
virtio-blk: fix out-of-bounds access to bitmap in notify_guest_bh (2019-12-19 16:20:25 +0000)
12
13
----------------------------------------------------------------
14
Pull request
12
15
13
----------------------------------------------------------------
16
----------------------------------------------------------------
14
17
15
----------------------------------------------------------------
18
Li Hangjing (1):
19
virtio-blk: fix out-of-bounds access to bitmap in notify_guest_bh
16
20
17
Stefan Hajnoczi (1):
21
Stefan Hajnoczi (2):
18
iothread: enable AioContext polling by default
22
virtio-blk: deprecate SCSI passthrough
23
docs: fix rst syntax errors in unbuilt docs
19
24
20
iothread.c | 14 ++++++++++++++
25
docs/arm-cpu-features.rst | 6 +++---
21
1 file changed, 14 insertions(+)
26
docs/virtio-net-failover.rst | 4 ++--
27
docs/virtio-pmem.rst | 19 ++++++++++---------
28
hw/block/dataplane/virtio-blk.c | 2 +-
29
qemu-deprecated.texi | 11 +++++++++++
30
5 files changed, 27 insertions(+), 15 deletions(-)
22
31
23
--
32
--
24
2.9.3
33
2.23.0
25
34
35
--
36
libvir-list mailing list
37
libvir-list@redhat.com
38
https://www.redhat.com/mailman/listinfo/libvir-list
26
39
diff view generated by jsdifflib
New patch
1
The Linux virtio_blk.ko guest driver is removing legacy SCSI passthrough
2
support. Deprecate this feature in QEMU too.
1
3
4
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
5
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
6
Reviewed-by: Christoph Hellwig <hch@lst.de>
7
Reviewed-by: Thomas Huth <thuth@redhat.com>
8
Message-id: 20191213144626.1208237-1-stefanha@redhat.com
9
Message-Id: <20191213144626.1208237-1-stefanha@redhat.com>
10
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
11
---
12
qemu-deprecated.texi | 11 +++++++++++
13
1 file changed, 11 insertions(+)
14
15
diff --git a/qemu-deprecated.texi b/qemu-deprecated.texi
16
index XXXXXXX..XXXXXXX 100644
17
--- a/qemu-deprecated.texi
18
+++ b/qemu-deprecated.texi
19
@@ -XXX,XX +XXX,XX @@ spec you can use the ``-cpu rv64gcsu,priv_spec=v1.9.1`` command line argument.
20
21
@section Device options
22
23
+@subsection Emulated device options
24
+
25
+@subsubsection -device virtio-blk,scsi=on|off (since 5.0.0)
26
+
27
+The virtio-blk SCSI passthrough feature is a legacy VIRTIO feature. VIRTIO 1.0
28
+and later do not support it because the virtio-scsi device was introduced for
29
+full SCSI support. Use virtio-scsi instead when SCSI passthrough is required.
30
+
31
+Note this also applies to ``-device virtio-blk-pci,scsi=on|off'', which is an
32
+alias.
33
+
34
@subsection Block device options
35
36
@subsubsection "backing": "" (since 2.12.0)
37
--
38
2.23.0
39
40
--
41
libvir-list mailing list
42
libvir-list@redhat.com
43
https://www.redhat.com/mailman/listinfo/libvir-list
44
diff view generated by jsdifflib
New patch
1
The .rst files outside docs/{devel,interop,specs} aren't built yet and
2
therefore a few syntax errors have slipped through. Fix them.
1
3
4
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
5
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
6
Message-Id: <20191111094411.427174-1-stefanha@redhat.com>
7
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
8
---
9
docs/arm-cpu-features.rst | 6 +++---
10
docs/virtio-net-failover.rst | 4 ++--
11
docs/virtio-pmem.rst | 19 ++++++++++---------
12
3 files changed, 15 insertions(+), 14 deletions(-)
13
14
diff --git a/docs/arm-cpu-features.rst b/docs/arm-cpu-features.rst
15
index XXXXXXX..XXXXXXX 100644
16
--- a/docs/arm-cpu-features.rst
17
+++ b/docs/arm-cpu-features.rst
18
@@ -XXX,XX +XXX,XX @@ CPU type is possible with the `query-cpu-model-expansion` QMP command.
19
Below are some examples where `scripts/qmp/qmp-shell` (see the top comment
20
block in the script for usage) is used to issue the QMP commands.
21
22
-(1) Determine which CPU features are available for the `max` CPU type
23
- (Note, we started QEMU with qemu-system-aarch64, so `max` is
24
- implementing the ARMv8-A reference manual in this case)::
25
+1. Determine which CPU features are available for the `max` CPU type
26
+ (Note, we started QEMU with qemu-system-aarch64, so `max` is
27
+ implementing the ARMv8-A reference manual in this case)::
28
29
(QEMU) query-cpu-model-expansion type=full model={"name":"max"}
30
{ "return": {
31
diff --git a/docs/virtio-net-failover.rst b/docs/virtio-net-failover.rst
32
index XXXXXXX..XXXXXXX 100644
33
--- a/docs/virtio-net-failover.rst
34
+++ b/docs/virtio-net-failover.rst
35
@@ -XXX,XX +XXX,XX @@
36
-========================
37
+======================================
38
QEMU virtio-net standby (net_failover)
39
-========================
40
+======================================
41
42
This document explains the setup and usage of virtio-net standby feature which
43
is used to create a net_failover pair of devices.
44
diff --git a/docs/virtio-pmem.rst b/docs/virtio-pmem.rst
45
index XXXXXXX..XXXXXXX 100644
46
--- a/docs/virtio-pmem.rst
47
+++ b/docs/virtio-pmem.rst
48
@@ -XXX,XX +XXX,XX @@ virtio pmem usage
49
-----------------
50
51
A virtio pmem device backed by a memory-backend-file can be created on
52
- the QEMU command line as in the following example:
53
+ the QEMU command line as in the following example::
54
55
- -object memory-backend-file,id=mem1,share,mem-path=./virtio_pmem.img,size=4G
56
- -device virtio-pmem-pci,memdev=mem1,id=nv1
57
+ -object memory-backend-file,id=mem1,share,mem-path=./virtio_pmem.img,size=4G
58
+ -device virtio-pmem-pci,memdev=mem1,id=nv1
59
60
- where:
61
- - "object memory-backend-file,id=mem1,share,mem-path=<image>, size=<image size>"
62
- creates a backend file with the specified size.
63
+ where:
64
65
- - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem
66
- pci device whose storage is provided by above memory backend device.
67
+ - "object memory-backend-file,id=mem1,share,mem-path=<image>, size=<image size>"
68
+ creates a backend file with the specified size.
69
+
70
+ - "device virtio-pmem-pci,id=nvdimm1,memdev=mem1" creates a virtio pmem
71
+ pci device whose storage is provided by above memory backend device.
72
73
Multiple virtio pmem devices can be created if multiple pairs of "-object"
74
and "-device" are provided.
75
@@ -XXX,XX +XXX,XX @@ memory backing has to be added via 'object_add'; afterwards, the virtio
76
pmem device can be added via 'device_add'.
77
78
For example, the following commands add another 4GB virtio pmem device to
79
-the guest:
80
+the guest::
81
82
(qemu) object_add memory-backend-file,id=mem2,share=on,mem-path=virtio_pmem2.img,size=4G
83
(qemu) device_add virtio-pmem-pci,id=virtio_pmem2,memdev=mem2
84
--
85
2.23.0
86
87
--
88
libvir-list mailing list
89
libvir-list@redhat.com
90
https://www.redhat.com/mailman/listinfo/libvir-list
diff view generated by jsdifflib
1
IOThread AioContexts are likely to consist only of event sources like
1
From: Li Hangjing <lihangjing@baidu.com>
2
virtqueue ioeventfds and LinuxAIO completion eventfds that are pollable
3
from userspace (without system calls).
4
2
5
We recently merged the AioContext polling feature but didn't enable it
3
When the number of a virtio-blk device's virtqueues is larger than
6
by default yet. I have gone back over the performance data on the
4
BITS_PER_LONG, the out-of-bounds access to bitmap[ ] will occur.
7
mailing list and picked a default polling value that gave good results.
8
5
9
Let's enable AioContext polling by default so users don't have another
6
Fixes: e21737ab15 ("virtio-blk: multiqueue batch notify")
10
switch they need to set manually. If performance regressions are found
7
Cc: qemu-stable@nongnu.org
11
we can still disable this for the QEMU 2.9 release.
8
Cc: Stefan Hajnoczi <stefanha@redhat.com>
12
9
Signed-off-by: Li Hangjing <lihangjing@baidu.com>
13
Cc: Paolo Bonzini <pbonzini@redhat.com>
10
Reviewed-by: Xie Yongji <xieyongji@baidu.com>
14
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
11
Reviewed-by: Chai Wen <chaiwen@baidu.com>
15
Cc: Karl Rister <krister@redhat.com>
12
Message-id: 20191216023050.48620-1-lihangjing@baidu.com
16
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
13
Message-Id: <20191216023050.48620-1-lihangjing@baidu.com>
17
Message-id: 20170126170119.27876-1-stefanha@redhat.com
18
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
14
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
19
---
15
---
20
iothread.c | 14 ++++++++++++++
16
hw/block/dataplane/virtio-blk.c | 2 +-
21
1 file changed, 14 insertions(+)
17
1 file changed, 1 insertion(+), 1 deletion(-)
22
18
23
diff --git a/iothread.c b/iothread.c
19
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
24
index XXXXXXX..XXXXXXX 100644
20
index XXXXXXX..XXXXXXX 100644
25
--- a/iothread.c
21
--- a/hw/block/dataplane/virtio-blk.c
26
+++ b/iothread.c
22
+++ b/hw/block/dataplane/virtio-blk.c
27
@@ -XXX,XX +XXX,XX @@ typedef ObjectClass IOThreadClass;
23
@@ -XXX,XX +XXX,XX @@ static void notify_guest_bh(void *opaque)
28
#define IOTHREAD_CLASS(klass) \
24
memset(s->batch_notify_vqs, 0, sizeof(bitmap));
29
OBJECT_CLASS_CHECK(IOThreadClass, klass, TYPE_IOTHREAD)
25
30
26
for (j = 0; j < nvqs; j += BITS_PER_LONG) {
31
+/* Benchmark results from 2016 on NVMe SSD drives show max polling times around
27
- unsigned long bits = bitmap[j];
32
+ * 16-32 microseconds yield IOPS improvements for both iodepth=1 and iodepth=32
28
+ unsigned long bits = bitmap[j / BITS_PER_LONG];
33
+ * workloads.
29
34
+ */
30
while (bits != 0) {
35
+#define IOTHREAD_POLL_MAX_NS_DEFAULT 32768ULL
31
unsigned i = j + ctzl(bits);
36
+
37
static __thread IOThread *my_iothread;
38
39
AioContext *qemu_get_current_aio_context(void)
40
@@ -XXX,XX +XXX,XX @@ static int iothread_stop(Object *object, void *opaque)
41
return 0;
42
}
43
44
+static void iothread_instance_init(Object *obj)
45
+{
46
+ IOThread *iothread = IOTHREAD(obj);
47
+
48
+ iothread->poll_max_ns = IOTHREAD_POLL_MAX_NS_DEFAULT;
49
+}
50
+
51
static void iothread_instance_finalize(Object *obj)
52
{
53
IOThread *iothread = IOTHREAD(obj);
54
@@ -XXX,XX +XXX,XX @@ static const TypeInfo iothread_info = {
55
.parent = TYPE_OBJECT,
56
.class_init = iothread_class_init,
57
.instance_size = sizeof(IOThread),
58
+ .instance_init = iothread_instance_init,
59
.instance_finalize = iothread_instance_finalize,
60
.interfaces = (InterfaceInfo[]) {
61
{TYPE_USER_CREATABLE},
62
--
32
--
63
2.9.3
33
2.23.0
64
34
35
--
36
libvir-list mailing list
37
libvir-list@redhat.com
38
https://www.redhat.com/mailman/listinfo/libvir-list
65
39
diff view generated by jsdifflib