Subject: Re: [PATCH RESEND v2 2/2] virt: acrn: Make remove_cpu sysfs invisible with !CONFIG_HOTPLUG_CPU

From: Shuo A Liu <[email-masked]>
Date: Wed, 24 Feb 2021 09:11:47 +0800

Hi,

On Tue 23.Feb'21 at 15:25:30 +0000, Qais Yousef wrote:
>On 02/21/21 21:43, [email-masked] wrote:
>> From: Shuo Liu <[email-masked]>
>>
>> Without cpu hotplug support, vCPU cannot be removed from a Service VM.
>> Don't expose remove_cpu sysfs when CONFIG_HOTPLUG_CPU disabled.
>>
>> Signed-off-by: Shuo Liu <[email-masked]>
>> Acked-by: Randy Dunlap <[email-masked]> # build-tested
>> Cc: Stephen Rothwell <[email-masked]>
>> Cc: Thomas Gleixner <[email-masked]>
>> Cc: Greg Kroah-Hartman <[email-masked]>
>> Cc: Qais Yousef <[email-masked]>
>> ---
>>  drivers/virt/acrn/hsm.c | 9 +++++++++
>>  1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/virt/acrn/hsm.c b/drivers/virt/acrn/hsm.c
>> index 1f6b7c54a1a4..6996ea6219e5 100644
>> --- a/drivers/virt/acrn/hsm.c
>> +++ b/drivers/virt/acrn/hsm.c
>> @@ -404,6 +404,14 @@ static ssize_t remove_cpu_store(struct device *dev,
>>  }
>>  static DEVICE_ATTR_WO(remove_cpu);
>>
>> +static umode_t acrn_attr_visible(struct kobject *kobj, struct attribute *a, int n)
>> +{
>> +       if (a == &dev_attr_remove_cpu.attr)
>> +               return IS_ENABLED(CONFIG_HOTPLUG_CPU) ? a->mode : 0;
>> +
>> +       return a->mode;
>> +}
>> +
>
>I can't find this code in Linus' master. But this looks fine from my narrow

Now, the code is still in linux-next tree only.

>PoV. Protecting the attribute with ifdef CONFIG_HOTPLUG_CPU is easier to read
>for me, but this doesn't mean this approach is not fine.

Just FYI, Greg prefers this solution.
https://lore.kernel.org/lkml/[email-masked]/

Thanks
shuo