Re: [patch V2 04/28] x86/speculation: Reorganize cpu_show_common()
On Sun, Nov 25, 2018 at 07:33:32PM +0100, Thomas Gleixner wrote: > The Spectre V2 printout in cpu_show_common() handles conditionals for the > various mitigation methods directly in the sprintf() argument list. That's > hard to read and will become unreadable if more complex decisions need to > be made for a particular method. > > Move the conditionals for STIBP and IBPB string selection into helper > functions, so they can be extended later on. > Yeeey! Reviewed-by: Konrad Rzeszutek Wilk Thank you! > Signed-off-by: Tim Chen > Signed-off-by: Thomas Gleixner > > --- > arch/x86/kernel/cpu/bugs.c | 20 ++-- > 1 file changed, 18 insertions(+), 2 deletions(-) > > --- a/arch/x86/kernel/cpu/bugs.c > +++ b/arch/x86/kernel/cpu/bugs.c > @@ -844,6 +844,22 @@ static ssize_t l1tf_show_state(char *buf > } > #endif > > +static char *stibp_state(void) > +{ > + if (x86_spec_ctrl_base & SPEC_CTRL_STIBP) > + return ", STIBP"; > + else > + return ""; > +} > + > +static char *ibpb_state(void) > +{ > + if (boot_cpu_has(X86_FEATURE_USE_IBPB)) > + return ", IBPB"; > + else > + return ""; > +} > + > static ssize_t cpu_show_common(struct device *dev, struct device_attribute > *attr, > char *buf, unsigned int bug) > { > @@ -865,9 +881,9 @@ static ssize_t cpu_show_common(struct de > > case X86_BUG_SPECTRE_V2: > return sprintf(buf, "%s%s%s%s%s%s\n", > spectre_v2_strings[spectre_v2_enabled], > -boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : > "", > +ibpb_state(), > boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", > IBRS_FW" : "", > -(x86_spec_ctrl_base & SPEC_CTRL_STIBP) ? ", > STIBP" : "", > +stibp_state(), > boot_cpu_has(X86_FEATURE_RSB_CTXSW) ? ", RSB > filling" : "", > spectre_v2_module_string()); > > >
Re: [patch V2 04/28] x86/speculation: Reorganize cpu_show_common()
On Sun, Nov 25, 2018 at 07:33:32PM +0100, Thomas Gleixner wrote: > The Spectre V2 printout in cpu_show_common() handles conditionals for the > various mitigation methods directly in the sprintf() argument list. That's > hard to read and will become unreadable if more complex decisions need to > be made for a particular method. > > Move the conditionals for STIBP and IBPB string selection into helper > functions, so they can be extended later on. > Yeeey! Reviewed-by: Konrad Rzeszutek Wilk Thank you! > Signed-off-by: Tim Chen > Signed-off-by: Thomas Gleixner > > --- > arch/x86/kernel/cpu/bugs.c | 20 ++-- > 1 file changed, 18 insertions(+), 2 deletions(-) > > --- a/arch/x86/kernel/cpu/bugs.c > +++ b/arch/x86/kernel/cpu/bugs.c > @@ -844,6 +844,22 @@ static ssize_t l1tf_show_state(char *buf > } > #endif > > +static char *stibp_state(void) > +{ > + if (x86_spec_ctrl_base & SPEC_CTRL_STIBP) > + return ", STIBP"; > + else > + return ""; > +} > + > +static char *ibpb_state(void) > +{ > + if (boot_cpu_has(X86_FEATURE_USE_IBPB)) > + return ", IBPB"; > + else > + return ""; > +} > + > static ssize_t cpu_show_common(struct device *dev, struct device_attribute > *attr, > char *buf, unsigned int bug) > { > @@ -865,9 +881,9 @@ static ssize_t cpu_show_common(struct de > > case X86_BUG_SPECTRE_V2: > return sprintf(buf, "%s%s%s%s%s%s\n", > spectre_v2_strings[spectre_v2_enabled], > -boot_cpu_has(X86_FEATURE_USE_IBPB) ? ", IBPB" : > "", > +ibpb_state(), > boot_cpu_has(X86_FEATURE_USE_IBRS_FW) ? ", > IBRS_FW" : "", > -(x86_spec_ctrl_base & SPEC_CTRL_STIBP) ? ", > STIBP" : "", > +stibp_state(), > boot_cpu_has(X86_FEATURE_RSB_CTXSW) ? ", RSB > filling" : "", > spectre_v2_module_string()); > > >
Re: [patch V2 04/28] x86/speculation: Reorganize cpu_show_common()
On Sun, Nov 25, 2018 at 07:33:32PM +0100, Thomas Gleixner wrote: > The Spectre V2 printout in cpu_show_common() handles conditionals for the > various mitigation methods directly in the sprintf() argument list. That's > hard to read and will become unreadable if more complex decisions need to > be made for a particular method. > > Move the conditionals for STIBP and IBPB string selection into helper > functions, so they can be extended later on. > > Signed-off-by: Tim Chen > Signed-off-by: Thomas Gleixner > > --- > arch/x86/kernel/cpu/bugs.c | 20 ++-- > 1 file changed, 18 insertions(+), 2 deletions(-) Just a nitpick: That subject should probably be more like: "x86/speculation: Move cpu_show_common() string generation in separate functions" or so, as it is not really reorganizing - just carving out functionality. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.
Re: [patch V2 04/28] x86/speculation: Reorganize cpu_show_common()
On Sun, Nov 25, 2018 at 07:33:32PM +0100, Thomas Gleixner wrote: > The Spectre V2 printout in cpu_show_common() handles conditionals for the > various mitigation methods directly in the sprintf() argument list. That's > hard to read and will become unreadable if more complex decisions need to > be made for a particular method. > > Move the conditionals for STIBP and IBPB string selection into helper > functions, so they can be extended later on. > > Signed-off-by: Tim Chen > Signed-off-by: Thomas Gleixner > > --- > arch/x86/kernel/cpu/bugs.c | 20 ++-- > 1 file changed, 18 insertions(+), 2 deletions(-) Just a nitpick: That subject should probably be more like: "x86/speculation: Move cpu_show_common() string generation in separate functions" or so, as it is not really reorganizing - just carving out functionality. -- Regards/Gruss, Boris. Good mailing practices for 400: avoid top-posting and trim the reply.