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

Re: [Xen-devel] [Patch 2 of 2]: PV-domain SMP performance Linux-part



>--- a/include/asm-x86_64/mach-xen/asm/irqflags.h       Sat Dec 13 16:00:43 
>2008 +0000
>+++ b/include/asm-x86_64/mach-xen/asm/irqflags.h       Wed Dec 17 13:12:53 
>2008 +0100
>@@ -33,8 +33,12 @@ do {                                                        
>                \
>       vcpu_info_t *_vcpu;                                             \
>       barrier();                                                      \
>       _vcpu = current_vcpu_info();            \
>-      if ((_vcpu->evtchn_upcall_mask = (x)) == 0) {                   \
>+      if ( !(x) ) {                                                   \

This isn't correct, as it breaks 0->1 transitions (there are a few instances of
this in the kernel).

>+              _vcpu->no_desched = 0;                                  \
>+              _vcpu->evtchn_upcall_mask = 0;                          \
>               barrier(); /* unmask then check (avoid races) */        \
>+              if ( unlikely(_vcpu->desched_delay) )                   \
>+                      (void)((HYPERVISOR_sched_op(SCHEDOP_yield, _vcpu))?:0); 
>\

Why not just cast the function result to void? Likewise further below...

>               if ( unlikely(_vcpu->evtchn_upcall_pending) )           \
>                       force_evtchn_callback();                        \
>       }                                                               \

Jan


_______________________________________________
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®.