* [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27
@ 2015-04-29 8:35 Paolo Bonzini
2015-04-29 8:35 ` [Qemu-devel] [PULL v2 17/22] configure: Add support for tcmalloc Paolo Bonzini
2015-04-30 12:46 ` [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Paolo Bonzini @ 2015-04-29 8:35 UTC (permalink / raw)
To: qemu-devel
The following changes since commit e1a5476354d396773e4c555f126d752d4ae58fa9:
Open 2.4 development tree (2015-04-25 22:05:07 +0100)
are available in the git repository at:
git://github.com/bonzini/qemu.git tags/for-upstream
for you to fetch changes up to d064d9f381b00538e41f14104b88a1ae85d78865:
nbd/trivial: fix type cast for ioctl (2015-04-28 22:14:15 +0200)
----------------------------------------------------------------
- miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan)
- next part in the thread-safe address_space_* saga: atomic access
to the bounce buffer and the map_clients list, from Fam
- optional support for linking with tcmalloc, also from Fam
- reapplying Peter Crosthwaite's "Respect as_translate_internal
length clamp" after fixing the SPARC fallout.
- build system fix from Wei Liu
- small acpi-build and ioport cleanup by myself
----------------------------------------------------------------
Bogdan Purcareata (1):
nbd/trivial: fix type cast for ioctl
Emilio G. Cota (2):
translate-all: use glib for all page descriptor allocations
translate-all: use bitmap helpers for PageDesc's bitmap
Fam Zheng (6):
exec: Atomic access to bounce buffer
linux-user, bsd-user: Remove two calls to cpu_exec_init_all
exec: Protect map_client_list with mutex
exec: Notify cpu_register_map_client caller if the bounce buffer is available
dma-helpers: Fix race condition of continue_after_map_failure and dma_aio_cancel
configure: Add support for tcmalloc
Mark Cave-Ayland (1):
sun4m: fix slavio sysctrl and led register sizes
Nadav Amit (1):
target-i386: disable LINT0 after reset
Paolo Bonzini (9):
memory: add memory_region_ram_resize
acpi-build: remove dependency from ram_addr.h
sb16: remove useless mixer_write_indexw
gus: clean up MemoryRegionPortio
ide: there is only one data port
ioport: remove wrong comment
ioport: loosen assertions on emulation of 16-bit ports
ioport: reserve the whole range of an I/O port in the AddressSpace
milkymist: do not modify libs-softmmu
Peter Crosthwaite (1):
exec: Respect as_translate_internal length clamp
Wei Liu (1):
Makefile.target: prepend $libs_softmmu to $LIBS
Makefile.target | 2 +-
bsd-user/main.c | 1 -
configure | 24 ++++++++++++++
dma-helpers.c | 17 +++++-----
exec.c | 81 +++++++++++++++++++++++++++++------------------
hw/audio/gus.c | 20 +-----------
hw/audio/sb16.c | 7 ----
hw/core/loader.c | 8 ++---
hw/display/Makefile.objs | 2 +-
hw/i386/acpi-build.c | 36 ++++++++++-----------
hw/ide/core.c | 4 +--
hw/intc/apic_common.c | 9 ------
hw/misc/slavio_misc.c | 5 +--
include/exec/cpu-common.h | 3 +-
include/exec/memory.h | 12 +++++++
include/hw/loader.h | 8 +++--
ioport.c | 30 ++++++++++--------
linux-user/main.c | 1 -
memory.c | 7 ++++
nbd.c | 2 +-
translate-all.c | 60 +++++++----------------------------
21 files changed, 168 insertions(+), 171 deletions(-)
--
2.3.5
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PULL v2 17/22] configure: Add support for tcmalloc
2015-04-29 8:35 [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Paolo Bonzini
@ 2015-04-29 8:35 ` Paolo Bonzini
2015-04-30 12:46 ` [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Paolo Bonzini @ 2015-04-29 8:35 UTC (permalink / raw)
To: qemu-devel; +Cc: Fam Zheng
From: Fam Zheng <famz@redhat.com>
This adds "--enable-tcmalloc" and "--disable-tcmalloc" to allow linking
to libtcmalloc from gperftools.
tcmalloc is a malloc implementation that works well with threads and is
fast, so it is good for performance.
It is disabled by default, because the MALLOC_PERTURB_ flag we use in
tests doesn't work with tcmalloc. However we can enable tcmalloc
specific heap checker and profilers later.
An IOPS gain can be observed with virtio-blk-dataplane, other parts of
QEMU will directly benefit from it as well:
==========================================================
glibc malloc
----------------------------------------------------------
rw bs iodepth bw iops latency
read 4k 1 150 38511 24
----------------------------------------------------------
==========================================================
tcmalloc
----------------------------------------------------------
rw bs iodepth bw iops latency
read 4k 1 156 39969 23
----------------------------------------------------------
Signed-off-by: Fam Zheng <famz@redhat.com>
Message-Id: <1427338992-27057-1-git-send-email-famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
configure | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/configure b/configure
index 6969f6f..75a4def 100755
--- a/configure
+++ b/configure
@@ -336,6 +336,7 @@ libssh2=""
vhdx=""
quorum=""
numa=""
+tcmalloc="no"
# parse CC options first
for opt do
@@ -1134,6 +1135,10 @@ for opt do
;;
--enable-numa) numa="yes"
;;
+ --disable-tcmalloc) tcmalloc="no"
+ ;;
+ --enable-tcmalloc) tcmalloc="yes"
+ ;;
*)
echo "ERROR: unknown option $opt"
echo "Try '$0 --help' for more information"
@@ -1407,6 +1412,8 @@ Advanced options (experts only):
--enable-quorum enable quorum block filter support
--disable-numa disable libnuma support
--enable-numa enable libnuma support
+ --disable-tcmalloc disable tcmalloc support
+ --enable-tcmalloc enable tcmalloc support
NOTE: The object files are built at the place where configure is launched
EOF
@@ -3331,6 +3338,22 @@ EOF
fi
##########################################
+# tcmalloc probe
+
+if test "$tcmalloc" = "yes" ; then
+ cat > $TMPC << EOF
+#include <stdlib.h>
+int main(void) { malloc(1); return 0; }
+EOF
+
+ if compile_prog "" "-ltcmalloc" ; then
+ LIBS="-ltcmalloc $LIBS"
+ else
+ feature_not_found "tcmalloc" "install gperftools devel"
+ fi
+fi
+
+##########################################
# signalfd probe
signalfd="no"
cat > $TMPC << EOF
@@ -4441,6 +4464,7 @@ echo "lzo support $lzo"
echo "snappy support $snappy"
echo "bzip2 support $bzip2"
echo "NUMA host support $numa"
+echo "tcmalloc support $tcmalloc"
if test "$sdl_too_old" = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support"
--
2.3.5
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27
2015-04-29 8:35 [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Paolo Bonzini
2015-04-29 8:35 ` [Qemu-devel] [PULL v2 17/22] configure: Add support for tcmalloc Paolo Bonzini
@ 2015-04-30 12:46 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2015-04-30 12:46 UTC (permalink / raw)
To: Paolo Bonzini; +Cc: QEMU Developers
On 29 April 2015 at 09:35, Paolo Bonzini <pbonzini@redhat.com> wrote:
> The following changes since commit e1a5476354d396773e4c555f126d752d4ae58fa9:
>
> Open 2.4 development tree (2015-04-25 22:05:07 +0100)
>
> are available in the git repository at:
>
> git://github.com/bonzini/qemu.git tags/for-upstream
>
> for you to fetch changes up to d064d9f381b00538e41f14104b88a1ae85d78865:
>
> nbd/trivial: fix type cast for ioctl (2015-04-28 22:14:15 +0200)
>
> ----------------------------------------------------------------
> - miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan)
> - next part in the thread-safe address_space_* saga: atomic access
> to the bounce buffer and the map_clients list, from Fam
> - optional support for linking with tcmalloc, also from Fam
> - reapplying Peter Crosthwaite's "Respect as_translate_internal
> length clamp" after fixing the SPARC fallout.
> - build system fix from Wei Liu
> - small acpi-build and ioport cleanup by myself
>
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-04-30 12:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-29 8:35 [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Paolo Bonzini
2015-04-29 8:35 ` [Qemu-devel] [PULL v2 17/22] configure: Add support for tcmalloc Paolo Bonzini
2015-04-30 12:46 ` [Qemu-devel] [PULL v2 00/22] Memory, TCG, NBD, build system changes for 2015-04-27 Peter Maydell
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).