Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
On Tue, Jul 30, 2019 at 04:29:35PM -0400, Michael S. Tsirkin wrote: > On Tue, Jul 30, 2019 at 12:24:27PM +, N. B. wrote: > > From: Ning Bo > > > > Report vsock running event so that the upper application can > > control boot sequence. > > see https://github.com/kata-containers/runtime/pull/1918 > > > > Signed-off-by: Ning Bo > > Cc Stefan. > > Stefan, are you willing to maintain virtio/vhost-vsock in qemu, too? > > If yes let's add an entry to MAINTAINERS, ok? Yes, I'll send a patch. Stefan signature.asc Description: PGP signature
Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
On Thu, Aug 01, 2019 at 05:25:04PM +0200, Markus Armbruster wrote: > Ning Bo writes: > > > Report vsock running event so that the upper application can > > control boot sequence. > > see https://github.com/kata-containers/runtime/pull/1918 > > Please provide a more complete summary of the use case in the commit > message. What exactly is the problem? What is the proposed solution, > and how does it make use of the new event? > > > Signed-off-by: Ning Bo Also it would seem that it should be possible to detect port listen state change just by trying to connect to it. Why isn't that an option? > > --- > > hw/virtio/vhost-vsock.c | 3 +++ > > qapi/char.json | 22 ++ > > 2 files changed, 25 insertions(+) > > > > diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c > > index 0371493..a5920fd 100644 > > --- a/hw/virtio/vhost-vsock.c > > +++ b/hw/virtio/vhost-vsock.c > > @@ -22,6 +22,7 @@ > > #include "qemu/iov.h" > > #include "qemu/module.h" > > #include "monitor/monitor.h" > > +#include "qapi/qapi-events-char.h" > > > > enum { > > VHOST_VSOCK_SAVEVM_VERSION = 0, > > @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int > > start) > > if (ret < 0) { > > return -errno; > > } > > +qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0); > > + > > return 0; > > } > > > > diff --git a/qapi/char.json b/qapi/char.json > > index a6e81ac..7b746e3 100644 > > --- a/qapi/char.json > > +++ b/qapi/char.json > > @@ -570,3 +570,25 @@ > > { 'event': 'VSERPORT_CHANGE', > >'data': { 'id': 'str', > > 'open': 'bool' } } > > + > > +## > > +# @VSOCK_RUNNING: > > +# > > +# Emitted when the guest changes the vsock status. > > +# > > +# @cid: guest context ID > > +# > > +# @running: true if the vsock is running > > +# > > +# Since: v4.2 > > +# > > +# Example: > > +# > > +# <- { "event": "VSOCK_RUNNING", > > +# "data": { "cid": "123456", "running": true }, > > +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } > > +# > > +## > > +{ 'event': 'VSOCK_RUNNING', > > + 'data': { 'cid': 'uint64', > > +'running': 'bool' } } > > Can you explain why you put this into char.json? > > The event traces successful calls of vhost_vsock_set_running(). I have > no idea what vhost_vsock_set_running() does (pardon my ignorance). Can > you point me to a specification? > > Its @start parameter is int. The event's @running is bool. Zero gets > mapped to false, non-zero to true. Are you sure all non-zero values are > equivalent, and will remain equivalent? Allowing guest to emit events at a high speed
Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
Ning Bo writes: > Report vsock running event so that the upper application can > control boot sequence. > see https://github.com/kata-containers/runtime/pull/1918 Please provide a more complete summary of the use case in the commit message. What exactly is the problem? What is the proposed solution, and how does it make use of the new event? > Signed-off-by: Ning Bo > --- > hw/virtio/vhost-vsock.c | 3 +++ > qapi/char.json | 22 ++ > 2 files changed, 25 insertions(+) > > diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c > index 0371493..a5920fd 100644 > --- a/hw/virtio/vhost-vsock.c > +++ b/hw/virtio/vhost-vsock.c > @@ -22,6 +22,7 @@ > #include "qemu/iov.h" > #include "qemu/module.h" > #include "monitor/monitor.h" > +#include "qapi/qapi-events-char.h" > > enum { > VHOST_VSOCK_SAVEVM_VERSION = 0, > @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int > start) > if (ret < 0) { > return -errno; > } > +qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0); > + > return 0; > } > > diff --git a/qapi/char.json b/qapi/char.json > index a6e81ac..7b746e3 100644 > --- a/qapi/char.json > +++ b/qapi/char.json > @@ -570,3 +570,25 @@ > { 'event': 'VSERPORT_CHANGE', >'data': { 'id': 'str', > 'open': 'bool' } } > + > +## > +# @VSOCK_RUNNING: > +# > +# Emitted when the guest changes the vsock status. > +# > +# @cid: guest context ID > +# > +# @running: true if the vsock is running > +# > +# Since: v4.2 > +# > +# Example: > +# > +# <- { "event": "VSOCK_RUNNING", > +# "data": { "cid": "123456", "running": true }, > +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } > +# > +## > +{ 'event': 'VSOCK_RUNNING', > + 'data': { 'cid': 'uint64', > +'running': 'bool' } } Can you explain why you put this into char.json? The event traces successful calls of vhost_vsock_set_running(). I have no idea what vhost_vsock_set_running() does (pardon my ignorance). Can you point me to a specification? Its @start parameter is int. The event's @running is bool. Zero gets mapped to false, non-zero to true. Are you sure all non-zero values are equivalent, and will remain equivalent?
[Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
Report vsock running event so that the upper application can control boot sequence. see https://github.com/kata-containers/runtime/pull/1918 Signed-off-by: Ning Bo --- hw/virtio/vhost-vsock.c | 3 +++ qapi/char.json | 22 ++ 2 files changed, 25 insertions(+) diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index 0371493..a5920fd 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -22,6 +22,7 @@ #include "qemu/iov.h" #include "qemu/module.h" #include "monitor/monitor.h" +#include "qapi/qapi-events-char.h" enum { VHOST_VSOCK_SAVEVM_VERSION = 0, @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int start) if (ret < 0) { return -errno; } +qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0); + return 0; } diff --git a/qapi/char.json b/qapi/char.json index a6e81ac..7b746e3 100644 --- a/qapi/char.json +++ b/qapi/char.json @@ -570,3 +570,25 @@ { 'event': 'VSERPORT_CHANGE', 'data': { 'id': 'str', 'open': 'bool' } } + +## +# @VSOCK_RUNNING: +# +# Emitted when the guest changes the vsock status. +# +# @cid: guest context ID +# +# @running: true if the vsock is running +# +# Since: v4.2 +# +# Example: +# +# <- { "event": "VSOCK_RUNNING", +# "data": { "cid": "123456", "running": true }, +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } +# +## +{ 'event': 'VSOCK_RUNNING', + 'data': { 'cid': 'uint64', +'running': 'bool' } } -- 2.9.5
Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
On 8/1/19 2:28 AM, Ning Bo wrote: > Report vsock running event so that the upper application can > control boot sequence. > see https://github.com/kata-containers/runtime/pull/1918 > > Signed-off-by: Ning Bo > --- Since this is an update to an earlier version you posted, it is helpful to include 'v2' in the subject line ('git format-patch -v2' or 'git send-email -v2' can do that on your behalf), as well as to document here after the --- separator how it differs from v1. More patch submission hints at https://wiki.qemu.org/Contribute/SubmitAPatch > +++ b/qapi/char.json > @@ -570,3 +570,25 @@ > { 'event': 'VSERPORT_CHANGE', >'data': { 'id': 'str', > 'open': 'bool' } } > + > +## > +# @VSOCK_RUNNING: > +# > +# Emitted when the guest changes the vsock status. > +# > +# @cid: guest context ID > +# > +# @running: true if the vsock is running > +# > +# Since: v4.2 Still not consistent with other uses. s/v4.2/4.2/ -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature
Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
On Tue, Jul 30, 2019 at 12:24:27PM +, N. B. wrote: > From: Ning Bo > > Report vsock running event so that the upper application can > control boot sequence. > see https://github.com/kata-containers/runtime/pull/1918 > > Signed-off-by: Ning Bo Cc Stefan. Stefan, are you willing to maintain virtio/vhost-vsock in qemu, too? If yes let's add an entry to MAINTAINERS, ok? > --- > hw/virtio/vhost-vsock.c | 3 +++ > qapi/char.json | 22 ++ > 2 files changed, 25 insertions(+) > > diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c > index 0371493..a5920fd 100644 > --- a/hw/virtio/vhost-vsock.c > +++ b/hw/virtio/vhost-vsock.c > @@ -22,6 +22,7 @@ > #include "qemu/iov.h" > #include "qemu/module.h" > #include "monitor/monitor.h" > +#include "qapi/qapi-events-char.h" > > enum { > VHOST_VSOCK_SAVEVM_VERSION = 0, > @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int > start) > if (ret < 0) { > return -errno; > } > +qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0); > + > return 0; > } > > diff --git a/qapi/char.json b/qapi/char.json > index a6e81ac..0958dd1 100644 > --- a/qapi/char.json > +++ b/qapi/char.json > @@ -570,3 +570,25 @@ > { 'event': 'VSERPORT_CHANGE', >'data': { 'id': 'str', > 'open': 'bool' } } > + > +## > +# @VSOCK_RUNNING: > +# > +# Emitted when the guest be set running. > +# > +# @cid: guest context ID > +# > +# @running: true if the vsock be set running > +# > +# Since: v4.1.0 > +# > +# Example: > +# > +# <- { "event": "VSOCK_RUNNING", > +# "data": { "cid": "123456", "running": true }, > +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } > +# > +## > +{ 'event': 'VSOCK_RUNNING', > + 'data': { 'cid': 'uint64', > +'running': 'bool' } } > -- > 2.9.5
[Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
From: Ning Bo Report vsock running event so that the upper application can control boot sequence. see https://github.com/kata-containers/runtime/pull/1918 Signed-off-by: Ning Bo --- hw/virtio/vhost-vsock.c | 3 +++ qapi/char.json | 22 ++ 2 files changed, 25 insertions(+) diff --git a/hw/virtio/vhost-vsock.c b/hw/virtio/vhost-vsock.c index 0371493..a5920fd 100644 --- a/hw/virtio/vhost-vsock.c +++ b/hw/virtio/vhost-vsock.c @@ -22,6 +22,7 @@ #include "qemu/iov.h" #include "qemu/module.h" #include "monitor/monitor.h" +#include "qapi/qapi-events-char.h" enum { VHOST_VSOCK_SAVEVM_VERSION = 0, @@ -68,6 +69,8 @@ static int vhost_vsock_set_running(VHostVSock *vsock, int start) if (ret < 0) { return -errno; } +qapi_event_send_vsock_running(vsock->conf.guest_cid, start != 0); + return 0; } diff --git a/qapi/char.json b/qapi/char.json index a6e81ac..0958dd1 100644 --- a/qapi/char.json +++ b/qapi/char.json @@ -570,3 +570,25 @@ { 'event': 'VSERPORT_CHANGE', 'data': { 'id': 'str', 'open': 'bool' } } + +## +# @VSOCK_RUNNING: +# +# Emitted when the guest be set running. +# +# @cid: guest context ID +# +# @running: true if the vsock be set running +# +# Since: v4.1.0 +# +# Example: +# +# <- { "event": "VSOCK_RUNNING", +# "data": { "cid": "123456", "running": true }, +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } } +# +## +{ 'event': 'VSOCK_RUNNING', + 'data': { 'cid': 'uint64', +'running': 'bool' } } -- 2.9.5
Re: [Qemu-devel] [PATCH] vhost-vsock: report QMP event when set running
On 7/30/19 7:24 AM, N. B. wrote: > From: Ning Bo > > Report vsock running event so that the upper application can > control boot sequence. > see https://github.com/kata-containers/runtime/pull/1918 > > Signed-off-by: Ning Bo Your From: and S-o-b: differ from one another, which can make crawling through git history in search of contributor statistics a bit harder. Can you fix your git settings to use the same address in both places, and/or contribute a patch to .mailmap to consolidate your contributions under a single preferred address? > --- > hw/virtio/vhost-vsock.c | 3 +++ > qapi/char.json | 22 ++ > 2 files changed, 25 insertions(+) > > +++ b/qapi/char.json > @@ -570,3 +570,25 @@ > { 'event': 'VSERPORT_CHANGE', >'data': { 'id': 'str', > 'open': 'bool' } } > + > +## > +# @VSOCK_RUNNING: > +# > +# Emitted when the guest be set running. s/be set running/changes the vsock status/ > +# > +# @cid: guest context ID > +# > +# @running: true if the vsock be set running s/be set/is/ > +# > +# Since: v4.1.0 Not our typical spelling, and as a new feature it is too late for 4.1. This should read: # Since: 4.2 -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org signature.asc Description: OpenPGP digital signature