Hello, Kajol Jain <kj...@linux.ibm.com> writes: > Function 'read_sys_info_pseries()' is added to get system parameter > values like number of sockets and chips per socket. > and it gets these details via rtas_call with token > "PROCESSOR_MODULE_INFO". > > Incase lpar migrate from one system to another, system > parameter details like chips per sockets or number of sockets might > change. So, it needs to be re-initialized otherwise, these values > corresponds to previous system values. > This patch adds a call to 'read_sys_info_pseries()' from > 'post-mobility_fixup()' to re-init the physsockets and physchips values > > Signed-off-by: Kajol Jain <kj...@linux.ibm.com> > --- > arch/powerpc/platforms/pseries/mobility.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+)
Please cc me on patches for this code, thanks. I see no technical problems with how this patch handles partition migration. However: "Update post_mobility_fixup() to handle migration" is not an appropriate summary for this change. post_mobility_fixup() already handles migration. A better summary would be "powerpc/pseries: update hv-24x7 info after migration" > diff --git a/arch/powerpc/platforms/pseries/mobility.c > b/arch/powerpc/platforms/pseries/mobility.c > index b571285f6c14..0fb8f1e6e9d2 100644 > --- a/arch/powerpc/platforms/pseries/mobility.c > +++ b/arch/powerpc/platforms/pseries/mobility.c > @@ -42,6 +42,12 @@ struct update_props_workarea { > #define MIGRATION_SCOPE (1) > #define PRRN_SCOPE -2 > > +#ifdef CONFIG_HV_PERF_CTRS > +void read_sys_info_pseries(void); > +#else > +static inline void read_sys_info_pseries(void) { } > +#endif This should go in a header. > static int mobility_rtas_call(int token, char *buf, s32 scope) > { > int rc; > @@ -371,6 +377,16 @@ void post_mobility_fixup(void) > /* Possibly switch to a new RFI flush type */ > pseries_setup_rfi_flush(); > > + /* > + * In case an Lpar migrates from one system to another, system > + * parameter details like chips per sockets, cores per chip and > + * number of sockets details might change. > + * So, they needs to be re-initialized otherwise the > + * values will correspond to the previous system. > + * Call read_sys_info_pseries() to reinitialise the values. > + */ This is needlessly verbose; any literate reader of this code knows this is used immediately after resuming from a suspend (migration). If you give your hook a more descriptive name, the comment becomes unnecessary. > + read_sys_info_pseries(); > +