[PATCH 0/3] Setup RFI flush after PowerVM LPM migration

Mauricio Faria de Oliveira mauricfo at linux.vnet.ibm.com
Thu Feb 15 08:33:38 AEDT 2018


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



More information about the Linuxppc-dev mailing list