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    [W:0.069 / U:30.540 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site