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

From: Benjamin Herrenschmidt
Date: Wed Jul 11 2012 - 22:18:24 EST


> 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.

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/