[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] find_ram_offset: Align ram_addr_t allocatio
From: |
Eric Blake |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] find_ram_offset: Align ram_addr_t allocation on long boundaries |
Date: |
Fri, 5 Jan 2018 11:19:31 -0600 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 |
On 01/05/2018 11:01 AM, Dr. David Alan Gilbert (git) wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
>
> The dirty bitmaps are built from 'long'sand there is fast-path code
s/'long'sand/'long's, and/
> for synchronising the case where the RAMBlock is aligned to the start
> of a long boundary. Align the allocation to this boundary
> to cause the fast path to be used.
>
> Suggested-by: Paolo Bonzini <address@hidden>
> Signed-off-by: Dr. David Alan Gilbert <address@hidden>
> ---
> exec.c | 5 +++++
> 1 file changed, 5 insertions(+)
Reviewed-by: Eric Blake <address@hidden>
>
> diff --git a/exec.c b/exec.c
> index 7966570231..644603f05e 100644
> --- a/exec.c
> +++ b/exec.c
> @@ -1694,6 +1694,11 @@ static ram_addr_t find_ram_offset(ram_addr_t size)
> }
> }
>
> + /* Align blocks to start on a 'long' in the bitmap
> + * which makes the bitmap sync'ing take the fast path.
> + */
> + end = ROUND_UP(end, BITS_PER_LONG << TARGET_PAGE_BITS);
> +
> /* If it fits remember our place and remember the size
> * of gap, but keep going so that we might find a smaller
> * gap to fill so avoiding fragmentation.
>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3266
Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature