diff options
author | Christian Borntraeger <borntraeger@de.ibm.com> | 2012-06-15 05:10:30 +0000 |
---|---|---|
committer | Alexander Graf <agraf@suse.de> | 2012-07-10 18:27:33 +0200 |
commit | fdec9918578ec38738ecf250fa2c2656a44796b5 (patch) | |
tree | df492b5ddd37c0c69d2e63ca9bfa0196a7dbd7ac /oslib-posix.c | |
parent | 92336855975805d88c7979f53bc05c2d47abab04 (diff) |
s390: autodetect map private
By default qemu will use MAP_PRIVATE for guest pages. This will write
protect pages and thus break on s390 systems that dont support this feature.
Therefore qemu has a hack to always use MAP_SHARED for s390. But MAP_SHARED
has other problems (no dirty pages tracking, a lot more swap overhead etc.)
Newer systems allow the distinction via KVM_CAP_S390_COW. With this feature
qemu can use the standard qemu alloc if available, otherwise it will use
the old s390 hack.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Jens Freimann <jfrei@linux.vnet.ibm.com>
Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'oslib-posix.c')
-rw-r--r-- | oslib-posix.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/oslib-posix.c b/oslib-posix.c index 6b7ba646c7..dbeb6272b8 100644 --- a/oslib-posix.c +++ b/oslib-posix.c @@ -41,6 +41,9 @@ extern int daemon(int, int); therefore we need special code which handles running on Valgrind. */ # define QEMU_VMALLOC_ALIGN (512 * 4096) # define CONFIG_VALGRIND +#elif defined(__linux__) && defined(__s390x__) + /* Use 1 MiB (segment size) alignment so gmap can be used by KVM. */ +# define QEMU_VMALLOC_ALIGN (256 * 4096) #else # define QEMU_VMALLOC_ALIGN getpagesize() #endif |