On 06/13/2012 01:41 PM, Jan Kiszka wrote:
On 2012-06-13 13:27, Christian Borntraeger wrote:
On 13/06/12 12:58, Jan Kiszka wrote:
Thinking about this a bit more, how about

} else if (!kvm_arch_vmalloc(size,&new_block->host)) {
<normal code>
}

I like that. Of course, we have to have a generic kvm_arch_vmalloc 
implementation
then.
Then better go for kvm_vmalloc calling kvm_arch_vmalloc (in the s390 case).

However, I do not like the variation of parameters and return value
compared to normal *alloc. Better:

memory = kvm_vmalloc(size);
if (!memory)
        memory = qemu_vmalloc(size);

But more regular (when looking at the Xen block) is guarding the call
with kvm_enabled() and embedding qemu_vmalloc in kvm_vmalloc.

So basically

#ifdef CONFIG_TARGET_S390X
  } else if (kvm_enabled()) {
    memory = kvm_vmalloc();
  } else {
#endif

or a generic

} else if (kvm_enabled()) {
  memory = kvm_vmalloc();
} else {

? Because that one would mean we always duplicate the common qemu_vmalloc case. But then again, that one's only a single call, so maybe it's ok. Meh - I'll let you decide :).


Alex


Reply via email to