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

Michael Ellerman mpe at ellerman.id.au
Wed Oct 21 22:42:32 AEDT 2015


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 <paulus at samba.org>

Applied to powerpc fixes, thanks.

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

cheers


More information about the Linuxppc-dev mailing list