This patchset allows for setup_rfi_flush() to be called again after PowerVM LPM (live partition mobility) aka LPAR migration.
It's originally written by Michael Ellerman; I just rebased it on top of powerpc/merge as of 2018-02-14 BRST (commit 3f6f556). I tested it with a debug patch (sending shortly) to shortcut the LPM functions migration_store() and post_mobility_fixup() to just reach pseries_setup_rfi_flush(), and abuse the boot option 'no_rfi_flush' not to allocate the fallback flush area at boot (to simulate the migration from patched to unpatched system). Testing: ------- Fallback flush area allocated at boot time: # dmesg | grep rfi-flush [ 0.000000] rfi-flush: Using fallback displacement flush [ 0.000000] rfi-flush: patched 8 locations # echo > /sys/kernel/mobility/migration # dmesg | grep rfi-flush [ 0.000000] rfi-flush: Using fallback displacement flush [ 0.000000] rfi-flush: patched 8 locations [ 51.793238] rfi-flush: Using fallback displacement flush [ 51.793258] rfi-flush: patched 8 locations Fallback flush area NOT allocated at boot time: # grep -o no_rfi_flush /proc/cmdline no_rfi_flush # dmesg | grep rfi-flush [ 0.000000] rfi-flush: disabled on command line. [ 0.000000] rfi-flush: re-enabled # echo > /sys/kernel/mobility/migration # dmesg | grep rfi-flush [ 0.000000] rfi-flush: disabled on command line. [ 0.000000] rfi-flush: re-enabled [ 31.817921] rfi-flush: Error unable to use fallback displacement flush! [ 31.817927] rfi-flush: patched 8 locations Michael Ellerman (3): rfi-flush: Move the logic to avoid a redo into the debugfs code rfi-flush: Make it possible to call setup_rfi_flush() again rfi-flush: Call setup_rfi_flush() after LPM migration arch/powerpc/include/asm/setup.h | 2 +- arch/powerpc/kernel/setup_64.c | 38 +++++++++++++++++++++++-------- arch/powerpc/platforms/pseries/mobility.c | 3 +++ arch/powerpc/platforms/pseries/pseries.h | 2 ++ arch/powerpc/platforms/pseries/setup.c | 2 +- 5 files changed, 36 insertions(+), 11 deletions(-) -- 2.7.4