Re: /sys/devices/system/cpu/possible can be changed during runtime?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you Carpenter for answering my question.

Oops.. I did not know that kernel-janitors is not right place for asking
general kernel related esoteric topics. Then, what is proper mailing
list? Can you recommend me some places to ask this question?

You mentioned CPU hotplugging. That's a good point. But When I tested
hotplugging CPU using QMEU/KVM, I only observed that
/sys/devices/system/cpu/{online,offline} changed, while
/sys/devices/system/cpu/possible did not change.

regards,
    Junyeong Jeong

Dan Carpenter <dan.carpenter@xxxxxxxxxx> writes:

> On Mon, Mar 15, 2021 at 02:35:06PM +0900, Junyeong Jeong wrote:
>> Hello everyone :D
>> 
>> I wonder that possible-CPU-mask(/sys/devices/system/cpu/possible) can be
>> changed during runtime. I read that it is fixed at boot time, but I am
>> not sure that it is really immutable even if some cgroup or
>> virtualization magic is used.
>> 
>> I am referring to /sys/devices/system/cpu/possible file to get to know
>> the number of per-cpu areas. In userspace, I call `bpf_lookup_elem()` to
>> get values at index from BPF array map of which type is
>> BPF_MAP_TYPE_PERCPU_ARRAY.  And the length of the gained values is the
>> same with the number of per-cpu areas and in turn it is the same with
>> the number of possible CPUs.
>> 
>> I am anxious that this varies from time to time under some
>> circumstances. So I checked some cgroup and virtualization use-cases
>> which did not affect the possible-CPU-mask.
>> 
>> $ docker run --cpuset-cpus=0-3 -it ubuntu:20.10 bash  # cgroup cpuset
>> $ virsh setvcpus --current ubuntu20.10 5  # hotplug cpu while guest os is running..
>> 
>> But while conducting this I realized that it's not possible to prove the
>> immutability of possible-CPU-mask using inductive method.
>> 
>> Can anyone explain that it will not happen that possible-CPU-mask
>> changes after boot-time even with cgroup magic or some tricks from
>> outside of hypervisors?
>> 
>> Thanks,
>
> Kernel janitors is mostly about fixing and updating kernel API, not
> discussing how the kernel works.
>
> You can't write to that sysfs file.
> -r--r--r-- 1 root root 4096 Mar 17 11:28 /sys/devices/system/cpu/possible
> But we do allow people to add and remove CPUs while the system is
> running (CPU hotplug).  The number of CPUs is not necessarily fixed at
> boot time.  It's not immutable.
>
> I'm not sure if this helps?
>
> regards,
> dan carpenter




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux