drivers: Replace __get_cpu_var with __this_cpu_read if not used for an address.
authorChristoph Lameter <cl@linux.com>
Mon, 6 Dec 2010 17:16:24 +0000 (11:16 -0600)
committerTejun Heo <tj@kernel.org>
Fri, 17 Dec 2010 14:07:18 +0000 (15:07 +0100)
commit4a6f4fe8377720e5a279fdbb769946c242e936d3
tree9684b9d39fe8b3aa620465ca0a51e4aacbfdd633
parent12938a9220a38d555e38dc9b40021e664b99a1f1
drivers: Replace __get_cpu_var with __this_cpu_read if not used for an address.

__get_cpu_var() can be replaced with this_cpu_read and will then use a single
read instruction with implied address calculation to access the correct per cpu
instance.

However, the address of a per cpu variable passed to __this_cpu_read() cannot be
determed (since its an implied address conversion through segment prefixes).
Therefore apply this only to uses of __get_cpu_var where the addres of the
variable is not used.

V3->V4:
- Move one instance of this_cpu_inc_return to a later patch
  so that this one can go in without percpu infrastructrure
  changes.

Sedat: fixed compile failure caused by an extra ')'.

Cc: Neil Horman <nhorman@tuxdriver.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Sedat Dilek <sedat.dilek@gmail.com>
Acked-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/acpi/processor_idle.c
drivers/cpuidle/cpuidle.c
drivers/s390/cio/cio.c
drivers/staging/speakup/fakekey.c