Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Skip to content
Commit faf249dd authored by Alex Van Brunt's avatar Alex Van Brunt Committed by Jan Altensen
Browse files

Squash: power efficiency patches



arm64: atomic: add load/store exclusive functions

Add functions that wrap the load and store exlusive functions so that
non-assemby code can use it.

Change-Id: I223f085bec454a156bef1ca659540cdd5c8e521f
Signed-off-by: default avatarAlex Van Brunt <avanbrunt@nvidia.com>
Reviewed-on: http://git-master/r/361735


Reviewed-by: default avatarPeng Du <pdu@nvidia.com>
Reviewed-on: http://git-master/r/365058


Reviewed-by: default avatarRichard Wiley <rwiley@nvidia.com>
Tested-by: default avatarOskari Jaaskelainen <oskarij@nvidia.com>

arm64: atomics: add more special load/store

Simplify load and store inlines by wrapping them in macros. Then add
load-aquire and store-release inline functions.

Change-Id: I9cb64548aa1d1562b2b8f2768561c3208e4174f7
Signed-off-by: default avatarAlex Van Brunt <avanbrunt@nvidia.com>
Reviewed-on: http://git-master/r/369077


Reviewed-by: default avatarRichard Wiley <rwiley@nvidia.com>

asm-generic: processor.h: adding new header file

Defining a new header file and adding architecture
independent macros. Using these macros we are optimizing
power usage on ARM64.

bug 1440421

Change-Id: I7393d35703d0b0a504331653d70f109a50a197c7
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/381905


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>
Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm: including asm-generic/processor.h

Here we are including asm-generic/processor.h
because it has defined some generic macros which
can be used by any architecture for optimaztion
of power usage.

bug 1440421

Change-Id: I39db944d348b3dad9235b76d8c7ea3867c0006ce
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/368823


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>
Reviewed-by: default avatarPeng Du <pdu@nvidia.com>
Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

ARM64: defining macros to optimize power usage

Here we have defined some macros such as
cpu_relaxed_read, cpu_relaxed_read_long,
cpu_read_relax in arch/arm64/include/asm/processor.h
which will be used to enhance power optimization on Denver.

bug 1440421

Here we are trying to improve power optimazation
using some macros such

Change-Id: I313e47b35e9a638fe81b7350887f59eeacc45bc1
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/381950


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

sched: Trying to reduce power usage

Using macros cpu_relaxed_read, cpu_relaxed_read_long and
cpu_read_relax in core.c to improve power efficiency.

Bug 1440421

Change-Id: Ic49b88fa6fb0cb847fed49886b2865bed72203db
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/368841


Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>
Tested-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

mutex: save power with better cpu_relax

Use cpu_relaxed_read and cpu_read_relax to allow more architectures to be able
to "relax" instead of busy spinning.

Bug 1440421

Change-Id: I48e36d7b3c953fe43ebb23ea814de7738c91e394
Signed-off-by: default avatarAlex Van Brunt <avanbrunt@nvidia.com>
Reviewed-on: http://git-master/r/412712


Reviewed-by: default avatarSumit Singh <sumsingh@nvidia.com>
GVS: Gerrit_Virtual_Submit
Signed-off-by: default avatarAndrei F <luxneb@gmail.com>

asm-generic: atomic.h: relaxed atomic_read

Defining relaxed version of atomic read as cpu_relaxed_read_atomic
which will be used for improving power efficiency for arm64.

bug 1440421

Change-Id: I6ac26653ec3d62f74d8c21f250dcdaf9dfb75b9b
Signed-off-by: default avatarAlex Van Brunt <avanbrunt@nvidia.com>
(cherry picked from commit 7360c3df73afa07361eecab730903e0697d3408f)
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/415628


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm: atomic.h: defined relaxed atomic_read

Defining relaxed version of atomic read as cpu_relaxed_read_atomic.

bug 1440421

Change-Id: I39303d72350985890c7eb5a1afc768c3f8064b47
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
(cherry picked from commit 6c20e8c2aed05ad1a9d1b41cfdd875dc377db44c)
Reviewed-on: http://git-master/r/415637


GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm64: atomic.h: defining relaxed atomic_read

Defining relaxed version of atomic read as cpu_relaxed_read_atomic
which will be used for improving power efficiency for arm64.

bug 1440421

Change-Id: I5a88b8e66ec3021335905109010efc856ffa7c7e
Signed-off-by: default avatarAlex Van Brunt <avanbrunt@nvidia.com>
(cherry picked from commit f53c05073d148adfe7abe153f1569c4bd655fb44)
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/415639


GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

asm-generic: relaxed.h: defined relaxed.h

Defined a new header file relaxed.h, which contains basic
macros which will be used for improving power efficiency for
arm64.

bug 1440421

Change-Id: I5ae7503afdfbaa951827bbf466d8ddccf444f558
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398315
(cherry picked from commit dd434aeb1afea1d9ebce1099fb6ecfa7c6c762c6)
Reviewed-on: http://git-master/r/422203


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm: asm: relaxed.h: defined relaxed.h

Defined a new header file relaxed.h, which uses generic
definitions of some macros used by arm64 for improving
power efficiency.

bug 1440421

Change-Id: I654dcef609812e3bb54e6c892c1554f9cbb4bd3d
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398766
(cherry picked from commit a96e59b1959f3ee216503b4f9df3cb75f7093ed6)
Reviewed-on: http://git-master/r/422211


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

asm-generic: processor.h: remove redundant macros

Removing cpu_relaxed_read and cpu_relaxed_read_long macros from
processor.h, as these macros are defined in asm-generic/relaxed.h.

Bug 1440421

Change-Id: I5d1ba25755e1c9d33b080dfe01ba838289f306af
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/400093
(cherry picked from commit 57eb21e2d4cad3ce1f85283cfffd0eff85a6d17d)
Reviewed-on: http://git-master/r/422209


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm64: asm: relaxed.h: defined relaxed.h

Defined a new header file relaxed.h, which contains
arm64 specific macros which will be used to improve
power efficiency of arm64.

bug 1440421

Change-Id: Iee14115490cb16001d5eac9e309ee6e088b88f44
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398323
(cherry picked from commit beb69cd6d2893c36712d4f927e41da0de729d651)
Reviewed-on: http://git-master/r/422212


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

arm64: processor.h: remove redundant macros

Removing cpu_relaxed_read and cpu_relaxed_read_long macros from
processor.h, as these macros are defined in asm/relaxed.h.

bug 1440421

Change-Id: Ic766ac6e34eefe93f90349c088626a0fb277670c
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/400127
(cherry picked from commit 108bf0b30d72c52e33dd4fec71dd1ed5baf13ed2)
Reviewed-on: http://git-master/r/422214


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

hrtimer: enhance power efficiency

Defining relaxed version of hrtimer_callback_running(),
which will be used to improve power efficiency through
the use of macro cpu_relaxed_read_long.

Bug 1440421

Change-Id: Ie42d7ae9628a817d52f4636781e11b607327c2c5
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398789
(cherry picked from commit 0d9f5fc1d39d7d1809519b5d11bf7ac72287b7c6)
Reviewed-on: http://git-master/r/422255


Reviewed-by: Automatic_Commit_Validation_User
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarBharat Nihalani <bnihalani@nvidia.com>

seqlock: enhance power efficiency

Trying to improve the power efficiency in linux/seqlock.h,
using macros cpu_relaxed_read and cpu_read_relax.

Bug 1440421

Change-Id: I8dcc9dc9c72e5a6848c7823768c76f5d38e9f0d1
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/398943
(cherry picked from commit ed77ee4d50641b1a5668545c946cda681c06fcd2)
Reviewed-on: http://git-master/r/422258


GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>

llist: defining relaxed version of llist_empty

Defining relaxed version of llist_empty as llist_empty_relaxed,
which will be used for power-optimization.

bug 1440421

Change-Id: I1c4c34b381e49775ed08ddd606d9744a7e7e1fba
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/426483


Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>

smp: enhance power efficiency

Here we are trying to reduce power usage through the
use of macros cpu_relaxed_read_short and cpu_relaxed_read.

Bug 1440421

Change-Id: I114d122cf58b1cf7b93b4b5f5d712360a2f1e096
Signed-off-by: default avatarSumit Singh <sumsingh@nvidia.com>
Reviewed-on: http://git-master/r/425947


Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: default avatarSri Krishna Chowdary <schowdary@nvidia.com>
GVS: Gerrit_Virtual_Submit
Reviewed-by: default avatarAlexander Van Brunt <avanbrunt@nvidia.com>
Signed-off-by: default avatarAndrei F <luxneb@gmail.com>

Conflicts:
	kernel/smp.c

llist: Replace usages of llist_empty with relaxed version

hrtimer: Replace usages of hrtimer_callback_running with relaxed version
parent 19181a66
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment