QEMU With E2K User Support
Go to file
Alberto Garcia 72e80b8901 qcow2: use one single memory block for the L2/refcount cache tables
The qcow2 L2/refcount cache contains one separate table for each cache
entry. Doing one allocation per table adds unnecessary overhead and it
also requires us to store the address of each table separately.

Since the size of the cache is constant during its lifetime, it's
better to have an array that contains all the tables using one single
allocation.

In my tests measuring freshly created caches with sizes 128MB (L2) and
32MB (refcount) this uses around 10MB of RAM less.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2015-05-22 17:08:01 +02:00
audio audio: Don't free hw resources until after hw backend is stopped 2014-12-22 23:12:25 +00:00
backends Remove various unused functions 2015-05-08 14:11:10 +03:00
block qcow2: use one single memory block for the L2/refcount cache tables 2015-05-22 17:08:01 +02:00
bsd-user linux-user, bsd-user: Remove two calls to cpu_exec_init_all 2015-04-27 18:24:17 +02:00
default-configs arm: Introduce Xilinx ZynqMP SoC 2015-05-18 16:41:09 +01:00
disas cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
docs qapi: Turn generators' mandatory option -i into an argument 2015-05-14 18:41:23 +02:00
dtc@bc895d6d09
fpu softfloat: expand out STATUS macro 2015-02-06 16:11:38 +00:00
fsdev Fix typos in comments 2015-03-19 11:30:37 +03:00
gdb-xml
hw nvme: support NVME_VOLATILE_WRITE_CACHE feature 2015-05-22 17:08:00 +02:00
include block: minimal bounce buffer alignment 2015-05-22 09:37:33 +01:00
libcacard libcacard: do not use full paths for include files in the same dir 2015-04-30 16:05:48 +03:00
libdecnumber
linux-headers linux-headers: update 2015-04-30 13:21:42 +02:00
linux-user linux-user/arm: Correct TARGET_NR_timerfd to TARGET_NR_timerfd_create 2015-05-18 17:45:10 +01:00
migration migration: Add qmp commands to set and query parameters 2015-05-07 18:31:53 +02:00
net net: add MAC address string printer 2015-05-11 14:49:03 +01:00
pc-bios Makefile.target: set icon for binary file on Mac OS X 2015-05-19 09:11:17 +01:00
pixman@87eea99e44
po
qapi pc, virtio enhancements 2015-05-11 16:25:33 +01:00
qga qapi: Use 'struct' instead of 'type' in schema 2015-05-05 18:39:01 +02:00
qobject json-parser: Accept 'null' in QMP 2015-05-11 08:59:07 -04:00
qom qom: Add can_be_deleted callback to UserCreatableClass 2015-04-01 10:06:38 +02:00
roms pseries: Update SLOF firmware image to qemu-slof-20150313 2015-03-25 22:49:45 +01:00
scripts qapi: Inline gen_command_decl_prologue(), gen_command_def_prologue() 2015-05-14 18:41:33 +02:00
slirp
stubs pci, pc, virtio fixes and cleanups 2015-03-09 09:14:28 +00:00
sysconfigs/target
target-alpha Revert "target-alpha: Add vector implementation for CMPBGE" 2015-05-22 12:30:13 +01:00
target-arm target-arm: Remove unneeded '+' 2015-05-18 20:04:19 +01:00
target-cris cris: remove unused cris_cond15 declarations 2015-03-19 11:11:55 +03:00
target-i386 kvm: add support for memory transaction attributes 2015-04-30 16:55:32 +02:00
target-lm32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-m68k tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-microblaze microblaze: cpu: delete unused cpu_interrupts_enabled 2015-04-30 16:05:48 +03:00
target-mips kvm: add support for memory transaction attributes 2015-04-30 16:55:32 +02:00
target-moxie target-moxie: Fix warnings from Sparse (one-bit signed bitfield) 2015-03-19 11:11:55 +03:00
target-openrisc openrisc: cpu: Remove unused cpu_get_pc 2015-04-30 16:06:18 +03:00
target-ppc kvm: add support for memory transaction attributes 2015-04-30 16:55:32 +02:00
target-s390x s390x: Add interlocked access facility 1 instructions 2015-05-13 14:48:54 +02:00
target-sh4 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-sparc tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-tricore target-tricore: fix rfe not restoring the PC 2015-05-11 14:25:49 +02:00
target-unicore32 tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
target-xtensa tcg: Change translator-side labels to a pointer 2015-03-13 12:28:18 -07:00
tcg tcg: Add MO_ALIGN, MO_UNALN 2015-05-14 12:15:18 -07:00
tests qemu-iotests: Test unaligned sub-block zero write 2015-05-22 09:37:33 +01:00
trace Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
ui vnc: Tweak error when init fails 2015-05-20 10:23:08 +02:00
util qemu-sockets: Report explicit error if unlink fails 2015-05-20 10:23:08 +02:00
.exrc
.gitignore gitignore: Ignore more .pod files. 2015-04-04 09:45:59 +03:00
.gitmodules
.mailmap
.travis.yml .travis.yml: Add "--enable-modules" 2015-01-26 12:27:05 +01:00
accel.c
aio-posix.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
aio-win32.c AioContext: acquire/release AioContext during aio_poll 2015-04-28 15:36:08 +02:00
arch_init.c migration: Fix migration state update issue 2015-05-07 18:31:54 +02:00
async.c iothread: release iothread around aio_poll 2015-04-28 15:36:08 +02:00
balloon.c balloon: improve error msg when adding second device 2015-04-24 14:18:05 -04:00
block.c block: align bounce buffers to page 2015-05-22 09:37:33 +01:00
blockdev-nbd.c nbd: Fix up comment after commit e140177 2015-03-25 13:38:07 +01:00
blockdev.c block: Ensure consistent bitmap function prototypes 2015-04-28 15:36:10 +02:00
blockjob.c blockjob: Allow nested pause 2015-04-28 15:36:09 +02:00
bootdevice.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure configure: Add workaround for ccache and clang 2015-05-22 09:37:33 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c coroutine-sigaltstack: Change jmp_buf to sigjmp_buf 2014-11-11 11:07:55 +03:00
coroutine-ucontext.c coroutine-ucontext: use __thread 2015-01-13 13:43:28 +00:00
coroutine-win32.c
cpu-exec.c - vhost-scsi: add bootindex property 2015-02-24 13:58:18 +00:00
cpus.c qmp: Add qom_path field to query-cpus command 2015-05-14 17:25:46 +02:00
cputlb.c Add MemTxAttrs to the IOTLB 2015-04-26 16:49:24 +01:00
device_tree.c machine: query phandle-start machine property 2015-03-11 18:17:11 +01:00
device-hotplug.c pci-hotplug-old: Has been dead for five major releases, bury 2015-03-01 12:37:54 +01:00
disas.c
dma-helpers.c range: remove useless inclusions 2015-04-30 16:05:48 +03:00
dump.c
exec.c exec: move rcu_read_lock/unlock to address_space_translate callers 2015-04-30 16:55:32 +02:00
gdbstub.c gdbstub: avoid possible NULL pointer dereference 2015-03-10 08:15:34 +03:00
HACKING
hmp-commands.hx migration: Add hmp interface to set and query parameters 2015-05-07 18:31:54 +02:00
hmp.c migration: Add hmp interface to set and query parameters 2015-05-07 18:31:54 +02:00
hmp.h migration: Add hmp interface to set and query parameters 2015-05-07 18:31:54 +02:00
iohandler.c
ioport.c - miscellaneous cleanups for TCG (Emilio) and NBD (Bogdan) 2015-04-30 12:04:11 +01:00
iothread.c Remove various unused functions 2015-05-08 14:11:10 +03:00
kvm-all.c kvm: add support for memory transaction attributes 2015-04-30 16:55:32 +02:00
kvm-stub.c pc: kvm: check if KVM has free memory slots to avoid abort() 2014-11-23 12:11:29 +02:00
LICENSE vfio: move hw/misc/vfio.c to hw/vfio/pci.c Move vfio.h into include/hw/vfio 2014-12-19 15:24:06 -07:00
main-loop.c
MAINTAINERS -----BEGIN PGP SIGNATURE----- 2015-05-12 10:40:31 +01:00
Makefile qapi: Turn generators' mandatory option -i into an argument 2015-05-14 18:41:23 +02:00
Makefile.objs QJSON: Add JSON writer 2015-02-05 17:16:14 +01:00
Makefile.target Makefile.target: set icon for binary file on Mac OS X 2015-05-19 09:11:17 +01:00
memory_mapping.c
memory.c mtree: also print disabled regions 2015-04-30 16:55:16 +02:00
module-common.c
monitor.c pc, virtio enhancements 2015-05-11 16:25:33 +01:00
nbd.c qemu-nbd: only send a limited number of errno codes on the wire 2015-05-08 14:45:11 +02:00
numa.c numa: Print warning if no node is assigned to a CPU 2015-03-19 16:20:15 -03:00
os-posix.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
os-win32.c pidfile: stop making pidfile error a special case 2014-11-02 10:04:34 +03:00
page_cache.c xbzrle: rebuild the cache_is_cached function 2015-01-15 17:49:43 +05:30
qapi-schema.json qmp: Add qom_path field to query-cpus command 2015-05-14 17:25:46 +02:00
qdev-monitor.c qom: Implement info qom-tree HMP command 2015-03-17 14:31:21 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-char: remove unused list node from FDCharDriver 2015-04-30 16:05:49 +03:00
qemu-coroutine-io.c coroutine-io: Return -errno in case of error 2015-03-18 12:07:21 +01:00
qemu-coroutine-lock.c coroutine: remove unnecessary parentheses in qemu_co_queue_empty 2015-04-30 16:05:49 +03:00
qemu-coroutine-sleep.c
qemu-coroutine.c coroutine: Clean up qemu_coroutine_enter() 2015-03-09 11:11:59 +01:00
qemu-doc.texi raw-posix: Deprecate host floppy passthrough 2015-03-19 11:43:02 +01:00
qemu-img-cmds.hx qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-img.c qemu-img convert: Rewrite copying logic 2015-04-28 15:36:09 +02:00
qemu-img.texi qemu-img: Add progress output for amend 2014-11-03 11:41:48 +00:00
qemu-io-cmds.c qemu-io: Use BlockBackend 2015-02-16 15:07:19 +00:00
qemu-io.c Clean up around error_get_pretty(), qerror_report_err() 2015-02-26 07:01:08 +00:00
qemu-log.c qemu-log: Correct help text of 'log cpu_reset' 2015-02-10 09:27:20 +03:00
qemu-nbd.c nbd: Set block size to BDRV_SECTOR_SIZE 2015-03-18 12:07:01 +01:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx qemu-options: trivial spelling fix (messsage) 2015-04-30 16:05:48 +03:00
qemu-seccomp.c seccomp: add mlockall to whitelist 2015-01-23 14:07:08 +01:00
qemu-tech.texi
qemu-timer.c qemu-timer.c: Trim list of included headers 2015-01-26 18:15:54 +00:00
qemu.nsi
qemu.sasl
qjson.c QJSON: Use OBJECT_CHECK 2015-05-11 08:59:07 -04:00
qmp-commands.hx qmp: Add qom_path field to query-cpus command 2015-05-14 17:25:46 +02:00
qmp.c qapi: Drop inline nested struct in query-version 2015-05-05 18:39:02 +02:00
qtest.c qtest: Use qemu_opt_set() instead of qemu_opts_parse() 2015-02-26 14:52:13 +01:00
README
rules.mak rules.mak: Force CFLAGS for all objects in DSO 2015-05-08 14:45:11 +02:00
savevm.c error: Replace error_report() & error_free() with error_report_err() 2015-03-19 11:11:55 +03:00
softmmu_template.h tcg: Add MO_ALIGN, MO_UNALN 2015-05-14 12:15:18 -07:00
spice-qemu-char.c spice: Add missing 'static' attribute 2015-02-10 10:26:05 +03:00
tcg-runtime.c
tci.c tcg: Push merged memop+mmu_idx parameter to softmmu routines 2015-05-14 12:15:14 -07:00
thread-pool.c thread-pool: clean up thread_pool_completion_bh() 2015-04-28 15:36:09 +02:00
thunk.c
tpm.c tpm: Remove superfluous '\n' around error_report() 2015-03-10 08:15:33 +03:00
trace-events qmp-event: add event notification for memory hot unplug error 2015-04-27 21:09:07 +02:00
translate-all.c exec: move rcu_read_lock/unlock to address_space_translate callers 2015-04-30 16:55:32 +02:00
translate-all.h
user-exec.c user-exec.c: fix build on NetBSD/sparc64 and NetBSD/arm 2015-03-13 15:57:00 +00:00
VERSION Open 2.4 development tree 2015-04-25 22:05:07 +01:00
version.rc
vl.c sdl2: add support for display rendering using opengl. 2015-05-05 10:48:26 +02:00
xen-common-stub.c
xen-common.c
xen-hvm-stub.c xen: Remove xen_cmos_set_s3_resume() 2015-03-10 08:15:33 +03:00
xen-hvm.c Xen: Use the ioreq-server API when available 2015-01-20 14:24:10 +00:00
xen-mapcache.c xen: add a lock for the mapcache 2015-01-20 14:24:17 +00:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team