Skip to content

Commit 3090de6

Browse files
jraman567stefanhaRH
authored andcommitted
multi-process: Add config option for multi-process QEMU
Add configuration options to enable or disable multiprocess QEMU code Signed-off-by: John G Johnson <[email protected]> Signed-off-by: Jagannathan Raman <[email protected]> Signed-off-by: Elena Ufimtseva <[email protected]> Reviewed-by: Stefan Hajnoczi <[email protected]> Message-id: 6cc37253e35418ebd7b675a31a3df6e3c7a12dc1.1611938319.git.jag.raman@oracle.com Signed-off-by: Stefan Hajnoczi <[email protected]>
1 parent 44a4ff3 commit 3090de6

File tree

5 files changed

+21
-1
lines changed

5 files changed

+21
-1
lines changed

Kconfig.host

+4
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,7 @@ config VIRTFS
3737

3838
config PVRDMA
3939
bool
40+
41+
config MULTIPROCESS_ALLOWED
42+
bool
43+
imply MULTIPROCESS

configure

+10
Original file line numberDiff line numberDiff line change
@@ -463,6 +463,7 @@ skip_meson=no
463463
gettext="auto"
464464
fuse="auto"
465465
fuse_lseek="auto"
466+
multiprocess="no"
466467

467468
malloc_trim="auto"
468469

@@ -797,6 +798,7 @@ Linux)
797798
linux="yes"
798799
linux_user="yes"
799800
vhost_user=${default_feature:-yes}
801+
multiprocess=${default_feature:-yes}
800802
;;
801803
esac
802804

@@ -1556,6 +1558,10 @@ for opt do
15561558
;;
15571559
--disable-fuse-lseek) fuse_lseek="disabled"
15581560
;;
1561+
--enable-multiprocess) multiprocess="yes"
1562+
;;
1563+
--disable-multiprocess) multiprocess="no"
1564+
;;
15591565
*)
15601566
echo "ERROR: unknown option $opt"
15611567
echo "Try '$0 --help' for more information"
@@ -1908,6 +1914,7 @@ disabled with --disable-FEATURE, default is enabled if available
19081914
libdaxctl libdaxctl support
19091915
fuse FUSE block device export
19101916
fuse-lseek SEEK_HOLE/SEEK_DATA support for FUSE exports
1917+
multiprocess Multiprocess QEMU support
19111918
19121919
NOTE: The object files are built at the place where configure is launched
19131920
EOF
@@ -6082,6 +6089,9 @@ fi
60826089
if test "$have_mlockall" = "yes" ; then
60836090
echo "HAVE_MLOCKALL=y" >> $config_host_mak
60846091
fi
6092+
if test "$multiprocess" = "yes" ; then
6093+
echo "CONFIG_MULTIPROCESS_ALLOWED=y" >> $config_host_mak
6094+
fi
60856095
if test "$fuzzing" = "yes" ; then
60866096
# If LIB_FUZZING_ENGINE is set, assume we are running on OSS-Fuzz, and the
60876097
# needed CFLAGS have already been provided

hw/Kconfig

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ source pci-host/Kconfig
2727
source pcmcia/Kconfig
2828
source pci/Kconfig
2929
source rdma/Kconfig
30+
source remote/Kconfig
3031
source rtc/Kconfig
3132
source scsi/Kconfig
3233
source sd/Kconfig

hw/remote/Kconfig

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
config MULTIPROCESS
2+
bool
3+
depends on PCI && KVM

meson.build

+3-1
Original file line numberDiff line numberDiff line change
@@ -1226,7 +1226,8 @@ host_kconfig = \
12261226
('CONFIG_VHOST_KERNEL' in config_host ? ['CONFIG_VHOST_KERNEL=y'] : []) + \
12271227
(have_virtfs ? ['CONFIG_VIRTFS=y'] : []) + \
12281228
('CONFIG_LINUX' in config_host ? ['CONFIG_LINUX=y'] : []) + \
1229-
('CONFIG_PVRDMA' in config_host ? ['CONFIG_PVRDMA=y'] : [])
1229+
('CONFIG_PVRDMA' in config_host ? ['CONFIG_PVRDMA=y'] : []) + \
1230+
('CONFIG_MULTIPROCESS_ALLOWED' in config_host ? ['CONFIG_MULTIPROCESS_ALLOWED=y'] : [])
12301231

12311232
ignored = [ 'TARGET_XML_FILES', 'TARGET_ABI_DIR', 'TARGET_ARCH' ]
12321233

@@ -2652,6 +2653,7 @@ summary_info += {'libpmem support': config_host.has_key('CONFIG_LIBPMEM')}
26522653
summary_info += {'libdaxctl support': config_host.has_key('CONFIG_LIBDAXCTL')}
26532654
summary_info += {'libudev': libudev.found()}
26542655
summary_info += {'FUSE lseek': fuse_lseek.found()}
2656+
summary_info += {'Multiprocess QEMU': config_host.has_key('CONFIG_MULTIPROCESS_ALLOWED')}
26552657
summary(summary_info, bool_yn: true, section: 'Dependencies')
26562658

26572659
if not supported_cpus.contains(cpu)

0 commit comments

Comments
 (0)