George Dunlap
2009-Mar-09 11:45 UTC
[Xen-devel] [PATCH] hvm/vpt: Check that an irq is not blocked before waking the vcpu
Currently, when a timer fires for a vpt interrupt, the interrupt handler calls vcpu_kick() without checking to see if the IRQ is blocked. This causes the vcpu to wake up out of a halt when it shouldn''t. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2009-Mar-09 12:01 UTC
Re: [Xen-devel] [PATCH] hvm/vpt: Check that an irq is not blocked before waking the vcpu
On 09/03/2009 11:45, "George Dunlap" <George.Dunlap@eu.citrix.com> wrote:> Currently, when a timer fires for a vpt interrupt, the interrupt > handler calls vcpu_kick() without checking to see if the IRQ is > blocked. This causes the vcpu to wake up out of a halt when it > shouldn''t. > > Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com>Only one question: could this race an unmask operation? Before this patch, pt_irq_masked() is only executed for the local vcpu, so such races may not have been considered. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
George Dunlap
2009-Mar-09 12:22 UTC
Re: [Xen-devel] [PATCH] hvm/vpt: Check that an irq is not blocked before waking the vcpu
I can''t think of a way this race could be a problem. Even if the vcpu in question were to unmask right after the check, it would still call pt_update_irq() on the way out to the vmexit (just for good measure), which would catch the IRQ just as it should. Conversely, if the vcpu were to mask right after the check, there should be enough delay between the mask and executing a HLT that the kick() wouldn''t have any significant effect. Even if it did, this patch would reduce the false wake-ups from "every time the timer fires when masked" to "only when a very specific race happens". But the timer code is complicated enough that I''d like some corroboration with someone who knows it better... -George On Mon, Mar 9, 2009 at 12:01 PM, Keir Fraser <keir.fraser@eu.citrix.com> wrote:> On 09/03/2009 11:45, "George Dunlap" <George.Dunlap@eu.citrix.com> wrote: > >> Currently, when a timer fires for a vpt interrupt, the interrupt >> handler calls vcpu_kick() without checking to see if the IRQ is >> blocked. This causes the vcpu to wake up out of a halt when it >> shouldn''t. >> >> Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> > > Only one question: could this race an unmask operation? Before this patch, > pt_irq_masked() is only executed for the local vcpu, so such races may not > have been considered. > > -- Keir > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
In Xen 3.3 (SLES 11) I am adding (cpu 2-15) in the *.sxp file, but after that the Vir-manager cannot open the console. If I remove that line, it works fine. I need to both be able to restrict the domain to a set of CPU''s and see the VNC console. Any idea?? Federico _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel