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.

> 
>>> Then the arch specific code could do the check and the implementation of 
>>> vmalloc, but only has to return -1 if we don't need it and things still 
>>> fall back to the generic code.
>>
>> But you would have to walk a while to find out that only s390x on (old)
>> KVM actually returns success here and does some allocation.
> 
> 
> It that such a problem? What about adding a comment then, otherwise we just
> use ifdef as a comment, which isnt nice either.

Any kind of comment is definitely a good idea.

Jan

-- 
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux

Reply via email to