lkml.org 
[lkml]   [2011]   [Nov]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 3/6] KVM: introduce kvm_for_each_memslot macro
On 11/21/2011 02:54 AM, Takuya Yoshikawa wrote:
> (2011/11/20 20:21), Avi Kivity wrote:
>> On 11/18/2011 11:18 AM, Xiao Guangrong wrote:
>>> index bb8728e..10524c0 100644
>>> --- a/include/linux/kvm_host.h
>>> +++ b/include/linux/kvm_host.h
>>> @@ -307,6 +307,10 @@ static inline struct kvm_vcpu
>>> *kvm_get_vcpu(struct kvm *kvm, int i)
>>> (vcpup = kvm_get_vcpu(kvm, idx)) != NULL; \
>>> idx++)
>>>
>>> +#define kvm_for_each_memslot(slots, memslot, i) \
>>> + for (i = 0; i< (slots)->nmemslots&& \
>>> + ({ memslot =&(slots)->memslots[i]; 1; }); i++)
>>> +
>>>
>>
>> Statement expression not needed, you can use the comma operator:
>>
>> i< (slots)->nmemslots&& (memslot = @(slots)->memslots[i], true)
>>
>> or even
>>
>> memslot =&(slots)->memslots[i], i< (slots)->nmemslots
>>
>> or just kill i and make memslot the loop variable.
>>
>
> Do you have any preference for the arguments ordering?
>
> I think placing the target one, memslot in this case, first is
> conventional in
> the kernel code, except when we want to place "kvm" or something like
> that.
>
> But in kvm code, there seems to be some difference.

You mean for the macro? Yes, making memslot the first argument is a
good idea. Any difference in kvm code is not intentional.


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



\
 
 \ /
  Last update: 2011-11-21 09:37    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site