On Tue, 26 Mar 2019, Josh Poimboeuf wrote:
> On Tue, Mar 26, 2019 at 02:53:04PM +0100, Thomas Gleixner wrote:
> > > Makes sense.  I like #3.  I can post another version.
> > 
> > Yes, please.
> 
> Something like so (on top of the original patch)?
> 
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu 
> b/Documentation/ABI/testing/sysfs-devices-system-cpu
> index 4a11cba73085..5eea46fefcb2 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> @@ -511,11 +511,12 @@ Description:    Control Symetric Multi Threading (SMT)
>               control: Read/write interface to control SMT. Possible
>                        values:
>  
> -                      "on"           SMT is enabled
> -                      "off"          SMT is disabled
> -                      "forceoff"     SMT is force disabled. Cannot be 
> changed.
> -                      "notsupported" Runtime SMT toggling is not currently
> -                                     supported for the architecture
> +                      "on"             SMT is enabled
> +                      "off"            SMT is disabled
> +                      "forceoff"       SMT is force disabled. Cannot be 
> changed.
> +                      "notsupported"   SMT is not supported by the CPU
> +                      "notimplemented" SMT runtime toggling is not
> +                                       implemented for the architecture
>  
>                        If control status is "forceoff" or "notsupported" 
> writes
>                        are rejected.
> diff --git a/kernel/cpu.c b/kernel/cpu.c
> index 517ab1803a22..05a71ee98440 100644
> --- a/kernel/cpu.c
> +++ b/kernel/cpu.c
> @@ -2145,7 +2145,11 @@ static const char *smt_states[] = {
>  static ssize_t
>  show_smt_control(struct device *dev, struct device_attribute *attr, char 
> *buf)
>  {
> -     return snprintf(buf, PAGE_SIZE - 2, "%s\n", 
> smt_states[cpu_smt_control]);
> +     const char *state = IS_ENABLED(CONFIG_HOTPLUG_SMT) ?
> +                             smt_states[cpu_smt_control] :
> +                             "notimplemented";
> +
> +     return snprintf(buf, PAGE_SIZE - 2, "%s\n", state);
>  }

Looks good!

Thanks,

        tglx

Reply via email to