lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 8 Jan 2012 15:32:28 +0200 From: Gilad Ben-Yossef <gilad@...yossef.com> To: linux-kernel@...r.kernel.org Cc: Gilad Ben-Yossef <gilad@...yossef.com>, David Airlie <airlied@...ux.ie>, dri-devel@...ts.freedesktop.org, Benjamin Herrenschmidt <benh@...nel.crashing.org>, Paul Mackerras <paulus@...ba.org>, Grant Likely <grant.likely@...retlab.ca>, Rob Herring <rob.herring@...xeda.com>, linuxppc-dev@...ts.ozlabs.org, devicetree-discuss@...ts.ozlabs.org, Richard Henderson <rth@...ddle.net>, Ivan Kokshaysky <ink@...assic.park.msu.ru>, Matt Turner <mattst88@...il.com>, linux-alpha@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>, "H. Peter Anvin" <hpa@...or.com>, x86@...nel.org, Tony Luck <tony.luck@...el.com>, Fenghua Yu <fenghua.yu@...el.com>, linux-ia64@...r.kernel.org, Will Deacon <will.deacon@....com>, Peter Zijlstra <a.p.zijlstra@...llo.nl>, Arnaldo Carvalho de Melo <acme@...stprotocols.net>, Russell King <linux@....linux.org.uk>, linux-arm-kernel@...ts.infradead.org Subject: [RFC PATCH v2 8/9] smp: refactor on_each_cpu to void returning func on_each_cpu returns the retunr value of smp_call_function which is hard coded to 0. Refactor on_each_cpu to a void function and the few callers that check the return value to save compares and branches. Signed-off-by: Gilad Ben-Yossef <gilad@...yossef.com> Acked-by: Peter Zijlstra <a.p.zijlstra@...llo.nl> Reviewed-by: Michal Nazarewicz <mina86@...a86.com> CC: David Airlie <airlied@...ux.ie> CC: dri-devel@...ts.freedesktop.org CC: Benjamin Herrenschmidt <benh@...nel.crashing.org> CC: Paul Mackerras <paulus@...ba.org> CC: Grant Likely <grant.likely@...retlab.ca> CC: Rob Herring <rob.herring@...xeda.com> CC: linuxppc-dev@...ts.ozlabs.org CC: devicetree-discuss@...ts.ozlabs.org CC: Richard Henderson <rth@...ddle.net> CC: Ivan Kokshaysky <ink@...assic.park.msu.ru> CC: Matt Turner <mattst88@...il.com> CC: linux-alpha@...r.kernel.org CC: Thomas Gleixner <tglx@...utronix.de> CC: Ingo Molnar <mingo@...hat.com> CC: "H. Peter Anvin" <hpa@...or.com> CC: x86@...nel.org CC: Tony Luck <tony.luck@...el.com> CC: Fenghua Yu <fenghua.yu@...el.com> CC: linux-ia64@...r.kernel.org CC: Will Deacon <will.deacon@....com> CC: Peter Zijlstra <a.p.zijlstra@...llo.nl> CC: Arnaldo Carvalho de Melo <acme@...stprotocols.net> CC: Russell King <linux@....linux.org.uk> CC: linux-arm-kernel@...ts.infradead.org --- include/linux/smp.h | 7 +++---- kernel/smp.c | 6 ++---- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/include/linux/smp.h b/include/linux/smp.h index 8cc38d3..050ddd4 100644 --- a/include/linux/smp.h +++ b/include/linux/smp.h @@ -99,7 +99,7 @@ static inline void call_function_init(void) { } /* * Call a function on all processors */ -int on_each_cpu(smp_call_func_t func, void *info, int wait); +void on_each_cpu(smp_call_func_t func, void *info, int wait); /* * Mark the boot cpu "online" so that it can call console drivers in @@ -126,12 +126,11 @@ static inline int up_smp_call_function(smp_call_func_t func, void *info) #define smp_call_function(func, info, wait) \ (up_smp_call_function(func, info)) #define on_each_cpu(func,info,wait) \ - ({ \ + { \ local_irq_disable(); \ func(info); \ local_irq_enable(); \ - 0; \ - }) + } static inline void smp_send_reschedule(int cpu) { } #define num_booting_cpus() 1 #define smp_prepare_boot_cpu() do {} while (0) diff --git a/kernel/smp.c b/kernel/smp.c index db197d6..f66a1b2 100644 --- a/kernel/smp.c +++ b/kernel/smp.c @@ -687,17 +687,15 @@ void __init smp_init(void) * early_boot_irqs_disabled is set. Use local_irq_save/restore() instead * of local_irq_disable/enable(). */ -int on_each_cpu(void (*func) (void *info), void *info, int wait) +void on_each_cpu(void (*func) (void *info), void *info, int wait) { unsigned long flags; - int ret = 0; preempt_disable(); - ret = smp_call_function(func, info, wait); + smp_call_function(func, info, wait); local_irq_save(flags); func(info); local_irq_restore(flags); preempt_enable(); - return ret; } EXPORT_SYMBOL(on_each_cpu); -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists