Thread (2 messages) 2 messages, 2 authors, 2015-10-21

Re: [1/2] Revert "Use the POWER8 Micro Partition Prefetch Engine in KVM HV on POWER8"

From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2015-10-21 11:42:33

On Wed, 2015-21-10 at 05:03:14 UTC, Paul Mackerras wrote:
This reverts commit 9678cdaae93932473f696fdea5debf3eee1e1260 because
the original commit had multiple, partly self-cancelling bugs, that
could cause occasional memory corruption.  In fact the logmpp instruction
was using register r0 as the source of the buffer address and operation
code, and depending on what was in r0, it would either do nothing or
corrupt the 64k page pointed to by r0.  The logmpp instruction encoding
and the operation code definitions could be corrected, but then there is
the problem that there is no clearly defined way to know when the
hardware has finished writing to the buffer.  The original commit
attempted to work around this by aborting the write-out before starting
the prefetch, but this is ineffective in the case where the virtual
core is now executing on a different physical core from the one where
the write-out was initiated.

These problems plus advice from the hardware designers not to use the
function (since the measured performance improvement from using the
feature was actually mostly negative), mean that reverting the code is
the best option.

Signed-off-by: Paul Mackerras <redacted>
Applied to powerpc fixes, thanks.

https://git.kernel.org/powerpc/c/23316316c1af0677a041c81f

cheers
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help