Message ID | 20200327063642.26175-6-kjain@linux.ibm.com (mailing list archive) |
---|---|
State | Changes Requested |
Headers | show |
Series | powerpc/hv-24x7: Expose chip/sockets info to add json file metric support for the hv_24x7 socket/chip level events | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch powerpc/merge (c6624071c338732402e8c726df6a4074473eaa0e) |
snowpatch_ozlabs/build-ppc64le | warning | Build succeeded but added 1 new sparse warnings |
snowpatch_ozlabs/build-ppc64be | warning | Build succeeded but added 1 new sparse warnings |
snowpatch_ozlabs/build-ppc64e | success | Build succeeded |
snowpatch_ozlabs/build-pmac32 | success | Build succeeded |
snowpatch_ozlabs/checkpatch | success | total: 0 errors, 0 warnings, 0 checks, 18 lines checked |
snowpatch_ozlabs/needsstable | success | Patch has no Fixes tags |
On 3/27/20 12:06 PM, Kajol Jain wrote: > 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. Changes looks fine to me. Reviewed-by: Madhavan Srinivasan <maddy@linux.ibm.com> > Signed-off-by: Kajol Jain <kjain@linux.ibm.com> > --- > arch/powerpc/platforms/pseries/mobility.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c > index b571285f6c14..226accd6218b 100644 > --- a/arch/powerpc/platforms/pseries/mobility.c > +++ b/arch/powerpc/platforms/pseries/mobility.c > @@ -371,6 +371,18 @@ void post_mobility_fixup(void) > /* Possibly switch to a new RFI flush type */ > pseries_setup_rfi_flush(); > > + /* > + * Incase lpar migrate from one system to another, system > + * parameter details like chips per sockets and number of sockets > + * might change. So, it needs to be re-initialized otherwise these > + * values corresponds to previous system. > + * Here, adding a call to read_sys_info_pseries() declared in > + * platforms/pseries/pseries.h to re-init the physsockets and > + * physchips value. > + */ > + if (IS_ENABLED(CONFIG_HV_PERF_CTRS) && IS_ENABLED(CONFIG_PPC_RTAS)) > + read_sys_info_pseries(); > + > return; > } >
Kajol Jain <kjain@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 <kjain@linux.ibm.com> > --- > arch/powerpc/platforms/pseries/mobility.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c > index b571285f6c14..226accd6218b 100644 > --- a/arch/powerpc/platforms/pseries/mobility.c > +++ b/arch/powerpc/platforms/pseries/mobility.c > @@ -371,6 +371,18 @@ void post_mobility_fixup(void) > /* Possibly switch to a new RFI flush type */ > pseries_setup_rfi_flush(); > > + /* > + * Incase lpar migrate from one system to another, system In case an LPAR migrates > + * parameter details like chips per sockets and number of sockets > + * might change. So, it needs to be re-initialized otherwise these ^ ^ they need the > + * values corresponds to previous system. ^ will correspond to the > + * Here, adding a call to read_sys_info_pseries() declared in Adding is the wrong tense in a comment. When someone reads the comment the code has already been added. Past tense would be right, but really the comment shouldn't say what you did, it should say why. > + * platforms/pseries/pseries.h to re-init the physsockets and > + * physchips value. Call read_sys_info_pseries() to reinitialise the values. > + */ > + if (IS_ENABLED(CONFIG_HV_PERF_CTRS) && IS_ENABLED(CONFIG_PPC_RTAS)) > + read_sys_info_pseries(); The RTAS check is not needed. pseries always selects RTAS. You shouldn't need the IS_ENABLED() check here though, do it with an empty version in the header when CONFIG_HV_PERF_CTRS is not enabled. cheers
On 4/29/20 5:07 PM, Michael Ellerman wrote: > Kajol Jain <kjain@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 <kjain@linux.ibm.com> >> --- >> arch/powerpc/platforms/pseries/mobility.c | 12 ++++++++++++ >> 1 file changed, 12 insertions(+) >> >> diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c >> index b571285f6c14..226accd6218b 100644 >> --- a/arch/powerpc/platforms/pseries/mobility.c >> +++ b/arch/powerpc/platforms/pseries/mobility.c >> @@ -371,6 +371,18 @@ void post_mobility_fixup(void) >> /* Possibly switch to a new RFI flush type */ >> pseries_setup_rfi_flush(); >> >> + /* >> + * Incase lpar migrate from one system to another, system > > In case an LPAR migrates > >> + * parameter details like chips per sockets and number of sockets >> + * might change. So, it needs to be re-initialized otherwise these > ^ ^ > they need the >> + * values corresponds to previous system. > ^ > will correspond to the > >> + * Here, adding a call to read_sys_info_pseries() declared in > > Adding is the wrong tense in a comment. When someone reads the comment > the code has already been added. Past tense would be right, but really > the comment shouldn't say what you did, it should say why. > >> + * platforms/pseries/pseries.h to re-init the physsockets and >> + * physchips value. > > Call read_sys_info_pseries() to reinitialise the values. > >> + */ >> + if (IS_ENABLED(CONFIG_HV_PERF_CTRS) && IS_ENABLED(CONFIG_PPC_RTAS)) >> + read_sys_info_pseries(); > > The RTAS check is not needed. pseries always selects RTAS. > > You shouldn't need the IS_ENABLED() check here though, do it with an > empty version in the header when CONFIG_HV_PERF_CTRS is not enabled. > Hi Michael, Thanks for reviewing the patch. Is something like this you are suggesting. Please let me know if my understanding is fine. +#ifndef CONFIG_HV_PERF_CTRS +#define read_sys_info_pseries() +#endif Thanks, Kajol Jain > cheers >
kajoljain <kjain@linux.ibm.com> writes: > On 4/29/20 5:07 PM, Michael Ellerman wrote: >> Kajol Jain <kjain@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 <kjain@linux.ibm.com> >>> --- >>> arch/powerpc/platforms/pseries/mobility.c | 12 ++++++++++++ >>> 1 file changed, 12 insertions(+) >>> >>> diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c >>> index b571285f6c14..226accd6218b 100644 >>> --- a/arch/powerpc/platforms/pseries/mobility.c >>> +++ b/arch/powerpc/platforms/pseries/mobility.c >>> @@ -371,6 +371,18 @@ void post_mobility_fixup(void) >>> /* Possibly switch to a new RFI flush type */ >>> pseries_setup_rfi_flush(); >>> >>> + /* >>> + * Incase lpar migrate from one system to another, system >> >> In case an LPAR migrates >> >>> + * parameter details like chips per sockets and number of sockets >>> + * might change. So, it needs to be re-initialized otherwise these >> ^ ^ >> they need the >>> + * values corresponds to previous system. >> ^ >> will correspond to the >> >>> + * Here, adding a call to read_sys_info_pseries() declared in >> >> Adding is the wrong tense in a comment. When someone reads the comment >> the code has already been added. Past tense would be right, but really >> the comment shouldn't say what you did, it should say why. >> >>> + * platforms/pseries/pseries.h to re-init the physsockets and >>> + * physchips value. >> >> Call read_sys_info_pseries() to reinitialise the values. >> >>> + */ >>> + if (IS_ENABLED(CONFIG_HV_PERF_CTRS) && IS_ENABLED(CONFIG_PPC_RTAS)) >>> + read_sys_info_pseries(); >> >> The RTAS check is not needed. pseries always selects RTAS. >> >> You shouldn't need the IS_ENABLED() check here though, do it with an >> empty version in the header when CONFIG_HV_PERF_CTRS is not enabled. >> > > Hi Michael, > Thanks for reviewing the patch. Is something like this you are suggesting. Please > let me know if my understanding is fine. > > +#ifndef CONFIG_HV_PERF_CTRS > +#define read_sys_info_pseries() > +#endif It should be an empty static inline. So more like: #ifdef CONFIG_HV_PERF_CTRS void read_sys_info_pseries(void); #else static inline void read_sys_info_pseries(void) { } #endif cheers
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c index b571285f6c14..226accd6218b 100644 --- a/arch/powerpc/platforms/pseries/mobility.c +++ b/arch/powerpc/platforms/pseries/mobility.c @@ -371,6 +371,18 @@ void post_mobility_fixup(void) /* Possibly switch to a new RFI flush type */ pseries_setup_rfi_flush(); + /* + * Incase lpar migrate from one system to another, system + * parameter details like chips per sockets and number of sockets + * might change. So, it needs to be re-initialized otherwise these + * values corresponds to previous system. + * Here, adding a call to read_sys_info_pseries() declared in + * platforms/pseries/pseries.h to re-init the physsockets and + * physchips value. + */ + if (IS_ENABLED(CONFIG_HV_PERF_CTRS) && IS_ENABLED(CONFIG_PPC_RTAS)) + read_sys_info_pseries(); + return; }
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 <kjain@linux.ibm.com> --- arch/powerpc/platforms/pseries/mobility.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)