qemu-irix/util
John Snow be58721dbf hbitmap: add hbitmap_merge
We add a bitmap merge operation to assist in error cases
where we wish to combine two bitmaps together.

This is algorithmically O(bits) provided HBITMAP_LEVELS remains
constant. For a full bitmap on a 64bit machine:
sum(bits/64^k, k, 0, HBITMAP_LEVELS) ~= 1.01587 * bits

We may be able to improve running speed for particularly sparse
bitmaps by using iterators, but the running time for dense maps
will be worse.

We present the simpler solution first, and we can refine it later
if needed.

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 1429314609-29776-8-git-send-email-jsnow@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2015-04-28 15:36:10 +02:00
..
Makefile.objs rcu: add rcu library 2015-02-02 16:55:10 +01:00
acl.c acl: fix memory leak 2014-11-17 11:48:56 +01:00
aes.c aes: remove a dead return statement 2015-02-10 09:27:20 +03:00
bitmap.c
bitops.c
compatfd.c
crc32c.c
cutils.c cutils: refine strtol error handling in parse_debug_env 2015-03-10 08:15:33 +03:00
envlist.c utils: drop strtok_r from envlist_parse 2015-02-16 16:20:02 -06:00
error.c error: Use error_report_err() where appropriate 2015-02-18 10:51:09 +01:00
event_notifier-posix.c
event_notifier-win32.c
fifo8.c savevm: Remove all the unneeded version_minimum_id_old (arm) 2014-05-13 16:09:35 +01:00
getauxval.c util: Move general qemu_getauxval to util/getauxval.c 2014-09-09 13:13:05 +02:00
hbitmap.c hbitmap: add hbitmap_merge 2015-04-28 15:36:10 +02:00
hexdump.c
host-utils.c util: Don't link host-utils.o if it's empty 2014-09-09 13:13:05 +02:00
id.c util: Emancipate id_wellformed() from QemuOpts 2014-10-03 10:30:33 +01:00
iov.c util: Use g_new() & friends where that makes obvious sense 2014-12-10 11:34:15 +03:00
module.c module: Don't complain when a module is absent 2014-07-18 14:57:35 +02:00
notify.c
osdep.c
oslib-posix.c oslib-posix: Fix compiler warning (-Wclobbered) and simplify the code 2015-03-10 08:15:34 +03:00
oslib-win32.c memory: expose alignment used for allocating RAM as MemoryRegion API 2014-11-23 12:11:30 +02:00
path.c util/path: Use the GLib memory allocation routines 2014-08-24 13:16:32 +04:00
qemu-config.c qemu-config: Accept empty option values 2015-04-27 15:38:13 -03:00
qemu-error.c qemu-error: Add error_vreport() 2014-10-09 15:36:15 +02:00
qemu-openpty.c util/qemu-openpty: fix build with musl libc by include termios.h as fallback 2014-06-11 00:25:06 +01:00
qemu-option.c qemu-img: Suppress unhelpful extra errors in convert, amend 2015-02-26 14:51:21 +01:00
qemu-progress.c
qemu-sockets.c qemu-sockets: Simplify setting numeric and boolean options 2015-02-26 14:51:53 +01:00
qemu-thread-posix.c qemu-thread: do not use PTHREAD_MUTEX_ERRORCHECK 2015-03-10 10:49:25 +01:00
qemu-thread-win32.c qemu-thread: add per-thread atexit functions 2015-01-13 13:43:29 +00:00
qemu-timer-common.c
rcu.c rcu: do not create thread in pthread_atfork callback 2015-04-01 10:06:38 +02:00
readline.c readline: Clear screen on form feed. 2014-06-11 10:10:29 -04:00
rfifolock.c
throttle.c throttle: add throttle_detach/attach_aio_context() 2014-06-04 09:56:12 +02:00
unicode.c
uri.c util/uri: Add overflow check to rfc3986_parse_port 2015-03-18 12:05:31 +01:00