diff options
| author | Yury Kotov | 2019-02-15 18:45:44 +0100 |
|---|---|---|
| committer | Dr. David Alan Gilbert | 2019-03-06 11:49:17 +0100 |
| commit | 754cb9c0ebcf2164107baf39e75517e459887622 (patch) | |
| tree | 935baacab47105e5ac101848413b7bb3b39008d0 /include/exec/user | |
| parent | migration/rdma: clang compilation fix (diff) | |
| download | qemu-754cb9c0ebcf2164107baf39e75517e459887622.tar.gz qemu-754cb9c0ebcf2164107baf39e75517e459887622.tar.xz qemu-754cb9c0ebcf2164107baf39e75517e459887622.zip | |
exec: Change RAMBlockIterFunc definition
Currently, qemu_ram_foreach_* calls RAMBlockIterFunc with many
block-specific arguments. But often iter func needs RAMBlock*.
This refactoring is needed for fast access to RAMBlock flags from
qemu_ram_foreach_block's callback. The only way to achieve this now
is to call qemu_ram_block_from_host (which also enumerates blocks).
So, this patch reduces complexity of
qemu_ram_foreach_block() -> cb() -> qemu_ram_block_from_host()
from O(n^2) to O(n).
Fix RAMBlockIterFunc definition and add some functions to read
RAMBlock* fields witch were passed.
Signed-off-by: Yury Kotov <yury-kotov@yandex-team.ru>
Message-Id: <20190215174548.2630-2-yury-kotov@yandex-team.ru>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Diffstat (limited to 'include/exec/user')
0 files changed, 0 insertions, 0 deletions
