Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1577431 > unrolled thread
| Started by | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| First post | 2017-02-09 10:50 +0100 |
| Last post | 2017-02-09 10:50 +0100 |
| Articles | 4 — 1 participant |
Back to article view | Back to linux.kernel
[PATCH v2 0/9] Fix issues and factorize arm/arm64 capacity information code Juri Lelli <juri.lelli@arm.com> - 2017-02-09 10:50 +0100
[PATCH v2 3/9] arm: fix return value of parse_cpu_capacity Juri Lelli <juri.lelli@arm.com> - 2017-02-09 10:50 +0100
[PATCH v2 1/9] Documentation: arm: fix wrong reference number in DT definition Juri Lelli <juri.lelli@arm.com> - 2017-02-09 10:50 +0100
[PATCH v2 4/9] arm: remove wrong CONFIG_PROC_SYSCTL ifdef Juri Lelli <juri.lelli@arm.com> - 2017-02-09 10:50 +0100
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2017-02-09 10:50 +0100 |
| Subject | [PATCH v2 0/9] Fix issues and factorize arm/arm64 capacity information code |
| Message-ID | <t8Td8-4n9-7@gated-at.bofh.it> |
Hi, arm and arm64 topology.c share a lot of code related to parsing of capacity information. This is v2 of a solution [1] (based on Will's, Catalin's and Mark's off-line suggestions) to move such common code in a single place: drivers/base/arch_topology.c (by creating such file and conditionally compiling it for arm and arm64 only). First 5 patches are actually fixes for the current code. Patch 6 is the actual refactoring. Patch 7 removes one of the extern symbols by changing a bit the now common code. Patch 8 removes the remaining externs (as required by Russell during v1 review) by creating a new header file include/linux/arch_topology.h and including that from arm, arm64 and drivers. Last patch addresses Dietmar's comments to v1 and adds a 'atd_' prefix to interfaces exported by drivers code and used by arch (and potentially others in the future). Changes from v1: - rebase on top of 4.10-rc7 - fix licence issue as pointed out by Russell - propose a solution for removing all remaining externs - addressed Dietmar's comments regarding better namespaces The set is based on top of linux/master (4.10-rc7 d5adbfcd5f7b) and it is also available from: git://linux-arm.org/linux-jl.git upstream/default_caps_factorize-v2 Best, - Juri [1] v1 - https://marc.info/?l=linux-kernel&m=148483680119355&w=2 Juri Lelli (9): Documentation: arm: fix wrong reference number in DT definition Documentation/ABI: add information about cpu_capacity arm: fix return value of parse_cpu_capacity arm: remove wrong CONFIG_PROC_SYSCTL ifdef arm64: remove wrong CONFIG_PROC_SYSCTL ifdef arm, arm64: factorize common cpu capacity default code arm,arm64,drivers: reduce scope of cap_parsing_failed arm,arm64,drivers: move externs in a new header file arm,arm64,drivers: add a prefix to drivers arch_topology interfaces Documentation/ABI/testing/sysfs-devices-system-cpu | 7 + Documentation/devicetree/bindings/arm/cpus.txt | 4 +- arch/arm/Kconfig | 1 + arch/arm/kernel/topology.c | 221 +------------------ arch/arm64/Kconfig | 1 + arch/arm64/kernel/topology.c | 228 +------------------- drivers/base/Kconfig | 8 + drivers/base/Makefile | 1 + drivers/base/arch_topology.c | 238 +++++++++++++++++++++ include/linux/arch_topology.h | 17 ++ 10 files changed, 285 insertions(+), 441 deletions(-) create mode 100644 drivers/base/arch_topology.c create mode 100644 include/linux/arch_topology.h -- 2.10.0
[toc] | [next] | [standalone]
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2017-02-09 10:50 +0100 |
| Subject | [PATCH v2 3/9] arm: fix return value of parse_cpu_capacity |
| Message-ID | <t8Twu-4tQ-19@gated-at.bofh.it> |
| In reply to | #1577431 |
parse_cpu_capacity() has to return 0 on failure, but it currently returns
1 instead if raw_capacity kcalloc failed.
Fix it by removing the negation of the return value.
Cc: Russell King <linux@arm.linux.org.uk>
Reported-by: Morten Rasmussen <morten.rasmussen@arm.com>
Fixes: 06073ee26775 ('ARM: 8621/3: parse cpu capacity-dmips-mhz from DT')
Signed-off-by: Juri Lelli <juri.lelli@arm.com>
---
arch/arm/kernel/topology.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index ebf47d91b804..b439f7fff86b 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -165,7 +165,7 @@ static int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu)
if (!raw_capacity) {
pr_err("cpu_capacity: failed to allocate memory for raw capacities\n");
cap_parsing_failed = true;
- return !ret;
+ return ret;
}
}
capacity_scale = max(cpu_capacity, capacity_scale);
--
2.10.0
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2017-02-09 10:50 +0100 |
| Subject | [PATCH v2 1/9] Documentation: arm: fix wrong reference number in DT definition |
| Message-ID | <t8Twu-4tQ-27@gated-at.bofh.it> |
| In reply to | #1577431 |
Reference to cpu capacity binding has a wrong number. Fix it.
Reported-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Juri Lelli <juri.lelli@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
---
Documentation/devicetree/bindings/arm/cpus.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Documentation/devicetree/bindings/arm/cpus.txt b/Documentation/devicetree/bindings/arm/cpus.txt
index a1bcfeed5f24..c27376a27a92 100644
--- a/Documentation/devicetree/bindings/arm/cpus.txt
+++ b/Documentation/devicetree/bindings/arm/cpus.txt
@@ -246,7 +246,7 @@ nodes to be present and contain the properties described below.
Usage: Optional
Value type: <u32>
Definition:
- # u32 value representing CPU capacity [3] in
+ # u32 value representing CPU capacity [4] in
DMIPS/MHz, relative to highest capacity-dmips-mhz
in the system.
@@ -473,5 +473,5 @@ cpus {
[2] arm/msm/qcom,kpss-acc.txt
[3] ARM Linux kernel documentation - idle states bindings
Documentation/devicetree/bindings/arm/idle-states.txt
-[3] ARM Linux kernel documentation - cpu capacity bindings
+[4] ARM Linux kernel documentation - cpu capacity bindings
Documentation/devicetree/bindings/arm/cpu-capacity.txt
--
2.10.0
[toc] | [prev] | [next] | [standalone]
| From | Juri Lelli <juri.lelli@arm.com> |
|---|---|
| Date | 2017-02-09 10:50 +0100 |
| Subject | [PATCH v2 4/9] arm: remove wrong CONFIG_PROC_SYSCTL ifdef |
| Message-ID | <t8Twu-4tQ-25@gated-at.bofh.it> |
| In reply to | #1577431 |
The sysfs cpu_capacity entry for each CPU has nothing to do with
PROC_FS, nor it's in /proc/sys path.
Remove such ifdef.
Cc: Russell King <linux@arm.linux.org.uk>
Reported-and-suggested-by: Sudeep Holla <sudeep.holla@arm.com>
Fixes: 7e5930aaef5d ('ARM: 8622/3: add sysfs cpu_capacity attribute')
Signed-off-by: Juri Lelli <juri.lelli@arm.com>
---
arch/arm/kernel/topology.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index b439f7fff86b..c760a321935b 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -56,7 +56,6 @@ static void set_capacity_scale(unsigned int cpu, unsigned long capacity)
per_cpu(cpu_scale, cpu) = capacity;
}
-#ifdef CONFIG_PROC_SYSCTL
static ssize_t cpu_capacity_show(struct device *dev,
struct device_attribute *attr,
char *buf)
@@ -113,7 +112,6 @@ static int register_cpu_capacity_sysctl(void)
return 0;
}
subsys_initcall(register_cpu_capacity_sysctl);
-#endif
#ifdef CONFIG_OF
struct cpu_efficiency {
--
2.10.0
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web