[RFC PATCH 0/9] Remove useless on_each_cpu return value

From: Gilad Ben-Yossef
Date: Tue Jan 03 2012 - 09:20:00 EST


on_each_cpu() returns as its own return value the return value of
smp_call_function(). smp_call_function() in turn returns a hard
coded value of zero.

Some callers to on_each_cpu() waste cycles and bloat code space
by checking the return value to on_each_cpu(), probably for
historical reasons.

This patch set refactors callers to not test on_each_cpu()
(fixed) return value and then refactors on_each_cpu to
return void to avoid confusing future users.

In other words, this patch aims to delete 18 source code lines
while not changing any functionality :-)

I tested as best as I could the x86 changes and compiled some
of the others, but I don't have access to all the needed hardware
for testing. Reviewers and testers welcome!

CC: Michal Nazarewicz <mina86@xxxxxxxxxx>
CC: David Airlie <airlied@xxxxxxxx>
CC: dri-devel@xxxxxxxxxxxxxxxxxxxxx
CC: Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx>
CC: Paul Mackerras <paulus@xxxxxxxxx>
CC: Grant Likely <grant.likely@xxxxxxxxxxxx>
CC: Rob Herring <rob.herring@xxxxxxxxxxx>
CC: linuxppc-dev@xxxxxxxxxxxxxxxx
CC: devicetree-discuss@xxxxxxxxxxxxxxxx
CC: Richard Henderson <rth@xxxxxxxxxxx>
CC: Ivan Kokshaysky <ink@xxxxxxxxxxxxxxxxxxxx>
CC: Matt Turner <mattst88@xxxxxxxxx>
CC: linux-alpha@xxxxxxxxxxxxxxx
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CC: Ingo Molnar <mingo@xxxxxxxxxx>
CC: "H. Peter Anvin" <hpa@xxxxxxxxx>
CC: x86@xxxxxxxxxx
CC: Tony Luck <tony.luck@xxxxxxxxx>
CC: Fenghua Yu <fenghua.yu@xxxxxxxxx>
CC: linux-ia64@xxxxxxxxxxxxxxx
CC: Will Deacon <will.deacon@xxxxxxx>
CC: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
CC: Arnaldo Carvalho de Melo <acme@xxxxxxxxxxxxxxxxxx>
CC: Russell King <linux@xxxxxxxxxxxxxxxx>
CC: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx

Gilad Ben-Yossef (9):
arm: avoid using on_each_cpu hard coded ret value
ia64: avoid using on_each_cpu hard coded ret value
x86: avoid using on_each_cpu hard coded ret value
alpha: avoid using on_each_cpu hard coded ret value
ppc: avoid using on_each_cpu hard coded ret value
agp: avoid using on_each_cpu hard coded ret value
drm: avoid using on_each_cpu hard coded ret value
smp: refactor on_each_cpu to void returning func
x86: refactor wbinvd_on_all_cpus to void function

arch/alpha/kernel/smp.c | 7 ++-----
arch/arm/kernel/perf_event.c | 2 +-
arch/ia64/kernel/perfmon.c | 12 ++----------
arch/powerpc/kernel/rtas.c | 3 +--
arch/x86/include/asm/smp.h | 5 ++---
arch/x86/lib/cache-smp.c | 4 ++--
drivers/char/agp/generic.c | 3 +--
drivers/gpu/drm/drm_cache.c | 3 +--
include/linux/smp.h | 7 +++----
kernel/smp.c | 6 ++----
10 files changed, 17 insertions(+), 35 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html