* [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
@ 2017-02-02 15:05 Paolo Bonzini
2017-02-02 15:15 ` Dr. David Alan Gilbert
2017-02-03 15:00 ` Stefan Hajnoczi
0 siblings, 2 replies; 11+ messages in thread
From: Paolo Bonzini @ 2017-02-02 15:05 UTC (permalink / raw)
To: qemu-devel; +Cc: dgilbert
The replication feature is a small amount of code, does not
require any external library and unless used does not add
anything to the guest's attack surface. Since any extra
configure option affects maintainability on the other hand
and is subject to bit rot, I think there is no need to
make it configurable.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
Sending as RFC to start discussion because I know
Dave Gilbert disagrees. :)
Makefile.objs | 2 +-
block/Makefile.objs | 2 +-
configure | 11 -----------
tests/Makefile.include | 2 +-
4 files changed, 3 insertions(+), 14 deletions(-)
diff --git a/Makefile.objs b/Makefile.objs
index 01cef86..d834906 100644
--- a/Makefile.objs
+++ b/Makefile.objs
@@ -15,7 +15,7 @@ block-obj-$(CONFIG_POSIX) += aio-posix.o
block-obj-$(CONFIG_WIN32) += aio-win32.o
block-obj-y += block/
block-obj-y += qemu-io-cmds.o
-block-obj-$(CONFIG_REPLICATION) += replication.o
+block-obj-y += replication.o
block-obj-m = block/
diff --git a/block/Makefile.objs b/block/Makefile.objs
index c6bd14e..fd099a6 100644
--- a/block/Makefile.objs
+++ b/block/Makefile.objs
@@ -24,7 +24,7 @@ block-obj-$(CONFIG_LIBSSH2) += ssh.o
block-obj-y += accounting.o dirty-bitmap.o
block-obj-y += write-threshold.o
block-obj-y += backup.o
-block-obj-$(CONFIG_REPLICATION) += replication.o
+block-obj-y += replication.o
block-obj-y += crypto.o
diff --git a/configure b/configure
index 86fd833..0cb124e 100755
--- a/configure
+++ b/configure
@@ -320,7 +320,6 @@ libssh2=""
numa=""
tcmalloc="no"
jemalloc="no"
-replication="yes"
# parse CC options first
for opt do
@@ -1166,10 +1165,6 @@ for opt do
;;
--enable-jemalloc) jemalloc="yes"
;;
- --disable-replication) replication="no"
- ;;
- --enable-replication) replication="yes"
- ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1402,7 +1397,6 @@ disabled with --disable-FEATURE, default is enabled if available:
numa libnuma support
tcmalloc tcmalloc support
jemalloc jemalloc support
- replication replication support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -5113,7 +5107,6 @@ echo "NUMA host support $numa"
echo "tcmalloc support $tcmalloc"
echo "jemalloc support $jemalloc"
echo "avx2 optimization $avx2_opt"
-echo "replication support $replication"
if test "$sdl_too_old" = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -5711,10 +5704,6 @@ if test "$have_rtnetlink" = "yes" ; then
echo "CONFIG_RTNETLINK=y" >> $config_host_mak
fi
-if test "$replication" = "yes" ; then
- echo "CONFIG_REPLICATION=y" >> $config_host_mak
-fi
-
if test "$have_af_vsock" = "yes" ; then
echo "CONFIG_AF_VSOCK=y" >> $config_host_mak
fi
diff --git a/tests/Makefile.include b/tests/Makefile.include
index 33b4f88..77dc08f 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -115,7 +115,7 @@ check-unit-y += tests/test-crypto-xts$(EXESUF)
check-unit-y += tests/test-crypto-block$(EXESUF)
gcov-files-test-logging-y = tests/test-logging.c
check-unit-y += tests/test-logging$(EXESUF)
-check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
+check-unit-y += tests/test-replication$(EXESUF)
check-unit-y += tests/test-bufferiszero$(EXESUF)
gcov-files-check-bufferiszero-y = util/bufferiszero.c
check-unit-y += tests/test-uuid$(EXESUF)
--
2.9.3
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-02-02 15:05 [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication Paolo Bonzini
@ 2017-02-02 15:15 ` Dr. David Alan Gilbert
2017-02-03 15:00 ` Stefan Hajnoczi
1 sibling, 0 replies; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2017-02-02 15:15 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
* Paolo Bonzini (pbonzini@redhat.com) wrote:
> The replication feature is a small amount of code, does not
> require any external library and unless used does not add
> anything to the guest's attack surface. Since any extra
> configure option affects maintainability on the other hand
> and is subject to bit rot, I think there is no need to
> make it configurable.
>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> Sending as RFC to start discussion because I know
> Dave Gilbert disagrees. :)
Yep!
I started thinking about this for two other cases:
a) I noticed you'd removed the config for COLO
b) I was thinking of adding a config to disable old-school
block migration which we've had downstream for ages.
I think people like being able to disable features they're not
using in their builds; certainly we do downstream and if we do I don't
see why others won't - perhaps for different reasons.
While it's true block replication probably doesn't add to the
guest-visible attack surface, if someone was trying to audit
what they were running it would still be something they'd have
to check, and which it's easier if compiled out.
Dave
> Makefile.objs | 2 +-
> block/Makefile.objs | 2 +-
> configure | 11 -----------
> tests/Makefile.include | 2 +-
> 4 files changed, 3 insertions(+), 14 deletions(-)
>
> diff --git a/Makefile.objs b/Makefile.objs
> index 01cef86..d834906 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -15,7 +15,7 @@ block-obj-$(CONFIG_POSIX) += aio-posix.o
> block-obj-$(CONFIG_WIN32) += aio-win32.o
> block-obj-y += block/
> block-obj-y += qemu-io-cmds.o
> -block-obj-$(CONFIG_REPLICATION) += replication.o
> +block-obj-y += replication.o
>
> block-obj-m = block/
>
> diff --git a/block/Makefile.objs b/block/Makefile.objs
> index c6bd14e..fd099a6 100644
> --- a/block/Makefile.objs
> +++ b/block/Makefile.objs
> @@ -24,7 +24,7 @@ block-obj-$(CONFIG_LIBSSH2) += ssh.o
> block-obj-y += accounting.o dirty-bitmap.o
> block-obj-y += write-threshold.o
> block-obj-y += backup.o
> -block-obj-$(CONFIG_REPLICATION) += replication.o
> +block-obj-y += replication.o
>
> block-obj-y += crypto.o
>
> diff --git a/configure b/configure
> index 86fd833..0cb124e 100755
> --- a/configure
> +++ b/configure
> @@ -320,7 +320,6 @@ libssh2=""
> numa=""
> tcmalloc="no"
> jemalloc="no"
> -replication="yes"
>
> # parse CC options first
> for opt do
> @@ -1166,10 +1165,6 @@ for opt do
> ;;
> --enable-jemalloc) jemalloc="yes"
> ;;
> - --disable-replication) replication="no"
> - ;;
> - --enable-replication) replication="yes"
> - ;;
> *)
> echo "ERROR: unknown option $opt"
> echo "Try '$0 --help' for more information"
> @@ -1402,7 +1397,6 @@ disabled with --disable-FEATURE, default is enabled if available:
> numa libnuma support
> tcmalloc tcmalloc support
> jemalloc jemalloc support
> - replication replication support
>
> NOTE: The object files are built at the place where configure is launched
> EOF
> @@ -5113,7 +5107,6 @@ echo "NUMA host support $numa"
> echo "tcmalloc support $tcmalloc"
> echo "jemalloc support $jemalloc"
> echo "avx2 optimization $avx2_opt"
> -echo "replication support $replication"
>
> if test "$sdl_too_old" = "yes"; then
> echo "-> Your SDL version is too old - please upgrade to have SDL support"
> @@ -5711,10 +5704,6 @@ if test "$have_rtnetlink" = "yes" ; then
> echo "CONFIG_RTNETLINK=y" >> $config_host_mak
> fi
>
> -if test "$replication" = "yes" ; then
> - echo "CONFIG_REPLICATION=y" >> $config_host_mak
> -fi
> -
> if test "$have_af_vsock" = "yes" ; then
> echo "CONFIG_AF_VSOCK=y" >> $config_host_mak
> fi
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 33b4f88..77dc08f 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -115,7 +115,7 @@ check-unit-y += tests/test-crypto-xts$(EXESUF)
> check-unit-y += tests/test-crypto-block$(EXESUF)
> gcov-files-test-logging-y = tests/test-logging.c
> check-unit-y += tests/test-logging$(EXESUF)
> -check-unit-$(CONFIG_REPLICATION) += tests/test-replication$(EXESUF)
> +check-unit-y += tests/test-replication$(EXESUF)
> check-unit-y += tests/test-bufferiszero$(EXESUF)
> gcov-files-check-bufferiszero-y = util/bufferiszero.c
> check-unit-y += tests/test-uuid$(EXESUF)
> --
> 2.9.3
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-02-02 15:05 [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication Paolo Bonzini
2017-02-02 15:15 ` Dr. David Alan Gilbert
@ 2017-02-03 15:00 ` Stefan Hajnoczi
2017-02-03 17:08 ` Paolo Bonzini
1 sibling, 1 reply; 11+ messages in thread
From: Stefan Hajnoczi @ 2017-02-03 15:00 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel, dgilbert
[-- Attachment #1: Type: text/plain, Size: 690 bytes --]
On Thu, Feb 02, 2017 at 07:05:30AM -0800, Paolo Bonzini wrote:
> The replication feature is a small amount of code, does not
> require any external library and unless used does not add
> anything to the guest's attack surface. Since any extra
> configure option affects maintainability on the other hand
> and is subject to bit rot, I think there is no need to
> make it configurable.
I think the current state is good: replication is enabled by default but
can be compiled out if desired.
Downstreams may not be comfortable supporting this feature yet since
it's incomplete. It's fair to offer an option to disable it, otherwise
downstreams will have to patch this themselves.
Stefan
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 455 bytes --]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-02-03 15:00 ` Stefan Hajnoczi
@ 2017-02-03 17:08 ` Paolo Bonzini
2017-02-06 11:57 ` Dr. David Alan Gilbert
0 siblings, 1 reply; 11+ messages in thread
From: Paolo Bonzini @ 2017-02-03 17:08 UTC (permalink / raw)
To: Stefan Hajnoczi; +Cc: qemu-devel, dgilbert
On 03/02/2017 07:00, Stefan Hajnoczi wrote:
> On Thu, Feb 02, 2017 at 07:05:30AM -0800, Paolo Bonzini wrote:
>> The replication feature is a small amount of code, does not
>> require any external library and unless used does not add
>> anything to the guest's attack surface. Since any extra
>> configure option affects maintainability on the other hand
>> and is subject to bit rot, I think there is no need to
>> make it configurable.
>
> I think the current state is good: replication is enabled by default but
> can be compiled out if desired.
>
> Downstreams may not be comfortable supporting this feature yet since
> it's incomplete. It's fair to offer an option to disable it, otherwise
> downstreams will have to patch this themselves.
I understand---I just am not sure where to draw the line because there's
plenty of other incomplete features, hence the RFC. For example,
record/replay cannot be enabled or disabled on the configure command
line. That was the case even in the beginning, where it didn't support
either block or character device replay.
--enable-coroutine-pool is a relic of when Windows builds needed it, but
all other --enable-* options require an external library or at least a
specific operating system. See for example this patch:
commit 52b53c04faab9f7a9879c8dc014930649a3e698d
Author: Fam Zheng <famz@redhat.com>
Date: Wed Sep 10 14:17:51 2014 +0800
block: Always compile virtio-blk dataplane
Dataplane doesn't depend on linux-aio any more, so we don't need the
compiling condition now.
Configure options are kept but just print a message.
Signed-off-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1410329871-28885-4-git-send-email-famz@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
I would actually prefer to remove many of the latter
(--enable-vhost-net, --enable-vhost-scsi, --enable-vhost-socket) and
just use default-configs. We are already doing it for ivshmem for example:
CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
Paolo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-02-03 17:08 ` Paolo Bonzini
@ 2017-02-06 11:57 ` Dr. David Alan Gilbert
2017-03-03 20:34 ` Bruce Rogers
0 siblings, 1 reply; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2017-02-06 11:57 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: Stefan Hajnoczi, qemu-devel
* Paolo Bonzini (pbonzini@redhat.com) wrote:
>
>
> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
> > On Thu, Feb 02, 2017 at 07:05:30AM -0800, Paolo Bonzini wrote:
> >> The replication feature is a small amount of code, does not
> >> require any external library and unless used does not add
> >> anything to the guest's attack surface. Since any extra
> >> configure option affects maintainability on the other hand
> >> and is subject to bit rot, I think there is no need to
> >> make it configurable.
> >
> > I think the current state is good: replication is enabled by default but
> > can be compiled out if desired.
> >
> > Downstreams may not be comfortable supporting this feature yet since
> > it's incomplete. It's fair to offer an option to disable it, otherwise
> > downstreams will have to patch this themselves.
>
> I understand---I just am not sure where to draw the line because there's
> plenty of other incomplete features, hence the RFC. For example,
> record/replay cannot be enabled or disabled on the configure command
> line. That was the case even in the beginning, where it didn't support
> either block or character device replay.
The line is certainly fuzzy, but I think it's worth making the following
type of things configurable:
Features that have a large chunk of code
- dont lets try and configure tiny things on and off
That can be trivially configured
- lets not put big chunks of code around making them configurable
and that are incomplete
or are unused by large chunks of the users
Dave
> --enable-coroutine-pool is a relic of when Windows builds needed it, but
> all other --enable-* options require an external library or at least a
> specific operating system. See for example this patch:
>
> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
> Author: Fam Zheng <famz@redhat.com>
> Date: Wed Sep 10 14:17:51 2014 +0800
>
> block: Always compile virtio-blk dataplane
>
> Dataplane doesn't depend on linux-aio any more, so we don't need the
> compiling condition now.
>
> Configure options are kept but just print a message.
>
> Signed-off-by: Fam Zheng <famz@redhat.com>
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
> Message-id: 1410329871-28885-4-git-send-email-famz@redhat.com
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>
>
> I would actually prefer to remove many of the latter
> (--enable-vhost-net, --enable-vhost-scsi, --enable-vhost-socket) and
> just use default-configs. We are already doing it for ivshmem for example:
>
> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>
> Paolo
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-02-06 11:57 ` Dr. David Alan Gilbert
@ 2017-03-03 20:34 ` Bruce Rogers
2017-03-03 21:26 ` Paolo Bonzini
2017-03-06 9:08 ` Dr. David Alan Gilbert
0 siblings, 2 replies; 11+ messages in thread
From: Bruce Rogers @ 2017-03-03 20:34 UTC (permalink / raw)
To: Dr. David Alan Gilbert, Paolo Bonzini
Cc: zhangchen.fnst, Stefan Hajnoczi, qemu-devel
>>> On 2/6/2017 at 4:57 AM, <dgilbert@redhat.com> wrote:
> * Paolo Bonzini (pbonzini@redhat.com) wrote:
>>
>>
>> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
>> > On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini wrote:
>> >> The replication feature is a small amount of code, does not
>> >> require any external library and unless used does not add
>> >> anything to the guest's attack surface. Since any extra
>> >> configure option affects maintainability on the other hand
>> >> and is subject to bit rot, I think there is no need to
>> >> make it configurable.
>> >
>> > I think the current state is good: replication is enabled by default but
>> > can be compiled out if desired.
>> >
>> > Downstreams may not be comfortable supporting this feature yet since
>> > it's incomplete. It's fair to offer an option to disable it, otherwise
>> > downstreams will have to patch this themselves.
>>
>> I understand‑‑‑I just am not sure where to draw the line because there's
>> plenty of other incomplete features, hence the RFC. For example,
>> record/replay cannot be enabled or disabled on the configure command
>> line. That was the case even in the beginning, where it didn't support
>> either block or character device replay.
>
> The line is certainly fuzzy, but I think it's worth making the following
> type of things configurable:
> Features that have a large chunk of code
> ‑ dont lets try and configure tiny things on and off
> That can be trivially configured
> ‑ lets not put big chunks of code around making them configurable
> and that are incomplete
> or are unused by large chunks of the users
>
> Dave
>
>> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed it, but
>> all other ‑‑enable‑* options require an external library or at least a
>> specific operating system. See for example this patch:
>>
>> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
>> Author: Fam Zheng <famz@redhat.com>
>> Date: Wed Sep 10 14:17:51 2014 +0800
>>
>> block: Always compile virtio‑blk dataplane
>>
>> Dataplane doesn't depend on linux‑aio any more, so we don't need the
>> compiling condition now.
>>
>> Configure options are kept but just print a message.
>>
>> Signed‑off‑by: Fam Zheng <famz@redhat.com>
>> Reviewed‑by: Paolo Bonzini <pbonzini@redhat.com>
>> Message‑id: 1410329871‑28885‑4‑git‑send‑email‑famz@redhat.com
>> Signed‑off‑by: Stefan Hajnoczi <stefanha@redhat.com>
>>
>>
>> I would actually prefer to remove many of the latter
>> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
>> just use default‑configs. We are already doing it for ivshmem for example:
>>
>> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>>
>> Paolo
> ‑‑
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
Was there ever a conclusion here? The reason I ask is that I see that currently
using --disable-replication fails for me as follows:
# ./configure --disable-replication
...
# make
...
make all-recursive
Making all in pixman
make[3]: Nothing to be done for 'all'.
Making all in demos
make[3]: Nothing to be done for 'all'.
Making all in test
make[3]: Nothing to be done for 'all'.
CHK version_gen.h
LINK aarch64-softmmu/qemu-system-aarch64
../migration/colo.o: In function `qmp_query_xen_replication_status':
/home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference to `replication_get_error_all'
../migration/colo.o: In function `qmp_xen_set_replication':
/home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
/home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
/home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference to `replication_start_all'
../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
/ho
me/brogers/osr/git/qemu/migration/colo.c:196: undefined reference to `replication_do_checkpoint_all'
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
--
Bruce
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-03-03 20:34 ` Bruce Rogers
@ 2017-03-03 21:26 ` Paolo Bonzini
2017-03-06 9:08 ` Dr. David Alan Gilbert
1 sibling, 0 replies; 11+ messages in thread
From: Paolo Bonzini @ 2017-03-03 21:26 UTC (permalink / raw)
To: Bruce Rogers
Cc: Dr. David Alan Gilbert, zhangchen fnst, Stefan Hajnoczi, qemu-devel
> > I would actually prefer to remove many of the latter
> > (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
> > just use default‑configs. We are already doing it for ivshmem for
> > example:
>
> Was there ever a conclusion here? The reason I ask is that I see that
> currently
> using --disable-replication fails for me as follows:
No conclusion. I suppose if people are interested in --disable-replication
they can submit a patch to fix the bitrot. If 2.9 ships with the option
broken, I'll resend the patch for inclusion in 2.10.
This should give about one month to fix the option, which should be enough.
Paolo
> # ./configure --disable-replication
> ...
> # make
> ...
> make all-recursive
> Making all in pixman
> make[3]: Nothing to be done for 'all'.
> Making all in demos
> make[3]: Nothing to be done for 'all'.
> Making all in test
> make[3]: Nothing to be done for 'all'.
> CHK version_gen.h
> LINK aarch64-softmmu/qemu-system-aarch64
> ../migration/colo.o: In function `qmp_query_xen_replication_status':
> /home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference to
> `replication_get_error_all'
> ../migration/colo.o: In function `qmp_xen_set_replication':
> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to
> `replication_stop_all'
> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to
> `replication_stop_all'
> /home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference to
> `replication_start_all'
> ../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
> /home/brogers/osr/git/qemu/migration/colo.c:196: undefined reference to
> `replication_do_checkpoint_all'
> collect2: error: ld returned 1 exit status
> make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
> make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
>
> --
> Bruce
>
>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-03-03 20:34 ` Bruce Rogers
2017-03-03 21:26 ` Paolo Bonzini
@ 2017-03-06 9:08 ` Dr. David Alan Gilbert
2017-03-06 10:03 ` Zhang Chen
1 sibling, 1 reply; 11+ messages in thread
From: Dr. David Alan Gilbert @ 2017-03-06 9:08 UTC (permalink / raw)
To: Bruce Rogers; +Cc: Paolo Bonzini, zhangchen.fnst, Stefan Hajnoczi, qemu-devel
* Bruce Rogers (brogers@suse.com) wrote:
> >>> On 2/6/2017 at 4:57 AM, <dgilbert@redhat.com> wrote:
> > * Paolo Bonzini (pbonzini@redhat.com) wrote:
> >>
> >>
> >> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
> >> > On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini wrote:
> >> >> The replication feature is a small amount of code, does not
> >> >> require any external library and unless used does not add
> >> >> anything to the guest's attack surface. Since any extra
> >> >> configure option affects maintainability on the other hand
> >> >> and is subject to bit rot, I think there is no need to
> >> >> make it configurable.
> >> >
> >> > I think the current state is good: replication is enabled by default but
> >> > can be compiled out if desired.
> >> >
> >> > Downstreams may not be comfortable supporting this feature yet since
> >> > it's incomplete. It's fair to offer an option to disable it, otherwise
> >> > downstreams will have to patch this themselves.
> >>
> >> I understand‑‑‑I just am not sure where to draw the line because there's
> >> plenty of other incomplete features, hence the RFC. For example,
> >> record/replay cannot be enabled or disabled on the configure command
> >> line. That was the case even in the beginning, where it didn't support
> >> either block or character device replay.
> >
> > The line is certainly fuzzy, but I think it's worth making the following
> > type of things configurable:
> > Features that have a large chunk of code
> > ‑ dont lets try and configure tiny things on and off
> > That can be trivially configured
> > ‑ lets not put big chunks of code around making them configurable
> > and that are incomplete
> > or are unused by large chunks of the users
> >
> > Dave
> >
> >> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed it, but
> >> all other ‑‑enable‑* options require an external library or at least a
> >> specific operating system. See for example this patch:
> >>
> >> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
> >> Author: Fam Zheng <famz@redhat.com>
> >> Date: Wed Sep 10 14:17:51 2014 +0800
> >>
> >> block: Always compile virtio‑blk dataplane
> >>
> >> Dataplane doesn't depend on linux‑aio any more, so we don't need the
> >> compiling condition now.
> >>
> >> Configure options are kept but just print a message.
> >>
> >> Signed‑off‑by: Fam Zheng <famz@redhat.com>
> >> Reviewed‑by: Paolo Bonzini <pbonzini@redhat.com>
> >> Message‑id: 1410329871‑28885‑4‑git‑send‑email‑famz@redhat.com
> >> Signed‑off‑by: Stefan Hajnoczi <stefanha@redhat.com>
> >>
> >>
> >> I would actually prefer to remove many of the latter
> >> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
> >> just use default‑configs. We are already doing it for ivshmem for example:
> >>
> >> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
> >>
> >> Paolo
> > ‑‑
> > Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
> Was there ever a conclusion here? The reason I ask is that I see that currently
> using --disable-replication fails for me as follows:
>
> # ./configure --disable-replication
> ...
> # make
> ...
> make all-recursive
> Making all in pixman
> make[3]: Nothing to be done for 'all'.
> Making all in demos
> make[3]: Nothing to be done for 'all'.
> Making all in test
> make[3]: Nothing to be done for 'all'.
> CHK version_gen.h
> LINK aarch64-softmmu/qemu-system-aarch64
> ../migration/colo.o: In function `qmp_query_xen_replication_status':
> /home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference to `replication_get_error_all'
> ../migration/colo.o: In function `qmp_xen_set_replication':
> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
> /home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference to `replication_start_all'
> ../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
> /home/brogers/osr/git/qemu/migration/colo.c:196: undefined reference to `replication_do_checkpoint_all'
> collect2: error: ld returned 1 exit status
> make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
> make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
We should fix that.
Dave
> --
> Bruce
>
>
--
Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-03-06 9:08 ` Dr. David Alan Gilbert
@ 2017-03-06 10:03 ` Zhang Chen
2017-03-06 12:54 ` Paolo Bonzini
0 siblings, 1 reply; 11+ messages in thread
From: Zhang Chen @ 2017-03-06 10:03 UTC (permalink / raw)
To: Dr. David Alan Gilbert, Bruce Rogers
Cc: zhangchen.fnst, Paolo Bonzini, Stefan Hajnoczi, qemu-devel
On 03/06/2017 05:08 PM, Dr. David Alan Gilbert wrote:
> * Bruce Rogers (brogers@suse.com) wrote:
>>>>> On 2/6/2017 at 4:57 AM, <dgilbert@redhat.com> wrote:
>>> * Paolo Bonzini (pbonzini@redhat.com) wrote:
>>>>
>>>> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
>>>>> On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini wrote:
>>>>>> The replication feature is a small amount of code, does not
>>>>>> require any external library and unless used does not add
>>>>>> anything to the guest's attack surface. Since any extra
>>>>>> configure option affects maintainability on the other hand
>>>>>> and is subject to bit rot, I think there is no need to
>>>>>> make it configurable.
>>>>> I think the current state is good: replication is enabled by default but
>>>>> can be compiled out if desired.
>>>>>
>>>>> Downstreams may not be comfortable supporting this feature yet since
>>>>> it's incomplete. It's fair to offer an option to disable it, otherwise
>>>>> downstreams will have to patch this themselves.
>>>> I understand‑‑‑I just am not sure where to draw the line because there's
>>>> plenty of other incomplete features, hence the RFC. For example,
>>>> record/replay cannot be enabled or disabled on the configure command
>>>> line. That was the case even in the beginning, where it didn't support
>>>> either block or character device replay.
>>> The line is certainly fuzzy, but I think it's worth making the following
>>> type of things configurable:
>>> Features that have a large chunk of code
>>> ‑ dont lets try and configure tiny things on and off
>>> That can be trivially configured
>>> ‑ lets not put big chunks of code around making them configurable
>>> and that are incomplete
>>> or are unused by large chunks of the users
>>>
>>> Dave
>>>
>>>> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed it, but
>>>> all other ‑‑enable‑* options require an external library or at least a
>>>> specific operating system. See for example this patch:
>>>>
>>>> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
>>>> Author: Fam Zheng <famz@redhat.com>
>>>> Date: Wed Sep 10 14:17:51 2014 +0800
>>>>
>>>> block: Always compile virtio‑blk dataplane
>>>>
>>>> Dataplane doesn't depend on linux‑aio any more, so we don't need the
>>>> compiling condition now.
>>>>
>>>> Configure options are kept but just print a message.
>>>>
>>>> Signed‑off‑by: Fam Zheng <famz@redhat.com>
>>>> Reviewed‑by: Paolo Bonzini <pbonzini@redhat.com>
>>>> Message‑id: 1410329871‑28885‑4‑git‑send‑email‑famz@redhat.com
>>>> Signed‑off‑by: Stefan Hajnoczi <stefanha@redhat.com>
>>>>
>>>>
>>>> I would actually prefer to remove many of the latter
>>>> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
>>>> just use default‑configs. We are already doing it for ivshmem for example:
>>>>
>>>> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>>>>
>>>> Paolo
>>> ‑‑
>>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>> Was there ever a conclusion here? The reason I ask is that I see that currently
>> using --disable-replication fails for me as follows:
>>
>> # ./configure --disable-replication
>> ...
>> # make
>> ...
>> make all-recursive
>> Making all in pixman
>> make[3]: Nothing to be done for 'all'.
>> Making all in demos
>> make[3]: Nothing to be done for 'all'.
>> Making all in test
>> make[3]: Nothing to be done for 'all'.
>> CHK version_gen.h
>> LINK aarch64-softmmu/qemu-system-aarch64
>> ../migration/colo.o: In function `qmp_query_xen_replication_status':
>> /home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference to `replication_get_error_all'
>> ../migration/colo.o: In function `qmp_xen_set_replication':
>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference to `replication_stop_all'
>> /home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference to `replication_start_all'
>> ../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
>> /home/brogers/osr/git/qemu/migration/colo.c:196: undefined reference to `replication_do_checkpoint_all'
>> collect2: error: ld returned 1 exit status
>> make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
>> make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
> We should fix that.
COLO needs replication enable.
So, should I add a new option enable/disable COLO ?
Then, If you disable replication, colo will be disabled automatically.
Like that:
# ./configure --disable-colo
Thanks
Zhang Chen
>
> Dave
>
>> --
>> Bruce
>>
>>
> --
> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>
>
> .
>
--
Thanks
Zhang Chen
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-03-06 10:03 ` Zhang Chen
@ 2017-03-06 12:54 ` Paolo Bonzini
2017-03-07 3:50 ` Zhang Chen
0 siblings, 1 reply; 11+ messages in thread
From: Paolo Bonzini @ 2017-03-06 12:54 UTC (permalink / raw)
To: Zhang Chen, Dr. David Alan Gilbert, Bruce Rogers
Cc: Stefan Hajnoczi, qemu-devel
On 06/03/2017 11:03, Zhang Chen wrote:
>
>
> On 03/06/2017 05:08 PM, Dr. David Alan Gilbert wrote:
>> * Bruce Rogers (brogers@suse.com) wrote:
>>>>>> On 2/6/2017 at 4:57 AM, <dgilbert@redhat.com> wrote:
>>>> * Paolo Bonzini (pbonzini@redhat.com) wrote:
>>>>>
>>>>> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
>>>>>> On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini wrote:
>>>>>>> The replication feature is a small amount of code, does not
>>>>>>> require any external library and unless used does not add
>>>>>>> anything to the guest's attack surface. Since any extra
>>>>>>> configure option affects maintainability on the other hand
>>>>>>> and is subject to bit rot, I think there is no need to
>>>>>>> make it configurable.
>>>>>> I think the current state is good: replication is enabled by
>>>>>> default but
>>>>>> can be compiled out if desired.
>>>>>>
>>>>>> Downstreams may not be comfortable supporting this feature yet since
>>>>>> it's incomplete. It's fair to offer an option to disable it,
>>>>>> otherwise
>>>>>> downstreams will have to patch this themselves.
>>>>> I understand‑‑‑I just am not sure where to draw the line because
>>>>> there's
>>>>> plenty of other incomplete features, hence the RFC. For example,
>>>>> record/replay cannot be enabled or disabled on the configure command
>>>>> line. That was the case even in the beginning, where it didn't
>>>>> support
>>>>> either block or character device replay.
>>>> The line is certainly fuzzy, but I think it's worth making the
>>>> following
>>>> type of things configurable:
>>>> Features that have a large chunk of code
>>>> ‑ dont lets try and configure tiny things on and off
>>>> That can be trivially configured
>>>> ‑ lets not put big chunks of code around making them configurable
>>>> and that are incomplete
>>>> or are unused by large chunks of the users
>>>>
>>>> Dave
>>>>
>>>>> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed
>>>>> it, but
>>>>> all other ‑‑enable‑* options require an external library or at least a
>>>>> specific operating system. See for example this patch:
>>>>>
>>>>> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
>>>>> Author: Fam Zheng <famz@redhat.com>
>>>>> Date: Wed Sep 10 14:17:51 2014 +0800
>>>>>
>>>>> block: Always compile virtio‑blk dataplane
>>>>>
>>>>> Dataplane doesn't depend on linux‑aio any more, so we don't
>>>>> need the
>>>>> compiling condition now.
>>>>>
>>>>> Configure options are kept but just print a message.
>>>>>
>>>>> Signed‑off‑by: Fam Zheng <famz@redhat.com>
>>>>> Reviewed‑by: Paolo Bonzini <pbonzini@redhat.com>
>>>>> Message‑id: 1410329871‑28885‑4‑git‑send‑email‑famz@redhat.com
>>>>> Signed‑off‑by: Stefan Hajnoczi <stefanha@redhat.com>
>>>>>
>>>>>
>>>>> I would actually prefer to remove many of the latter
>>>>> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
>>>>> just use default‑configs. We are already doing it for ivshmem for
>>>>> example:
>>>>>
>>>>> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>>>>>
>>>>> Paolo
>>>> ‑‑
>>>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>>> Was there ever a conclusion here? The reason I ask is that I see that
>>> currently
>>> using --disable-replication fails for me as follows:
>>>
>>> # ./configure --disable-replication
>>> ...
>>> # make
>>> ...
>>> make all-recursive
>>> Making all in pixman
>>> make[3]: Nothing to be done for 'all'.
>>> Making all in demos
>>> make[3]: Nothing to be done for 'all'.
>>> Making all in test
>>> make[3]: Nothing to be done for 'all'.
>>> CHK version_gen.h
>>> LINK aarch64-softmmu/qemu-system-aarch64
>>> ../migration/colo.o: In function `qmp_query_xen_replication_status':
>>> /home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference
>>> to `replication_get_error_all'
>>> ../migration/colo.o: In function `qmp_xen_set_replication':
>>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference
>>> to `replication_stop_all'
>>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference
>>> to `replication_stop_all'
>>> /home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference
>>> to `replication_start_all'
>>> ../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
>>> /home/brogers/osr/git/qemu/migration/colo.c:196: undefined reference
>>> to `replication_do_checkpoint_all'
>>> collect2: error: ld returned 1 exit status
>>> make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
>>> make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
>> We should fix that.
>
> COLO needs replication enable.
> So, should I add a new option enable/disable COLO ?
> Then, If you disable replication, colo will be disabled automatically.
> Like that:
> # ./configure --disable-colo
Then I would just define --enable-colo/--disable-colo which includes
replication, the network filter and everything else.
Paolo
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication
2017-03-06 12:54 ` Paolo Bonzini
@ 2017-03-07 3:50 ` Zhang Chen
0 siblings, 0 replies; 11+ messages in thread
From: Zhang Chen @ 2017-03-07 3:50 UTC (permalink / raw)
To: Paolo Bonzini, Dr. David Alan Gilbert, Bruce Rogers
Cc: zhangchen.fnst, Stefan Hajnoczi, qemu-devel
On 03/06/2017 08:54 PM, Paolo Bonzini wrote:
>
> On 06/03/2017 11:03, Zhang Chen wrote:
>>
>> On 03/06/2017 05:08 PM, Dr. David Alan Gilbert wrote:
>>> * Bruce Rogers (brogers@suse.com) wrote:
>>>>>>> On 2/6/2017 at 4:57 AM, <dgilbert@redhat.com> wrote:
>>>>> * Paolo Bonzini (pbonzini@redhat.com) wrote:
>>>>>> On 03/02/2017 07:00, Stefan Hajnoczi wrote:
>>>>>>> On Thu, Feb 02, 2017 at 07:05:30AM ‑0800, Paolo Bonzini wrote:
>>>>>>>> The replication feature is a small amount of code, does not
>>>>>>>> require any external library and unless used does not add
>>>>>>>> anything to the guest's attack surface. Since any extra
>>>>>>>> configure option affects maintainability on the other hand
>>>>>>>> and is subject to bit rot, I think there is no need to
>>>>>>>> make it configurable.
>>>>>>> I think the current state is good: replication is enabled by
>>>>>>> default but
>>>>>>> can be compiled out if desired.
>>>>>>>
>>>>>>> Downstreams may not be comfortable supporting this feature yet since
>>>>>>> it's incomplete. It's fair to offer an option to disable it,
>>>>>>> otherwise
>>>>>>> downstreams will have to patch this themselves.
>>>>>> I understand‑‑‑I just am not sure where to draw the line because
>>>>>> there's
>>>>>> plenty of other incomplete features, hence the RFC. For example,
>>>>>> record/replay cannot be enabled or disabled on the configure command
>>>>>> line. That was the case even in the beginning, where it didn't
>>>>>> support
>>>>>> either block or character device replay.
>>>>> The line is certainly fuzzy, but I think it's worth making the
>>>>> following
>>>>> type of things configurable:
>>>>> Features that have a large chunk of code
>>>>> ‑ dont lets try and configure tiny things on and off
>>>>> That can be trivially configured
>>>>> ‑ lets not put big chunks of code around making them configurable
>>>>> and that are incomplete
>>>>> or are unused by large chunks of the users
>>>>>
>>>>> Dave
>>>>>
>>>>>> ‑‑enable‑coroutine‑pool is a relic of when Windows builds needed
>>>>>> it, but
>>>>>> all other ‑‑enable‑* options require an external library or at least a
>>>>>> specific operating system. See for example this patch:
>>>>>>
>>>>>> commit 52b53c04faab9f7a9879c8dc014930649a3e698d
>>>>>> Author: Fam Zheng <famz@redhat.com>
>>>>>> Date: Wed Sep 10 14:17:51 2014 +0800
>>>>>>
>>>>>> block: Always compile virtio‑blk dataplane
>>>>>>
>>>>>> Dataplane doesn't depend on linux‑aio any more, so we don't
>>>>>> need the
>>>>>> compiling condition now.
>>>>>>
>>>>>> Configure options are kept but just print a message.
>>>>>>
>>>>>> Signed‑off‑by: Fam Zheng <famz@redhat.com>
>>>>>> Reviewed‑by: Paolo Bonzini <pbonzini@redhat.com>
>>>>>> Message‑id: 1410329871‑28885‑4‑git‑send‑email‑famz@redhat.com
>>>>>> Signed‑off‑by: Stefan Hajnoczi <stefanha@redhat.com>
>>>>>>
>>>>>>
>>>>>> I would actually prefer to remove many of the latter
>>>>>> (‑‑enable‑vhost‑net, ‑‑enable‑vhost‑scsi, ‑‑enable‑vhost‑socket) and
>>>>>> just use default‑configs. We are already doing it for ivshmem for
>>>>>> example:
>>>>>>
>>>>>> CONFIG_IVSHMEM=$(CONFIG_EVENTFD)
>>>>>>
>>>>>> Paolo
>>>>> ‑‑
>>>>> Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
>>>> Was there ever a conclusion here? The reason I ask is that I see that
>>>> currently
>>>> using --disable-replication fails for me as follows:
>>>>
>>>> # ./configure --disable-replication
>>>> ...
>>>> # make
>>>> ...
>>>> make all-recursive
>>>> Making all in pixman
>>>> make[3]: Nothing to be done for 'all'.
>>>> Making all in demos
>>>> make[3]: Nothing to be done for 'all'.
>>>> Making all in test
>>>> make[3]: Nothing to be done for 'all'.
>>>> CHK version_gen.h
>>>> LINK aarch64-softmmu/qemu-system-aarch64
>>>> ../migration/colo.o: In function `qmp_query_xen_replication_status':
>>>> /home/brogers/osr/git/qemu/migration/colo.c:181: undefined reference
>>>> to `replication_get_error_all'
>>>> ../migration/colo.o: In function `qmp_xen_set_replication':
>>>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference
>>>> to `replication_stop_all'
>>>> /home/brogers/osr/git/qemu/migration/colo.c:172: undefined reference
>>>> to `replication_stop_all'
>>>> /home/brogers/osr/git/qemu/migration/colo.c:167: undefined reference
>>>> to `replication_start_all'
>>>> ../migration/colo.o: In function `qmp_xen_colo_do_checkpoint':
>>>> /home/brogers/osr/git/qemu/migration/colo.c:196: undefined reference
>>>> to `replication_do_checkpoint_all'
>>>> collect2: error: ld returned 1 exit status
>>>> make[1]: *** [Makefile:208: qemu-system-aarch64] Error 1
>>>> make: *** [Makefile:322: subdir-aarch64-softmmu] Error 2
>>> We should fix that.
>> COLO needs replication enable.
>> So, should I add a new option enable/disable COLO ?
>> Then, If you disable replication, colo will be disabled automatically.
>> Like that:
>> # ./configure --disable-colo
> Then I would just define --enable-colo/--disable-colo which includes
> replication, the network filter and everything else.
OK, I'm happy to hear that.
Thanks
Zhang Chen
>
> Paolo
>
>
> .
>
--
Thanks
Zhang Chen
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2017-03-07 3:50 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-02 15:05 [Qemu-devel] [RFC PATCH] configure: remove --enable-replication/--disable-replication Paolo Bonzini
2017-02-02 15:15 ` Dr. David Alan Gilbert
2017-02-03 15:00 ` Stefan Hajnoczi
2017-02-03 17:08 ` Paolo Bonzini
2017-02-06 11:57 ` Dr. David Alan Gilbert
2017-03-03 20:34 ` Bruce Rogers
2017-03-03 21:26 ` Paolo Bonzini
2017-03-06 9:08 ` Dr. David Alan Gilbert
2017-03-06 10:03 ` Zhang Chen
2017-03-06 12:54 ` Paolo Bonzini
2017-03-07 3:50 ` Zhang Chen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.