Re: [PATCH RFC 0/2] kvm: Improving directed yield in PLE handler

From: Benjamin Herrenschmidt
Date: Thu Jul 12 2012 - 07:26:49 EST


On Thu, 2012-07-12 at 11:12 +0300, Avi Kivity wrote:
> On 07/12/2012 05:17 AM, Benjamin Herrenschmidt wrote:
> >> ARM doesn't have an instruction for cpu_relax(), so it can't intercept
> >> it. Given ppc's dislike of overcommit, and the way it implements
> >> cpu_relax() by adjusting hw thread priority, I'm guessing it doesn't
> >> intercept those either, but I'm copying the ppc people in case I'm
> >> wrong. So it's s390 and x86.
> >
> > No but our spinlocks call __spin_yield() (or __rw_yield) which does
> > some paravirt tricks already.
> >
> > We check if the holder is currently running, and if not, we call the
> > H_CONFER hypercall which can be used to "give" our time slice to the
> > holder.
> >
> > Our implementation of H_CONFER in KVM is currently a nop though.
>
> Okay, so you can join the party. See yield_to() and kvm_vcpu_on_spin().

Thanks ! I'll have a look eventually :-)

Cheers,
Ben.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/