]> git.ipfire.org Git - thirdparty/qemu.git/commit
exec: separate sections and nodes per address space
authorMarcel Apfelbaum <marcel.a@redhat.com>
Sun, 1 Dec 2013 12:02:23 +0000 (14:02 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Fri, 21 Feb 2014 03:59:18 +0000 (21:59 -0600)
commit44c68b84aed0b642514b75dc980779c79ca37d45
tree1cd596da6e4eaec25d16bb4bc52c52683bdb50a8
parent4c3e00d83f19206cd916edb3d6869478dcbc3ab0
exec: separate sections and nodes per address space

Every address space has its own nodes and sections, but
it uses the same global arrays of nodes/section.

This limits the number of devices that can be attached
to the guest to 20-30 devices. It happens because:
 - The sections array is limited to 2^12 entries.
 - The main memory has at least 100 sections.
 - Each device address space is actually an alias to
   main memory, multiplying its number of nodes/sections.

Remove the limitation by using separate arrays of
nodes and sections for each address space.

Signed-off-by: Marcel Apfelbaum <marcel.a@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
(cherry picked from commit 53cb28cbfea038f8ad50132dc8a684e638c7d48b)

Conflicts:

exec.c

*removed dependency on b35ba30

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
exec.c