* [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson
@ 2020-09-16 8:06 Paolo Bonzini
2020-09-16 8:58 ` Stefan Hajnoczi
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Paolo Bonzini @ 2020-09-16 8:06 UTC (permalink / raw)
To: qemu-devel; +Cc: Stefan Hajnoczi
Because LIBS is not used anymore, tcmalloc/jemalloc does
not work with binaries whose description is in Meson.
The fix is simply to move them to Meson too.
For consistency with other configure options, specifying
--enable-malloc-trim together with --enable-{tc,je}malloc
becomes a fatal error.
Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 84 +++++------------------------------------------
meson.build | 28 +++++++++++++---
meson_options.txt | 5 +++
3 files changed, 38 insertions(+), 79 deletions(-)
diff --git a/configure b/configure
index ce27eafb0a..13f53ba231 100755
--- a/configure
+++ b/configure
@@ -540,7 +540,7 @@ skip_meson=no
gettext=""
bogus_os="no"
-malloc_trim=""
+malloc_trim="auto"
deprecated_features=""
@@ -1222,9 +1222,9 @@ for opt do
;;
--enable-tcg) tcg="yes"
;;
- --disable-malloc-trim) malloc_trim="no"
+ --disable-malloc-trim) malloc_trim="disabled"
;;
- --enable-malloc-trim) malloc_trim="yes"
+ --enable-malloc-trim) malloc_trim="enabled"
;;
--disable-spice) spice="no"
;;
@@ -4428,77 +4428,14 @@ EOF
fi
fi
+malloc=system
if test "$tcmalloc" = "yes" && test "$jemalloc" = "yes" ; then
echo "ERROR: tcmalloc && jemalloc can't be used at the same time"
exit 1
-fi
-
-# Even if malloc_trim() is available, these non-libc memory allocators
-# do not support it.
-if test "$tcmalloc" = "yes" || test "$jemalloc" = "yes" ; then
- if test "$malloc_trim" = "yes" ; then
- echo "Disabling malloc_trim with non-libc memory allocator"
- fi
- malloc_trim="no"
-fi
-
-#######################################
-# malloc_trim
-
-if test "$malloc_trim" != "no" ; then
- cat > $TMPC << EOF
-#include <malloc.h>
-int main(void) { malloc_trim(0); return 0; }
-EOF
- if compile_prog "" "" ; then
- malloc_trim="yes"
- else
- malloc_trim="no"
- fi
-fi
-
-##########################################
-# tcmalloc probe
-
-if test "$tcmalloc" = "yes" ; then
- cat > $TMPC << EOF
-#include <stdlib.h>
-int main(void) {
- void *tmp = malloc(1);
- if (tmp != NULL) {
- return 0;
- }
- return 1;
-}
-EOF
-
- if compile_prog "" "-ltcmalloc" ; then
- LIBS="-ltcmalloc $LIBS"
- else
- feature_not_found "tcmalloc" "install gperftools devel"
- fi
-fi
-
-##########################################
-# jemalloc probe
-
-if test "$jemalloc" = "yes" ; then
- cat > $TMPC << EOF
-#include <stdlib.h>
-int main(void) {
- void *tmp = malloc(1);
- if (tmp != NULL) {
- return 0;
- }
- return 1;
-}
-EOF
-
- if compile_prog "" "-ljemalloc" ; then
- LIBS="-ljemalloc $LIBS"
- else
- feature_not_found "jemalloc" "install jemalloc devel"
- fi
+elif test "$tcmalloc" = "yes" ; then
+ malloc=tcmalloc
+elif test "$jemalloc" = "yes" ; then
+ malloc=jemalloc
fi
##########################################
@@ -7023,10 +6960,6 @@ if test "$gbm" = "yes" ; then
fi
-if test "$malloc_trim" = "yes" ; then
- echo "CONFIG_MALLOC_TRIM=y" >> $config_host_mak
-fi
-
if test "$avx2_opt" = "yes" ; then
echo "CONFIG_AVX2_OPT=y" >> $config_host_mak
fi
@@ -8003,6 +7936,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
-Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo false; fi) \
-Db_pie=$(if test "$pie" = yes; then echo true; else echo false; fi) \
-Db_coverage=$(if test "$gcov" = yes; then echo true; else echo false; fi) \
+ -Dmalloc=$malloc -Dmalloc_trim=$malloc_trim \
-Dsdl=$sdl -Dsdl_image=$sdl_image \
-Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg -Dvnc_png=$vnc_png \
-Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f\
diff --git a/meson.build b/meson.build
index bba766b4bc..d3b1e5c34c 100644
--- a/meson.build
+++ b/meson.build
@@ -439,6 +439,26 @@ keyutils = dependency('libkeyutils', required: false,
has_gettid = cc.has_function('gettid')
+# Malloc tests
+
+malloc = []
+if get_option('malloc') == 'system'
+ has_malloc_trim = \
+ not get_option('malloc_trim').disabled() and \
+ cc.compiles('''#include <malloc.h>
+ int main(void) { malloc_trim(0); return 0; }''')
+else
+ has_malloc_trim = false
+ malloc = cc.find_library(get_option('malloc'), required: true)
+endif
+if not has_malloc_trim and get_option('malloc_trim').enabled()
+ if get_option('malloc') == 'system'
+ error('malloc_trim not available on this platform.')
+ else
+ error('malloc_trim not available with non-libc memory allocator')
+ endif
+endif
+
# Create config-host.h
config_host_data.set('CONFIG_SDL', sdl.found())
@@ -450,6 +470,7 @@ config_host_data.set('CONFIG_VNC_SASL', sasl.found())
config_host_data.set('CONFIG_XKBCOMMON', xkbcommon.found())
config_host_data.set('CONFIG_KEYUTILS', keyutils.found())
config_host_data.set('CONFIG_GETTID', has_gettid)
+config_host_data.set('CONFIG_MALLOC_TRIM', has_malloc_trim)
config_host_data.set('QEMU_VERSION', '"@0@"'.format(meson.project_version()))
config_host_data.set('QEMU_VERSION_MAJOR', meson.project_version().split('.')[0])
config_host_data.set('QEMU_VERSION_MINOR', meson.project_version().split('.')[1])
@@ -818,7 +839,7 @@ util_ss.add_all(trace_ss)
util_ss = util_ss.apply(config_all, strict: false)
libqemuutil = static_library('qemuutil',
sources: util_ss.sources() + stub_ss.sources() + genh,
- dependencies: [util_ss.dependencies(), m, glib, socket])
+ dependencies: [util_ss.dependencies(), m, glib, socket, malloc])
qemuutil = declare_dependency(link_with: libqemuutil,
sources: genh + version_res)
@@ -1442,7 +1463,7 @@ summary_info += {'Install blobs': config_host.has_key('INSTALL_BLOBS')}
# summary_info += {'TCG debug enabled': config_host.has_key('CONFIG_DEBUG_TCG')}
# summary_info += {'TCG interpreter': config_host.has_key('CONFIG_TCG_INTERPRETER')}
#endif
-summary_info += {'malloc trim support': config_host.has_key('CONFIG_MALLOC_TRIM')}
+summary_info += {'malloc trim support': has_malloc_trim}
summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')}
summary_info += {'PVRDMA support': config_host.has_key('CONFIG_PVRDMA')}
summary_info += {'fdt support': config_host.has_key('CONFIG_FDT')}
@@ -1504,8 +1525,7 @@ summary_info += {'lzfse support': config_host.has_key('CONFIG_LZFSE')}
summary_info += {'zstd support': config_host.has_key('CONFIG_ZSTD')}
summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')}
summary_info += {'libxml2': config_host.has_key('CONFIG_LIBXML2')}
-summary_info += {'tcmalloc support': config_host.has_key('CONFIG_TCMALLOC')}
-summary_info += {'jemalloc support': config_host.has_key('CONFIG_JEMALLOC')}
+summary_info += {'memory allocator': get_option('malloc')}
summary_info += {'avx2 optimization': config_host.has_key('CONFIG_AVX2_OPT')}
summary_info += {'avx512f optimization': config_host.has_key('CONFIG_AVX512F_OPT')}
summary_info += {'replication support': config_host.has_key('CONFIG_REPLICATION')}
diff --git a/meson_options.txt b/meson_options.txt
index 543cf70043..894e006799 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -6,6 +6,11 @@ option('docdir', type : 'string', value : 'doc',
option('gettext', type : 'boolean', value : true,
description: 'Localization of the GTK+ user interface')
+option('malloc_trim', type : 'feature', value : 'auto',
+ description: 'enable libc malloc_trim() for memory optimization')
+option('malloc', type : 'combo', choices : ['system', 'tcmalloc', 'jemalloc'],
+ value: 'system', description: 'choose memory allocator to use')
+
option('sdl', type : 'feature', value : 'auto',
description: 'SDL user interface')
option('sdl_image', type : 'feature', value : 'auto',
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson
2020-09-16 8:06 [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson Paolo Bonzini
@ 2020-09-16 8:58 ` Stefan Hajnoczi
2020-09-16 16:01 ` Richard Henderson
2020-09-18 12:55 ` 罗勇刚(Yonggang Luo)
2 siblings, 0 replies; 5+ messages in thread
From: Stefan Hajnoczi @ 2020-09-16 8:58 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 758 bytes --]
On Wed, Sep 16, 2020 at 04:06:08AM -0400, Paolo Bonzini wrote:
> Because LIBS is not used anymore, tcmalloc/jemalloc does
> not work with binaries whose description is in Meson.
> The fix is simply to move them to Meson too.
>
> For consistency with other configure options, specifying
> --enable-malloc-trim together with --enable-{tc,je}malloc
> becomes a fatal error.
>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> configure | 84 +++++------------------------------------------
> meson.build | 28 +++++++++++++---
> meson_options.txt | 5 +++
> 3 files changed, 38 insertions(+), 79 deletions(-)
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson
2020-09-16 8:06 [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson Paolo Bonzini
2020-09-16 8:58 ` Stefan Hajnoczi
@ 2020-09-16 16:01 ` Richard Henderson
2020-09-18 12:55 ` 罗勇刚(Yonggang Luo)
2 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2020-09-16 16:01 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel; +Cc: Stefan Hajnoczi
On 9/16/20 1:06 AM, Paolo Bonzini wrote:
> Because LIBS is not used anymore, tcmalloc/jemalloc does
> not work with binaries whose description is in Meson.
> The fix is simply to move them to Meson too.
>
> For consistency with other configure options, specifying
> --enable-malloc-trim together with --enable-{tc,je}malloc
> becomes a fatal error.
>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> configure | 84 +++++------------------------------------------
> meson.build | 28 +++++++++++++---
> meson_options.txt | 5 +++
> 3 files changed, 38 insertions(+), 79 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson
2020-09-16 8:06 [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson Paolo Bonzini
2020-09-16 8:58 ` Stefan Hajnoczi
2020-09-16 16:01 ` Richard Henderson
@ 2020-09-18 12:55 ` 罗勇刚(Yonggang Luo)
2020-09-18 13:20 ` Paolo Bonzini
2 siblings, 1 reply; 5+ messages in thread
From: 罗勇刚(Yonggang Luo) @ 2020-09-18 12:55 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: qemu-level, Stefan Hajnoczi
[-- Attachment #1: Type: text/plain, Size: 9001 bytes --]
On Wed, Sep 16, 2020 at 4:07 PM Paolo Bonzini <pbonzini@redhat.com> wrote:
>
> Because LIBS is not used anymore, tcmalloc/jemalloc does
> not work with binaries whose description is in Meson.
> The fix is simply to move them to Meson too.
>
> For consistency with other configure options, specifying
> --enable-malloc-trim together with --enable-{tc,je}malloc
> becomes a fatal error.
>
> Reported-by: Stefan Hajnoczi <stefanha@redhat.com>
> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
> ---
> configure | 84 +++++------------------------------------------
> meson.build | 28 +++++++++++++---
> meson_options.txt | 5 +++
> 3 files changed, 38 insertions(+), 79 deletions(-)
>
> diff --git a/configure b/configure
> index ce27eafb0a..13f53ba231 100755
> --- a/configure
> +++ b/configure
> @@ -540,7 +540,7 @@ skip_meson=no
> gettext=""
>
> bogus_os="no"
> -malloc_trim=""
> +malloc_trim="auto"
>
> deprecated_features=""
>
> @@ -1222,9 +1222,9 @@ for opt do
> ;;
> --enable-tcg) tcg="yes"
> ;;
> - --disable-malloc-trim) malloc_trim="no"
> + --disable-malloc-trim) malloc_trim="disabled"
> ;;
> - --enable-malloc-trim) malloc_trim="yes"
> + --enable-malloc-trim) malloc_trim="enabled"
> ;;
> --disable-spice) spice="no"
> ;;
> @@ -4428,77 +4428,14 @@ EOF
> fi
> fi
>
> +malloc=system
> if test "$tcmalloc" = "yes" && test "$jemalloc" = "yes" ; then
> echo "ERROR: tcmalloc && jemalloc can't be used at the same time"
> exit 1
> -fi
This patch looks good for me, but I still have a small advice than move
thse judgement from
configure to meson, because finally they need to be converted.
and getting tcmalloc / jemalloc to be "enabled" "disabled" for consistence
> -
> -# Even if malloc_trim() is available, these non-libc memory allocators
> -# do not support it.
> -if test "$tcmalloc" = "yes" || test "$jemalloc" = "yes" ; then
> - if test "$malloc_trim" = "yes" ; then
> - echo "Disabling malloc_trim with non-libc memory allocator"
> - fi
> - malloc_trim="no"
> -fi
> -
> -#######################################
> -# malloc_trim
> -
> -if test "$malloc_trim" != "no" ; then
> - cat > $TMPC << EOF
> -#include <malloc.h>
> -int main(void) { malloc_trim(0); return 0; }
> -EOF
> - if compile_prog "" "" ; then
> - malloc_trim="yes"
> - else
> - malloc_trim="no"
> - fi
> -fi
> -
> -##########################################
> -# tcmalloc probe
> -
> -if test "$tcmalloc" = "yes" ; then
> - cat > $TMPC << EOF
> -#include <stdlib.h>
> -int main(void) {
> - void *tmp = malloc(1);
> - if (tmp != NULL) {
> - return 0;
> - }
> - return 1;
> -}
> -EOF
> -
> - if compile_prog "" "-ltcmalloc" ; then
> - LIBS="-ltcmalloc $LIBS"
> - else
> - feature_not_found "tcmalloc" "install gperftools devel"
> - fi
> -fi
> -
> -##########################################
> -# jemalloc probe
> -
> -if test "$jemalloc" = "yes" ; then
> - cat > $TMPC << EOF
> -#include <stdlib.h>
> -int main(void) {
> - void *tmp = malloc(1);
> - if (tmp != NULL) {
> - return 0;
> - }
> - return 1;
> -}
> -EOF
> -
> - if compile_prog "" "-ljemalloc" ; then
> - LIBS="-ljemalloc $LIBS"
> - else
> - feature_not_found "jemalloc" "install jemalloc devel"
> - fi
> +elif test "$tcmalloc" = "yes" ; then
> + malloc=tcmalloc
> +elif test "$jemalloc" = "yes" ; then
> + malloc=jemalloc
> fi
>
> ##########################################
> @@ -7023,10 +6960,6 @@ if test "$gbm" = "yes" ; then
> fi
>
>
> -if test "$malloc_trim" = "yes" ; then
> - echo "CONFIG_MALLOC_TRIM=y" >> $config_host_mak
> -fi
> -
> if test "$avx2_opt" = "yes" ; then
> echo "CONFIG_AVX2_OPT=y" >> $config_host_mak
> fi
> @@ -8003,6 +7936,7 @@ NINJA=${ninja:-$PWD/ninjatool} $meson setup \
> -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo
false; fi) \
> -Db_pie=$(if test "$pie" = yes; then echo true; else echo false;
fi) \
> -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo
false; fi) \
> + -Dmalloc=$malloc -Dmalloc_trim=$malloc_trim \
> -Dsdl=$sdl -Dsdl_image=$sdl_image \
> -Dvnc=$vnc -Dvnc_sasl=$vnc_sasl -Dvnc_jpeg=$vnc_jpeg
-Dvnc_png=$vnc_png \
> -Dgettext=$gettext -Dxkbcommon=$xkbcommon -Du2f=$u2f\
> diff --git a/meson.build b/meson.build
> index bba766b4bc..d3b1e5c34c 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -439,6 +439,26 @@ keyutils = dependency('libkeyutils', required: false,
>
> has_gettid = cc.has_function('gettid')
>
> +# Malloc tests
> +
> +malloc = []
> +if get_option('malloc') == 'system'
> + has_malloc_trim = \
> + not get_option('malloc_trim').disabled() and \
> + cc.compiles('''#include <malloc.h>
> + int main(void) { malloc_trim(0); return 0; }''')
> +else
> + has_malloc_trim = false
> + malloc = cc.find_library(get_option('malloc'), required: true)
> +endif
> +if not has_malloc_trim and get_option('malloc_trim').enabled()
> + if get_option('malloc') == 'system'
> + error('malloc_trim not available on this platform.')
> + else
> + error('malloc_trim not available with non-libc memory allocator')
> + endif
> +endif
> +
> # Create config-host.h
>
> config_host_data.set('CONFIG_SDL', sdl.found())
> @@ -450,6 +470,7 @@ config_host_data.set('CONFIG_VNC_SASL', sasl.found())
> config_host_data.set('CONFIG_XKBCOMMON', xkbcommon.found())
> config_host_data.set('CONFIG_KEYUTILS', keyutils.found())
> config_host_data.set('CONFIG_GETTID', has_gettid)
> +config_host_data.set('CONFIG_MALLOC_TRIM', has_malloc_trim)
> config_host_data.set('QEMU_VERSION', '"@0@
"'.format(meson.project_version()))
> config_host_data.set('QEMU_VERSION_MAJOR',
meson.project_version().split('.')[0])
> config_host_data.set('QEMU_VERSION_MINOR',
meson.project_version().split('.')[1])
> @@ -818,7 +839,7 @@ util_ss.add_all(trace_ss)
> util_ss = util_ss.apply(config_all, strict: false)
> libqemuutil = static_library('qemuutil',
> sources: util_ss.sources() +
stub_ss.sources() + genh,
> - dependencies: [util_ss.dependencies(), m,
glib, socket])
> + dependencies: [util_ss.dependencies(), m,
glib, socket, malloc])
> qemuutil = declare_dependency(link_with: libqemuutil,
> sources: genh + version_res)
>
> @@ -1442,7 +1463,7 @@ summary_info += {'Install blobs':
config_host.has_key('INSTALL_BLOBS')}
> # summary_info += {'TCG debug enabled':
config_host.has_key('CONFIG_DEBUG_TCG')}
> # summary_info += {'TCG interpreter':
config_host.has_key('CONFIG_TCG_INTERPRETER')}
> #endif
> -summary_info += {'malloc trim support':
config_host.has_key('CONFIG_MALLOC_TRIM')}
> +summary_info += {'malloc trim support': has_malloc_trim}
> summary_info += {'RDMA support': config_host.has_key('CONFIG_RDMA')}
> summary_info += {'PVRDMA support':
config_host.has_key('CONFIG_PVRDMA')}
> summary_info += {'fdt support': config_host.has_key('CONFIG_FDT')}
> @@ -1504,8 +1525,7 @@ summary_info += {'lzfse support':
config_host.has_key('CONFIG_LZFSE')}
> summary_info += {'zstd support': config_host.has_key('CONFIG_ZSTD')}
> summary_info += {'NUMA host support': config_host.has_key('CONFIG_NUMA')}
> summary_info += {'libxml2':
config_host.has_key('CONFIG_LIBXML2')}
> -summary_info += {'tcmalloc support':
config_host.has_key('CONFIG_TCMALLOC')}
> -summary_info += {'jemalloc support':
config_host.has_key('CONFIG_JEMALLOC')}
> +summary_info += {'memory allocator': get_option('malloc')}
> summary_info += {'avx2 optimization':
config_host.has_key('CONFIG_AVX2_OPT')}
> summary_info += {'avx512f optimization':
config_host.has_key('CONFIG_AVX512F_OPT')}
> summary_info += {'replication support':
config_host.has_key('CONFIG_REPLICATION')}
> diff --git a/meson_options.txt b/meson_options.txt
> index 543cf70043..894e006799 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -6,6 +6,11 @@ option('docdir', type : 'string', value : 'doc',
> option('gettext', type : 'boolean', value : true,
> description: 'Localization of the GTK+ user interface')
>
> +option('malloc_trim', type : 'feature', value : 'auto',
> + description: 'enable libc malloc_trim() for memory optimization')
> +option('malloc', type : 'combo', choices : ['system', 'tcmalloc',
'jemalloc'],
> + value: 'system', description: 'choose memory allocator to use')
> +
> option('sdl', type : 'feature', value : 'auto',
> description: 'SDL user interface')
> option('sdl_image', type : 'feature', value : 'auto',
> --
> 2.26.2
>
>
--
此致
礼
罗勇刚
Yours
sincerely,
Yonggang Luo
[-- Attachment #2: Type: text/html, Size: 12103 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson
2020-09-18 12:55 ` 罗勇刚(Yonggang Luo)
@ 2020-09-18 13:20 ` Paolo Bonzini
0 siblings, 0 replies; 5+ messages in thread
From: Paolo Bonzini @ 2020-09-18 13:20 UTC (permalink / raw)
To: luoyonggang; +Cc: qemu-level, Stefan Hajnoczi
On 18/09/20 14:55, 罗勇刚(Yonggang Luo) wrote:
>
>> if test "$tcmalloc" = "yes" && test "$jemalloc" = "yes" ; then
>> echo "ERROR: tcmalloc && jemalloc can't be used at the same time"
>> exit 1
>> -fi
> This patch looks good for me, but I still have a small advice than move
> thse judgement from
> configure to meson, because finally they need to be converted.
> and getting tcmalloc / jemalloc to be "enabled" "disabled" for consistence
>
This error cannot apply to meson.build because it uses a single
multi-choice option "-Dmalloc=system|tcmalloc|jemalloc".
Paolo
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-09-18 13:24 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-16 8:06 [PATCH] configure: move malloc_trim/tcmalloc/jemalloc to meson Paolo Bonzini
2020-09-16 8:58 ` Stefan Hajnoczi
2020-09-16 16:01 ` Richard Henderson
2020-09-18 12:55 ` 罗勇刚(Yonggang Luo)
2020-09-18 13:20 ` Paolo Bonzini
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.