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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html