]> www.infradead.org Git - users/jedix/linux-maple.git/commit
sparc64: create/destroy cpu sysfs dynamically
authorAtish Patra <atish.patra@oracle.com>
Wed, 1 Mar 2017 02:18:26 +0000 (19:18 -0700)
committerChuck Anderson <chuck.anderson@oracle.com>
Thu, 6 Apr 2017 07:13:44 +0000 (00:13 -0700)
commit7f4192f5d12c49cf72c39d8a2d46f638681fd014
tree9ced149ec3e3c8d5b41d86ee9d62791be9676359
parent3b565b8c8115d396ca91e79552529d48092d8589
sparc64: create/destroy cpu sysfs dynamically

Currently, cpu/cpuX represents maximum number of possible
cpus in a domain. Those cpu sysfs directories also does
not change as we add/remove cpus via ldom manager.

Update sysfs so that it represents number of present cpus
in the domain. As a result, cpu sysfs is also updated
dynamically upon cpu add/removal.

Orabug: 21775890
Orabug: 25216469

Before the fix:
[root@ca-sparc76 ~]# ldm list
NAME             STATE      FLAGS   CONS VCPU  MEMORY UTIL  NORM  UPTIME
primary          active     -n-cv-  UART 32    32G    0.2%  0.2%  11m

[root@ca-sparc76 ~]# getconf _NPROCESSORS_CONF
512
[root@ca-sparc76 ~]# ldm set-vcpu 64 primary
[root@ca-sparc76 ~]# ldm list
NAME             STATE      FLAGS   CONS VCPU  MEMORY UTIL  NORM  UPTIME
primary          active     -n-cv-  UART 64    32G    0.0%  0.0%  12m
[root@ca-sparc76 ~]# getconf _NPROCESSORS_CONF
512
-------------------------------------------------------------------------
After the fix:
[root@ca-sparc76 ~]# getconf _NPROCESSORS_CONF
32
[root@ca-sparc76 ~]# ldm set-vcpu 64 primary
[root@ca-sparc76 ~]# ldm list
NAME             STATE      FLAGS   CONS  VCPU  MEMORY UTIL  NORM  UPTIME
primary          active     -n-cv-  UART  64    32G    0.0%  0.0%  12m
[root@ca-sparc76 ~]# getconf _NPROCESSORS_CONF
64

Signed-off-by: Atish Patra <atish.patra@oracle.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Thomas Tai <thomas.tai@oracle.com>
Signed-off-by: Allen Pais <allen.pais@oracle.com>
arch/sparc/include/asm/smp_64.h
arch/sparc/kernel/ds.c
arch/sparc/kernel/sysfs.c