Re: [PATCH v2 3/6] KVM: introduce kvm_for_each_memslot macro

From: Avi Kivity
Date: Sun Nov 20 2011 - 06:22:13 EST


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.

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

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/