On Monday 04 June 2007 23:28, Jeremy Fitzhardinge wrote: > The cli/sti instructions don't control the event mask, so they're > effectively expensive no-ops (they trap into the hypervisor, are > emulated as no-ops). But if you mean cli as a general term for > "events/interrupts masked", then they can't remain masked when you > return to usermode. iret normally sets the current eflags IF state > from the on-stack IF, but that's irrelevent to Xen; we need to extract > eflags.IF from the on-stack eflags, and put that into the vcpu's event > mask. That's inherently non-atomic with respect to iret. Ah I assumed the hypervisor would just check IF in ring 1 too. It would certainly make this easier, but then the additional trap of setting it would be also somewhat expensive agreed. I must say I still hate the patch; it has all the signs of something that will be very nasty to maintain later. -Andi _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization