Re: [PATCH 1/6] qemu-kvm: Introduce bit-based phys_ram_dirty for VGA, CODE and MIGRATION.

Yoshiaki Tamura
2010-03-16T13:01:35Z

Avi Kivity wrote:
> On 03/16/2010 12:53 PM, Yoshiaki Tamura wrote:
>> Replaces byte-based phys_ram_dirty bitmap with
>> three bit-based phys_ram_dirty bitmap.
>> On allocation, it sets all bits in the bitmap.
>>
>> Signed-off-by: Yoshiaki Tamura<tamura.yoshiaki@lab.ntt.co.jp>
>> Signed-off-by: OHMURA Kei<ohmura.kei@lab.ntt.co.jp>
>> ---
>> exec.c | 22 +++++++++++++++++-----
>> 1 files changed, 17 insertions(+), 5 deletions(-)
>>
>> diff --git a/exec.c b/exec.c
>> index 9bcb4de..ba334e7 100644
>> --- a/exec.c
>> +++ b/exec.c
>> @@ -119,7 +119,9 @@ uint8_t *code_gen_ptr;
>>
>> #if !defined(CONFIG_USER_ONLY)
>> int phys_ram_fd;
>> -uint8_t *phys_ram_dirty;
>> +unsigned long *phys_ram_vga_dirty;
>> +unsigned long *phys_ram_code_dirty;
>> +unsigned long *phys_ram_migration_dirty;
>
> Would be nice to make this an array.

Thanks for pointing out.
I have a question regarding the index of the array.
From the compatibility perspective, I would prefer using the existing macros.

#define VGA_DIRTY_FLAG 0x01
#define CODE_DIRTY_FLAG 0x02
#define MIGRATION_DIRTY_FLAG 0x08

However, if I use them as is, I'll get a sparse array...
Is it acceptable to change these values like 0, 1, 2?