[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] code question?



Jerone Young wrote:

Doing some janitorial (you cleaning the flooded toilets and such) work
today. I have come across this line of code that really I'm not sure
what the intent was..in xen/include/sched.h

#define hypercall_preempt_check() (unlikely(            \
       softirq_pending(smp_processor_id()) |           \
       (!!current->vcpu_info->evtchn_upcall_pending &  \
         !current->vcpu_info->evtchn_upcall_mask)      \
   ))

the part where we have !!current->vcpu_info_evtchen_upcall pending
should this be..should the "!! just be "!"?
The usual use of !!a is to do (a != 0) ? 1 : 0.

I'm not sure if there's a more readable way to do it.

Regards,

Anthony Liguori

And if so shouldn't this just be changed to
#define hypercall_preempt_check() (unlikely( \
        softirq_pending(smp_processor_id()) |           \
        (!(current->vcpu_info->evtchn_upcall_pending & \
          current->vcpu_info->evtchn_upcall_mask)) \
        ))
        

In a lot of the code in Xen we are using the "!" operator with bitwise
operations..this is one of those examples.





_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.