Re: [PATCH 2/2] KVM: x86: pre-allocate one more dirty bitmap to avoid vmalloc() in kvm_vm_ioctl_get_dirty_log()

Takuya Yoshikawa
2010-06-10T04:32:20Z

On Wed, 09 Jun 2010 16:11:34 +0300
Avi Kivity <avi@redhat.com> wrote:
>
> Looks good in general.
>
> > Note:
> > Though this patch introduces some ifdefs, we tried not to mixing these
> > with other parts to keep the code as clean as possible.
> >
> >
>
> What's the reason for that? Can't you update the other archs to use
> this as well?
>

In general, deleting the #ifdef's will not hurt other archs except for some
extra memory consumption.

- powerpc:

Currently, powerpc updates a dirty log like this:
1. Copy memslot->dirty_bitmap to user space and check dirtiness of the memslot.
2. If memslot was dirty, do some work with page tables.
3. Clear memslot->dirty_bitmap.

So until they begin something like x86's srcu related things, powerpc does not
get enough benefit from one more bitmap space.

- ia64

memslot->dirty_bitmap is only used at the timing of copy_to_user, like
a temporary buffer because ia64 has arch specific bitmap space.

If ia64's dirty logging is important, I would remove this redundancy:
but sadly, ia64 kvm does not seem to be updated constantly and I'm worried
about introducing extra noise without hearing their thought -- If I had
an ia64 box, I might have tried by myself.

Anyway, this will become a completely independent work!

>
> --
> error compiling committee.c: too many arguments to function
>

--
Takuya Yoshikawa <yoshikawa.takuya@oss.ntt.co.jp>