qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] spice: Change NUM_SURFACES to 4096


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [PATCH 1/2] spice: Change NUM_SURFACES to 4096
Date: Tue, 28 Aug 2012 08:32:17 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.6esrpre) Gecko/20120714 Thunderbird/10.0.6

On 08/27/12 18:21, Søren Sandmann wrote:
> From: Søren Sandmann Pedersen <address@hidden>
> 
> It's not uncommon for an X workload to have more than 1024 pixmaps
> live at the same time. Ideally, there wouldn't be any fixed limit like
> this, but since we have one, increase it to 4096.
> ---
>  ui/spice-display.h |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/ui/spice-display.h b/ui/spice-display.h
> index 12e50b6..e8d01a5 100644
> --- a/ui/spice-display.h
> +++ b/ui/spice-display.h
> @@ -32,7 +32,7 @@
>  #define MEMSLOT_GROUP_GUEST 1
>  #define NUM_MEMSLOTS_GROUPS 2
>  
> -#define NUM_SURFACES 1024
> +#define NUM_SURFACES 4096

Breaks live migration.

First, we must make this runtime-configurable.  rev3 qxl devices should
continue to operate with 1024 surfaces for compatibility with older qemu
versions.

Second the vmstate must be adapted to handle this.  The number of
surfaces is in the migration data stream, so this should be doable
without too much trouble.  Right now it looks like this:

        [ ... ]
        VMSTATE_INT32_EQUAL(num_surfaces, PCIQXLDevice),
        VMSTATE_ARRAY(guest_surfaces.cmds, PCIQXLDevice, NUM_SURFACES, 0,
                      vmstate_info_uint64, uint64_t),
        [ ... ]

Juan?  Suggestions how to handle this?  There seems to be no direct way
to make the array size depend on num_surfaces.  I think we could have
two VMSTATE_ARRAY_TEST() entries, one for 1024 and one for 4096.

Better ideas?

cheers,
  Gerd



reply via email to

[Prev in Thread] Current Thread [Next in Thread]