Tree/Branch: master
Git describe: v4.7-rc1-147-ge603330
Commit: e603330c86 Merge branch 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm
Build Time: 79 min 36 sec
Passed: 9 / 9 (100.00 %)
Failed: 0 / 9 ( 0.00 %)
Errors: 0
Warnings: 3
Section Mismatches: 0
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
3 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Warnings Summary: 3
2 ../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
1 ../fs/reiserfs/ibalance.c:1156:2: warning: 'new_insert_key' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
../fs/reiserfs/ibalance.c:1156:2: warning: 'new_insert_key' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allnoconfig
Tree/Branch: next-20160603
Git describe: next-20160603
Commit: 64289ca05e Add linux-next specific files for 20160603
Build Time: 79 min 41 sec
Passed: 9 / 9 (100.00 %)
Failed: 0 / 9 ( 0.00 %)
Errors: 0
Warnings: 2
Section Mismatches: 0
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
2 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm-allmodconfig
-------------------------------------------------------------------------------
Warnings Summary: 2
2 ../drivers/dma-buf/sync_file.c:85:53: warning: format '%d' expects argument of type 'int', but argument 6 has type 'u64 {aka long long unsigned int}' [-Wformat=]
1 ../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 2 warnings, 0 section mismatches
Warnings:
../drivers/dma-buf/sync_file.c:85:53: warning: format '%d' expects argument of type 'int', but argument 6 has type 'u64 {aka long long unsigned int}' [-Wformat=]
../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
-------------------------------------------------------------------------------
arm-allmodconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/dma-buf/sync_file.c:85:53: warning: format '%d' expects argument of type 'int', but argument 6 has type 'u64 {aka long long unsigned int}' [-Wformat=]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allnoconfig
x86_64-allnoconfig
arm64-defconfig
Hi Rafael,
This cleans up cpufreq core and few platform drivers a bit. Its mostly
around cleaning up the usage of cpufreq_frequency_table_target(), which
will be optimized in a separate series.
This is just preparatory cleanup for that.
V1->V2:
- Dropped one powernv patch which wasn't really required.
- Dropped one more patch as its already applied by the ARM mach
maintainer.
- Added Reviewed-by in the first patch
- Just rebased otherwise, no other changes.
Viresh Kumar (6):
cpufreq: s3c24xx: Remove useless checks
cpufreq: Remove cpufreq_frequency_get_table()
cpufreq: ondemand: Don't keep a copy of freq_table pointer
cpufreq: Drop freq-table param to cpufreq_frequency_table_target()
cpufreq: Drop 'freq_table' argument of __target_index()
cpufreq: Return index from cpufreq_frequency_table_target()
Documentation/cpu-freq/cpu-drivers.txt | 8 ++---
drivers/cpufreq/amd_freq_sensitivity.c | 10 +++---
drivers/cpufreq/cpufreq.c | 66 ++++++++++++----------------------
drivers/cpufreq/cpufreq_ondemand.c | 25 ++++++-------
drivers/cpufreq/cpufreq_ondemand.h | 1 -
drivers/cpufreq/cpufreq_stats.c | 3 +-
drivers/cpufreq/freq_table.c | 35 +++++++++---------
drivers/cpufreq/powernv-cpufreq.c | 5 ++-
drivers/cpufreq/ppc_cbe_cpufreq_pmi.c | 3 +-
drivers/cpufreq/s3c24xx-cpufreq.c | 33 ++++-------------
drivers/cpufreq/s5pv210-cpufreq.c | 8 ++---
drivers/thermal/cpu_cooling.c | 22 +++++++++---
include/linux/cpufreq.h | 6 +---
13 files changed, 88 insertions(+), 137 deletions(-)
--
2.7.1.410.g6faf27b
Hi Guys,
This work in inspired by some of the concerns raised by Steve in one of
his patchset.
Currently, the cpufreq drivers aren't required to provide a sorted list
of frequencies to the cpufreq-core and so traversing that list match a
target frequency is very inefficient.
This is not bearable by, for example, the fast-switch path of schedutil
governor and so we have moved the traversing logic local to the
acpi-cpufreq driver for now. That is better handled in the core, but it
has to be efficient first.
OTOH, even for traditional governors without a fast-switch path, it
would be much better to be able to traverse this table quickly.
The ideal solution would be to keep a single *sorted* freq-table in
struct cpufreq_policy. But there are few dependencies due to which it
can't be done today (Hint: cpufreq drivers are abusing the 'index'
passed to them, to refer to multiple arrays).
And so for now, lets create a separate table local to the cpufreq-core
*only*.
This modifies the existing API cpufreq_frequency_table_target() to use
the sorted table.
Lightly tested on Exynos board, frequencies were getting selected as
expected.
V1->V2:
- This optimizes cpufreq_frequency_table_target() instead of new APIs.
- Is rebased over bleeding-edge + following cleanup series.
[PATCH 0/8] cpufreq: cleanups and reorganization
--
viresh
Viresh Kumar (2):
cpufreq: Store sorted frequency table
cpufreq: Optimize cpufreq_frequency_table_target()
drivers/cpufreq/acpi-cpufreq.c | 15 +--
drivers/cpufreq/cpufreq.c | 23 ++--
drivers/cpufreq/freq_table.c | 247 ++++++++++++++++++++++++++------------
drivers/cpufreq/s3c24xx-cpufreq.c | 13 +-
include/linux/cpufreq.h | 23 +++-
5 files changed, 220 insertions(+), 101 deletions(-)
--
2.7.1.410.g6faf27b
Hi Rafael,
This series fixes all cpufreq drivers that provide a 'target_index'
callback or in other words, which provide a freq-table to cpufreq core,
to make sure they *only* use the 'index' argument to ->target_index()
with the policy->freq_table.
This change allows us to remove the (duplicate) sorted-freq-table, which
was added by following series:
[PATCH V2 0/2] cpufreq: Use sorted frequency tables
The final code looks like this:
- drivers provide a freq table to the cpufreq core
- core makes a copy of that and sort that in ascending order of
frequencies. This is what we get from policy->freq_table.
- drivers can now free the freq-table they provided earlier.
- ->target_index() contains the 'index' to this sorted
policy->freq_table.
This is based of the two series I have posted until now:
[PATCH V2 0/6] cpufreq: cleanups and reorganization
[PATCH V2 0/2] cpufreq: Use sorted frequency tables
All the patches are pushed here for testing in case anyone wants to try:
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git cpufreq/sorted-freq-table
The 3 series combined makes freq-table traversing to find a match really
fast and efficient. Which will also allow us to use it for new governors
like schedutil.
--
viresh
Viresh Kumar (11):
ARM: davinci: Sort frequency table
cpufreq: davinci: Reuse cpufreq_generic_frequency_table_verify()
cpufreq: Use policy->freq_table in ->target_index()
cpufreq: blackfin: Use 'index' only to index into policy->freq_table
cpufreq: elanfreq: Use 'index' only to index into policy->freq_table
cpufreq: exynos: Use 'index' only to index into policy->freq_table
cpufreq: ia64: Use 'index' only to index into policy->freq_table
cpufreq: imx: Use 'index' only to index into policy->freq_table
cpufreq: maple: Use 'index' only to index into policy->freq_table
cpufreq: Keep a single (sorted) freq_table
cpufreq: drivers: Free frequency tables after being used
arch/arm/mach-davinci/da850.c | 16 ++++++++-------
drivers/cpufreq/acpi-cpufreq.c | 7 +++----
drivers/cpufreq/arm_big_little.c | 2 +-
drivers/cpufreq/at32ap-cpufreq.c | 8 ++++----
drivers/cpufreq/blackfin-cpufreq.c | 17 +++++++++++-----
drivers/cpufreq/cpufreq-dt.c | 9 ++++-----
drivers/cpufreq/cpufreq.c | 6 +-----
drivers/cpufreq/cris-artpec3-cpufreq.c | 2 +-
drivers/cpufreq/cris-etraxfs-cpufreq.c | 2 +-
drivers/cpufreq/davinci-cpufreq.c | 22 +--------------------
drivers/cpufreq/dbx500-cpufreq.c | 3 ++-
drivers/cpufreq/e_powersaver.c | 26 +++++++++++++-----------
drivers/cpufreq/elanfreq.c | 8 +++++++-
drivers/cpufreq/exynos5440-cpufreq.c | 13 ++++++++----
drivers/cpufreq/freq_table.c | 36 +++++++++++++---------------------
drivers/cpufreq/ia64-acpi-cpufreq.c | 16 ++++++++++-----
drivers/cpufreq/imx6q-cpufreq.c | 13 +++++++++---
drivers/cpufreq/kirkwood-cpufreq.c | 2 +-
drivers/cpufreq/loongson1-cpufreq.c | 10 +---------
drivers/cpufreq/loongson2_cpufreq.c | 5 ++---
drivers/cpufreq/maple-cpufreq.c | 6 ++++++
include/linux/cpufreq.h | 9 ++-------
22 files changed, 117 insertions(+), 121 deletions(-)
--
2.7.1.410.g6faf27b
Tree/Branch: master
Git describe: v4.7-rc1-122-g4340fa5
Commit: 4340fa5529 Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
Build Time: 79 min 36 sec
Passed: 9 / 9 (100.00 %)
Failed: 0 / 9 ( 0.00 %)
Errors: 0
Warnings: 3
Section Mismatches: 0
-------------------------------------------------------------------------------
defconfigs with issues (other than build errors):
3 warnings 0 mismatches : arm64-allmodconfig
1 warnings 0 mismatches : arm64-defconfig
-------------------------------------------------------------------------------
Warnings Summary: 3
2 ../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
1 ../fs/reiserfs/ibalance.c:1156:2: warning: 'new_insert_key' may be used uninitialized in this function [-Wmaybe-uninitialized]
1 ../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
===============================================================================
Detailed per-defconfig build reports below:
-------------------------------------------------------------------------------
arm64-allmodconfig : PASS, 0 errors, 3 warnings, 0 section mismatches
Warnings:
../fs/reiserfs/ibalance.c:1156:2: warning: 'new_insert_key' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/staging/iio/adc/ad7606_spi.c:24:18: warning: 'data' may be used uninitialized in this function [-Wmaybe-uninitialized]
../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
-------------------------------------------------------------------------------
arm64-defconfig : PASS, 0 errors, 1 warnings, 0 section mismatches
Warnings:
../drivers/xen/balloon.c:154:13: warning: 'release_memory_resource' declared 'static' but never defined [-Wunused-function]
-------------------------------------------------------------------------------
Passed with no errors, warnings or mismatches:
arm64-allnoconfig
arm-multi_v5_defconfig
arm-multi_v7_defconfig
x86_64-defconfig
arm-allmodconfig
arm-allnoconfig
x86_64-allnoconfig
Hi Rafael,
This cleans up cpufreq core and few platform drivers a bit. Its mostly
around cleaning up the usage of cpufreq_frequency_table_target(), which
will be optimized in a later series.
This is just preparatory cleanup for that.
Also note that the 4th patch was sent earlier as well in a different
form and this is V3 of that.
Viresh Kumar (8):
ARM: s3c24xx: Sort cpufreq tables
cpufreq: s3c24xx: Remove useless checks
cpufreq: powerenv: Fix memory leak
cpufreq: Remove cpufreq_frequency_get_table()
cpufreq: ondemand: Don't keep a copy of freq_table pointer
cpufreq: Drop freq-table param to cpufreq_frequency_table_target()
cpufreq: Drop 'freq_table' argument of __target_index()
cpufreq: Return index from cpufreq_frequency_table_target()
Documentation/cpu-freq/cpu-drivers.txt | 8 ++--
arch/arm/mach-s3c24xx/pll-s3c2410.c | 3 +-
arch/arm/mach-s3c24xx/pll-s3c2440-12000000.c | 1 +
arch/arm/mach-s3c24xx/pll-s3c2440-16934400.c | 1 +
drivers/cpufreq/amd_freq_sensitivity.c | 10 ++---
drivers/cpufreq/cpufreq.c | 66 ++++++++++------------------
drivers/cpufreq/cpufreq_ondemand.c | 25 +++++------
drivers/cpufreq/cpufreq_ondemand.h | 1 -
drivers/cpufreq/cpufreq_stats.c | 3 +-
drivers/cpufreq/freq_table.c | 35 +++++++--------
drivers/cpufreq/powernv-cpufreq.c | 18 ++++----
drivers/cpufreq/ppc_cbe_cpufreq_pmi.c | 3 +-
drivers/cpufreq/s3c24xx-cpufreq.c | 33 +++-----------
drivers/cpufreq/s5pv210-cpufreq.c | 8 +---
drivers/thermal/cpu_cooling.c | 22 +++++++---
include/linux/cpufreq.h | 6 +--
16 files changed, 100 insertions(+), 143 deletions(-)
--
2.7.1.410.g6faf27b