On 08/09/2011 02:27 PM, Christoffer Dall wrote: > > > >> + > >> + if (irq_level->level) { > >> + vcpu->arch.virt_irq |= mask; > >> + vcpu->arch.wait_for_interrupts = 0; > >> + } else > >> + vcpu->arch.virt_irq&= ~mask; > >> + > > > > This seems to be non-smp-safe? Do you need atomic ops and barriers > > here? And a wakeup? > > The whole thing is not SMP tested yet, so I took some shortcuts. I only recently got hold of a SMP model and SMP support will be a focus area for the next series. Thanks for pin-pointing this though. Note even a single vcpu guest on an smp host needs this. -- error compiling committee.c: too many arguments to function