Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > 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. > Xen doesn't do that because, while it could track sti/cli (expensively), iret and pop

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Andi Kleen
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 c

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > If you stay cli you don't need that. Why is it that it has to enable > interrupts? > Bear in mind we're talking about running paravirt under Xen in ring 1. The cli/sti instructions don't control the event mask, so they're effectively expensive no-ops (they trap into the hy

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Andi Kleen
On Monday 04 June 2007 22:33, Jeremy Fitzhardinge wrote: > Hm, yes, I guess so. I'd assumed that softirq was in the WORK_NEEDED > path of entry.S without checking; but anything which can set one of the > WORK_NEEDED flags is an issue. For interrupts it can be only signals or rescheduling. > >>

Re: [Xen-devel] Re: [PATCH] xen: use iret directly where possible

2007-06-04 Thread Jeremy Fitzhardinge
Andi Kleen wrote: > Not sure what a recursive exception is. You mean the interrupt? > Yeah, though Xen calls them events, so I chose a completely different third term. > It looks ...very... ug^w^wcomplicated. > I suppose, but you should look at the xen-unstable code by comparison... But e