From: elena.ufimtseva@oracle.com
To: qemu-devel@nongnu.org
Cc: elena.ufimtseva@oracle.com, fam@euphon.net,
swapnil.ingle@nutanix.com, john.g.johnson@oracle.com,
kraxel@redhat.com, jag.raman@oracle.com, quintela@redhat.com,
mst@redhat.com, armbru@redhat.com, kanth.ghatraju@oracle.com,
felipe@nutanix.com, thuth@redhat.com, ehabkost@redhat.com,
konrad.wilk@oracle.com, dgilbert@redhat.com,
alex.williamson@redhat.com, stefanha@redhat.com,
thanos.makatos@nutanix.com, kwolf@redhat.com,
berrange@redhat.com, mreitz@redhat.com,
ross.lagerwall@citrix.com, marcandre.lureau@gmail.com,
pbonzini@redhat.com
Subject: [PATCH v14 RESEND 05/21] multi-process: Add config option for multi-process QEMU
Date: Thu, 17 Dec 2020 21:40:35 -0800 [thread overview]
Message-ID: <2d3d49762902c17d62d27f0c65cc3eb60611e3c8.1608263018.git.elena.ufimtseva@oracle.com> (raw)
In-Reply-To: <cover.1608263017.git.elena.ufimtseva@oracle.com>
From: Jagannathan Raman <jag.raman@oracle.com>
Add configuration options to enable or disable multiprocess QEMU code
Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com>
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
---
configure | 10 ++++++++++
meson.build | 2 ++
Kconfig.host | 4 ++++
hw/Kconfig | 1 +
hw/remote/Kconfig | 3 +++
5 files changed, 20 insertions(+)
create mode 100644 hw/remote/Kconfig
diff --git a/configure b/configure
index c228f7c21e..9c14c482ac 100755
--- a/configure
+++ b/configure
@@ -451,6 +451,7 @@ skip_meson=no
gettext=""
fuse="auto"
fuse_lseek="auto"
+multiprocess="no"
bogus_os="no"
malloc_trim="auto"
@@ -799,6 +800,7 @@ Linux)
linux="yes"
linux_user="yes"
vhost_user="yes"
+ multiprocess="yes"
;;
esac
@@ -1535,6 +1537,10 @@ for opt do
;;
--disable-fuse-lseek) fuse_lseek="disabled"
;;
+ --enable-multiprocess) multiprocess="yes"
+ ;;
+ --disable-multiprocess) multiprocess="no"
+ ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1862,6 +1868,7 @@ disabled with --disable-FEATURE, default is enabled if available:
libdaxctl libdaxctl support
fuse FUSE block device export
fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports
+ multiprocess Multiprocess QEMU support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -6644,6 +6651,9 @@ fi
if test "$have_mlockall" = "yes" ; then
echo "HAVE_MLOCKALL=y" >> $config_host_mak
fi
+if test "$multiprocess" = "yes" ; then
+ echo "CONFIG_MULTIPROCESS_ALLOWED=y" >> $config_host_mak
+fi
if test "$fuzzing" = "yes" ; then
# If LIB_FUZZING_ENGINE is set, assume we are running on OSS-Fuzz, and the
# needed CFLAGS have already been provided
diff --git a/meson.build b/meson.build
index fba6413056..39df2337d3 100644
--- a/meson.build
+++ b/meson.build
@@ -925,6 +925,7 @@ kconfig_external_symbols = [
'CONFIG_VIRTFS',
'CONFIG_LINUX',
'CONFIG_PVRDMA',
+ 'CONFIG_MULTIPROCESS_ALLOWED',
]
ignored = [ 'TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_ARCH' ]
@@ -2239,6 +2240,7 @@ summary_info += {'rng-none': config_host.has_key('CONFIG_RNG_NONE')}
summary_info += {'Linux keyring': config_host.has_key('CONFIG_SECRET_KEYRING')}
summary_info += {'FUSE exports': fuse.found()}
summary_info += {'FUSE lseek': fuse_lseek.found()}
+summary_info += {'Multiprocess QEMU': config_host.has_key('CONFIG_MULTIPROCESS_ALLOWED')}
summary(summary_info, bool_yn: true)
if not supported_cpus.contains(cpu)
diff --git a/Kconfig.host b/Kconfig.host
index a9a55a9c31..24255ef441 100644
--- a/Kconfig.host
+++ b/Kconfig.host
@@ -37,3 +37,7 @@ config VIRTFS
config PVRDMA
bool
+
+config MULTIPROCESS_ALLOWED
+ bool
+ imply MULTIPROCESS
diff --git a/hw/Kconfig b/hw/Kconfig
index 5ad3c6b5a4..525fb52506 100644
--- a/hw/Kconfig
+++ b/hw/Kconfig
@@ -27,6 +27,7 @@ source pci-host/Kconfig
source pcmcia/Kconfig
source pci/Kconfig
source rdma/Kconfig
+source remote/Kconfig
source rtc/Kconfig
source scsi/Kconfig
source sd/Kconfig
diff --git a/hw/remote/Kconfig b/hw/remote/Kconfig
new file mode 100644
index 0000000000..54844467a0
--- /dev/null
+++ b/hw/remote/Kconfig
@@ -0,0 +1,3 @@
+config MULTIPROCESS
+ bool
+ depends on PCI && KVM
--
2.25.GIT
next prev parent reply other threads:[~2020-12-18 5:48 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-18 3:57 [PATCH v14 00/21] Initial support for multi-process Qemu elena.ufimtseva
2020-12-18 3:57 ` [PATCH v14 01/21] multi-process: add the concept description to docs/devel/qemu-multiprocess elena.ufimtseva
2020-12-18 5:20 ` [PATCH v14 RESEND " elena.ufimtseva
2020-12-18 3:57 ` [PATCH v14 02/21] multi-process: add configure and usage information elena.ufimtseva
2020-12-18 5:20 ` [PATCH v14 RESEND " elena.ufimtseva
2020-12-18 3:57 ` [PATCH v14 03/21] memory: alloc RAM from file at offset elena.ufimtseva
2020-12-18 5:20 ` [PATCH v14 RESEND " elena.ufimtseva
2020-12-18 3:57 ` [PATCH v14 04/21] socket: export socket_get_fd() function elena.ufimtseva
2020-12-18 5:20 ` [PATCH v14 RESEND " elena.ufimtseva
2020-12-18 11:39 ` [PATCH v14 " Marc-André Lureau
2020-12-18 5:19 ` [PATCH v14 00/21] Initial support for multi-process Qemu Elena Ufimtseva
2020-12-18 5:20 ` [PATCH v14 RESEND " elena.ufimtseva
2020-12-18 5:40 ` elena.ufimtseva [this message]
2020-12-22 10:22 ` [PATCH v14 RESEND 05/21] multi-process: Add config option for multi-process QEMU Stefan Hajnoczi
2020-12-18 5:40 ` [PATCH v14 RESEND 06/21] multi-process: setup PCI host bridge for remote device elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 07/21] multi-process: setup a machine object for remote device process elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 08/21] multi-process: add qio channel write function elena.ufimtseva
2020-12-22 10:24 ` Stefan Hajnoczi
2020-12-18 5:40 ` [PATCH v14 RESEND 09/21] multi-process: add qio channel read function elena.ufimtseva
2020-12-22 10:29 ` Stefan Hajnoczi
2020-12-18 5:40 ` [PATCH v14 RESEND 10/21] multi-process: define MPQemuMsg format and transmission functions elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 11/21] multi-process: Initialize message handler in remote device elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 12/21] multi-process: Associate fd of a PCIDevice with its object elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 13/21] multi-process: setup memory manager for remote device elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 14/21] multi-process: introduce proxy object elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 15/21] multi-process: add proxy communication functions elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 16/21] multi-process: Forward PCI config space acceses to the remote process elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 17/21] multi-process: PCI BAR read/write handling for proxy & remote endpoints elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 18/21] multi-process: Synchronize remote memory elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 19/21] multi-process: create IOHUB object to handle irq elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 20/21] multi-process: Retrieve PCI info from remote process elena.ufimtseva
2020-12-18 5:40 ` [PATCH v14 RESEND 21/21] multi-process: perform device reset in the " elena.ufimtseva
2020-12-22 10:38 ` [PATCH v14 00/21] Initial support for multi-process Qemu Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2d3d49762902c17d62d27f0c65cc3eb60611e3c8.1608263018.git.elena.ufimtseva@oracle.com \
--to=elena.ufimtseva@oracle.com \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=dgilbert@redhat.com \
--cc=ehabkost@redhat.com \
--cc=fam@euphon.net \
--cc=felipe@nutanix.com \
--cc=jag.raman@oracle.com \
--cc=john.g.johnson@oracle.com \
--cc=kanth.ghatraju@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=marcandre.lureau@gmail.com \
--cc=mreitz@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=ross.lagerwall@citrix.com \
--cc=stefanha@redhat.com \
--cc=swapnil.ingle@nutanix.com \
--cc=thanos.makatos@nutanix.com \
--cc=thuth@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).