[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 2/2] xen/arm: call vcpu_yield on WFE trap
On Wed, 23 Jul 2014, George Dunlap wrote: > On Wed, Jul 23, 2014 at 1:05 PM, Stefano Stabellini > <stefano.stabellini@xxxxxxxxxxxxx> wrote: > > No need to call vcpu_force_reschedule, is too expensive. > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx> > > --- > > xen/arch/arm/traps.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c > > index 3dfabd0..8cd06cc 100644 > > --- a/xen/arch/arm/traps.c > > +++ b/xen/arch/arm/traps.c > > @@ -1805,7 +1805,7 @@ asmlinkage void do_trap_hypervisor(struct > > cpu_user_regs *regs) > > } > > if ( hsr.wfi_wfe.ti ) { > > /* Yield the VCPU for WFE */ > > - vcpu_force_reschedule(current); > > + vcpu_yield(current); > > Actually, sorry -- why are you wanting to yield here? > > At the moment "yield" is only initiated by the guest itself, and the > individual schedulers are notified that the guest has called "yield". > If what you want to do is yield for some other reason, it might be > better to have a slightly separate path for that. It is a very similar situation: WFE means "wait for event" and it is used in the implementation of spin_locks, for example. I think that trapping the instruction and yielding is what we want. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |