[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] migration: cache memory region ram ptr
From: |
Peter Lieven |
Subject: |
Re: [Qemu-devel] [PATCH] migration: cache memory region ram ptr |
Date: |
Mon, 12 May 2014 10:16:21 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
Am 12.05.2014 08:09, schrieb Paolo Bonzini:
> Il 10/05/2014 18:32, Peter Lieven ha scritto:
>> What about XEN?
>>
>
> You're right, Xen wouldn't work. Your original patch would not break it just
> because Xen doesn't use migration (but the code would be broken).
>
> You would have to cache qemu_get_ram_block rather than qemu_get_ram_ptr, move
> RAMBlock to memory-internal.h, and split the RAMBlock + ram_addr_t => void *
> conversion out of qemu_get_ram_ptr and into a separate function (to be used
> by memory_region_get_ram_ptr).
>
> I'm not sure of the benefit of your patch though. qemu_get_ram_block already
> has a 1-item cache, are you seeing a low hit rate there? Or any other
> profiling that shows qemu_get_ram_ptr as hot?
qemu_get_ram_ptr is hot only during migration. But the hit-rate of the LRU
cache seems to be good. I am wondering if this is different if the migration
has difficulties to converge, but you might be right it should be neglectible.
I ran some basic migration tests with and without the patch. It might be that
the results with the cache are slightly better, but the variance of the
results is high. I had to run a significant number of tests to get more
evidence.
Peter
>
> Paolo