diff mbox

[RFC,2/8] exec: Clean up fall back when -mem-path allocation fails

Message ID 1371106939-6968-3-git-send-email-armbru@redhat.com
State New
Headers show

Commit Message

Markus Armbruster June 13, 2013, 7:02 a.m. UTC
With -mem-path, qemu_ram_alloc_from_ptr() first tries to allocate
accordingly, but when it fails, it falls back to normal allocation.

The fall back allocation code used to be effectively identical to the
"-mem-path not given" code, until it started to diverge incommit
432d268.  I believe the code still works, but clean it up anyway: drop
the special fall back allocation code, and fall back to the ordinary
"-mem-path not given" code instead.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 exec.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Paolo Bonzini June 13, 2013, 10:12 p.m. UTC | #1
Il 13/06/2013 03:02, Markus Armbruster ha scritto:
> With -mem-path, qemu_ram_alloc_from_ptr() first tries to allocate
> accordingly, but when it fails, it falls back to normal allocation.
> 
> The fall back allocation code used to be effectively identical to the
> "-mem-path not given" code, until it started to diverge incommit
> 432d268.  I believe the code still works, but clean it up anyway: drop
> the special fall back allocation code, and fall back to the ordinary
> "-mem-path not given" code instead.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>  exec.c | 7 ++-----
>  1 file changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/exec.c b/exec.c
> index b424e12..56c31a9 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -1091,15 +1091,12 @@ ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
>          if (mem_path) {
>  #if defined (__linux__) && !defined(TARGET_S390X)
>              new_block->host = file_ram_alloc(new_block, size, mem_path);
> -            if (!new_block->host) {
> -                new_block->host = qemu_anon_ram_alloc(size);
> -                memory_try_enable_merging(new_block->host, size);
> -            }
>  #else
>              fprintf(stderr, "-mem-path option unsupported\n");
>              exit(1);
>  #endif
> -        } else {
> +        }
> +        if (!new_block->host) {
>              if (kvm_enabled()) {
>                  /* some s390/kvm configurations have special constraints */
>                  new_block->host = kvm_ram_alloc(size);
> 

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
diff mbox

Patch

diff --git a/exec.c b/exec.c
index b424e12..56c31a9 100644
--- a/exec.c
+++ b/exec.c
@@ -1091,15 +1091,12 @@  ram_addr_t qemu_ram_alloc_from_ptr(ram_addr_t size, void *host,
         if (mem_path) {
 #if defined (__linux__) && !defined(TARGET_S390X)
             new_block->host = file_ram_alloc(new_block, size, mem_path);
-            if (!new_block->host) {
-                new_block->host = qemu_anon_ram_alloc(size);
-                memory_try_enable_merging(new_block->host, size);
-            }
 #else
             fprintf(stderr, "-mem-path option unsupported\n");
             exit(1);
 #endif
-        } else {
+        }
+        if (!new_block->host) {
             if (kvm_enabled()) {
                 /* some s390/kvm configurations have special constraints */
                 new_block->host = kvm_ram_alloc(size);