aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-05-08um: Remove leftover declaration of alloc_task_struct_node()Thomas Gleixner
Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-05-08task_allocator: Use config switches instead of magic definesThomas Gleixner
Replace __HAVE_ARCH_TASK_ALLOCATOR and __HAVE_ARCH_THREAD_ALLOCATOR with proper config switches. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Tony Luck <tony.luck@intel.com> Link: http://lkml.kernel.org/r/20120505150142.371309416@linutronix.de
2012-05-08sparc: Use common threadinfo allocatorThomas Gleixner
Exaclty the same as the core code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: David S. Miller <davem@davemloft.net> Link: http://lkml.kernel.org/r/20120505150142.252861878@linutronix.de
2012-05-08score: Use common threadinfo allocatorThomas Gleixner
No point in using kmalloc for allocating 2 pages. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Lennox Wu <lennox.wu@gmail.com> Link: http://lkml.kernel.org/r/20120505150142.123383955@linutronix.de
2012-05-08sh-use-common-threadinfo-allocatorThomas Gleixner
The core now has a threadinfo allocator which uses a kmemcache when THREAD_SIZE < PAGE_SIZE. Deal with the xstate cleanup in the new arch_release_task_struct() function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Paul Mundt <lethal@linux-sh.org> Link: http://lkml.kernel.org/r/20120505150142.189348931@linutronix.de
2012-05-08mn10300: Use common threadinfo allocatorThomas Gleixner
Let the core code allocate and handle the kgdb cleanup with the arch_release_thread_info() function. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120505150141.996582377@linutronix.de
2012-05-08powerpc: Use common threadinfo allocatorThomas Gleixner
The core now has a threadinfo allocator which uses a kmemcache when THREAD_SIZE < PAGE_SIZE. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Link: http://lkml.kernel.org/r/20120505150142.059161130@linutronix.de
2012-05-08mips: Use common threadinfo allocatorThomas Gleixner
No point in using kmalloc for allocating 0, 1 resp. 2 pages for threadinfo. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ralf Baechle <ralf@linux-mips.org> Link: http://lkml.kernel.org/r/20120505150141.936950979@linutronix.de
2012-05-08hexagon: Use common threadinfo allocatorThomas Gleixner
The core now has a threadinfo allocator which uses a kmemcache when THREAD_SIZE < PAGE_SIZE. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Richard Kuo <rkuo@codeaurora.org> Link: http://lkml.kernel.org/r/20120505150141.812612113@linutronix.de
2012-05-08m32r: Use common threadinfo allocatorThomas Gleixner
No reason why m32r needs to use kmalloc to allocate 2 pages instead of using the core allocator. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Hirokazu Takata <takata@linux-m32r.org> Link: http://lkml.kernel.org/r/20120505150141.875430830@linutronix.de
2012-05-08frv: Use common threadinfo allocatorThomas Gleixner
The core now has a threadinfo allocator which uses a kmemcache when THREAD_SIZE < PAGE_SIZE. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120505150141.751600045@linutronix.de
2012-05-08cris: Use common threadinfo allocatorThomas Gleixner
There is no functional difference. __get_free_pages() ends up calling alloc_pages_node(). This also allocates only one page which matches THREAD_SIZE instead of an extra page for nothing. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Link: http://lkml.kernel.org/r/20120505150141.681236240@linutronix.de
2012-05-08x86: Use common threadinfo allocatorThomas Gleixner
The only difference is the free_thread_info function, which frees xstate. Use the new arch_release_task_struct() function instead and switch over to the core allocator. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120505150141.559556763@linutronix.de Cc: x86@kernel.org
2012-05-08c6x: Use common threadinfo allocatorThomas Gleixner
There is no functional difference. __get_free_pages() ends up calling alloc_pages_node(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Mark Salter <msalter@redhat.com> Link: http://lkml.kernel.org/r/20120505150141.621728944@linutronix.de
2012-05-08fork: Provide kmemcache based thread_info allocatorThomas Gleixner
Several architectures have their own kmemcache based thread allocator because THREAD_SIZE is smaller than PAGE_SIZE. Add it to the core code conditionally on THREAD_SIZE < PAGE_SIZE so the private copies can go. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120505150141.491002124@linutronix.de
2012-05-08Merge branch 'smp/threadalloc' into smp/hotplugThomas Gleixner
Reason: Pull in the separate branch which was created so arch/tile can base further work on it. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-05-08tile: Use common threadinfo allocatorThomas Gleixner
Use the core allocator and deal with the extra cleanup in arch_release_thread_info(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Chris Metcalf <cmetcalf@tilera.com> Link: http://lkml.kernel.org/r/20120505150142.311126440@linutronix.de
2012-05-08fork: Provide weak arch_release_[task_struct|thread_info] functionsThomas Gleixner
These functions allow us to move most of the duplicated thread_info allocators to the core code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120505150141.366461660@linutronix.de
2012-05-08fork: Move thread info gfp flags to headerThomas Gleixner
These flags can be useful for extra allocations outside of the core code. Add __GFP_NOTRACK to them, so the archs which have kmemcheck do not have to provide extra allocators just for that reason. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120505150141.428211694@linutronix.de
2012-05-08fork: Remove the weak insanityThomas Gleixner
We error out when compiling with gcc4.1.[01] as it miscompiles __weak. The workaround with magic defines is not longer necessary. Make it __weak again. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120505150141.306358267@linutronix.de
2012-05-08sh: Remove cpu_idle_wait()Thomas Gleixner
cpuidle uses generic kick_all_cpus_sync() now. Remove the unused code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Paul Mundt <lethal@linux-sh.org> Link: http://lkml.kernel.org/r/20120507175652.461648208@linutronix.de
2012-05-08powerpc: Remove unused cpu_idle_wait()Thomas Gleixner
cpuidle uses a generic function now. Remove the cruft. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Link: http://lkml.kernel.org/r/20120507175652.330322737@linutronix.de
2012-05-08ia64: Remove unused cpu_idle_wait()Thomas Gleixner
IA64 does not set CONFIG_ARCH_HAVE_IDLE_WAIT and cpuidle uses a generic function now. Remove the unused code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Tony Luck <tony.luck@intel.com> Link: http://lkml.kernel.org/r/20120507175652.392394511@linutronix.de
2012-05-08arm: Remove unused cpu_idle_wait()Thomas Gleixner
cpuidle uses a generic function now. Remove the unused code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Russell King <linux@arm.linux.org.uk> Link: http://lkml.kernel.org/r/20120507175652.260797846@linutronix.de
2012-05-08x86: Use kick_all_cpus_sync()Thomas Gleixner
Use kick_all_cpus_sync() and remove cpu_idle_wait(). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20120507175652.190382227@linutronix.de Cc: x86@kernel.org
2012-05-08cpuidle: Use kick_all_cpus_sync()Thomas Gleixner
kick_all_cpus_sync() is the core implementation of cpu_idle_wait() which is copied all over the arch code. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20120507175652.119842173@linutronix.de
2012-05-08smp: Implement kick_all_cpus_sync()Thomas Gleixner
Will replace the misnomed cpu_idle_wait() function which is copied a gazillion times all over arch/* Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Link: http://lkml.kernel.org/r/20120507175652.049316594@linutronix.de
2012-05-08powerpc: Fix broken cpu_idle_wait() implementationThomas Gleixner
commit 771dae818 (powerpc/cpuidle: Add cpu_idle_wait() to allow switching of idle routines) implemented cpu_idle_wait() for powerpc. The changelog says: "The equivalent routine for x86 is in arch/x86/kernel/process.c but the powerpc implementation is different.": Unfortunately the changelog is completely useless as it does not tell _WHY_ it is different. Aside of being different the implementation is patently wrong. The rescheduling IPI is async. That means that there is no guarantee, that the other cores have executed the IPI when cpu_idle_wait() returns. But that's the whole purpose of this function: to guarantee that no CPU uses the old idle handler anymore. Use the smp_functional_call() based implementation, which fulfils the requirements. [ This code is going to replaced by a core version to remove all the pointless copies in arch/*, but this one should go to stable ] Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Deepthi Dharwar <deepthi@linux.vnet.ibm.com> Cc: Trinabh Gupta <g.trinabh@gmail.com> Cc: Arun R Bharadwaj <arun.r.bharadwaj@gmail.com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Link: http://lkml.kernel.org/r/20120507175651.980164748@linutronix.de Cc: stable@vger.kernel.org
2012-05-07mips: Use PAGE_SIZE for INIT_TASK_DATA alignment againThomas Gleixner
957b369c (mips: Use generic init_task) optimistically replaced the PAGE_SIZE INIT_TASK_DATA alignment with THREAD_SIZE, but THREAD_SIZE is not defined, so the linking stage breaks. Reported-by: Ingo Molnar <mingo@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-05-07parisc: Fix init_task falloutThomas Gleixner
Forgot to remove the objects from the Makefiles. Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2012-05-05init_task: Replace CONFIG_HAVE_GENERIC_INIT_TASKThomas Gleixner
Now that all archs except ia64 are converted, replace the config and let the ia64 select CONFIG_ARCH_INIT_TASK Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120503085035.867948914@linutronix.de
2012-05-05xtensa: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Chris Zankel <chris@zankel.net> Link: http://lkml.kernel.org/r/20120503085035.804059531@linutronix.de
2012-05-05x86: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120503085035.739963562@linutronix.de Cc: x86@kernel.org
2012-05-05um: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Richard Weinberger <richard@nod.at> Link: http://lkml.kernel.org/r/20120503085035.592937512@linutronix.de
2012-05-05unicore32: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Link: http://lkml.kernel.org/r/20120503085035.669622065@linutronix.de
2012-05-05tile: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Chris Metcalf <cmetcalf@tilera.com> Link: http://lkml.kernel.org/r/20120503085035.528129988@linutronix.de
2012-05-05sparc: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: "David S. Miller" <davem@davemloft.net> Acked-by: Sam Ravnborg <sam@ravnborg.org> Link: http://lkml.kernel.org/r/20120503085035.463573011@linutronix.de
2012-05-05sh: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Paul Mundt <lethal@linux-sh.org> Link: http://lkml.kernel.org/r/20120503085035.398257169@linutronix.de
2012-05-05score: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Chen Liqin <liqin.chen@sunplusct.com> Link: http://lkml.kernel.org/r/20120503085035.332320547@linutronix.de
2012-05-05s390: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com> Link: http://lkml.kernel.org/r/20120503085035.271439530@linutronix.de
2012-05-05powerpc: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Link: http://lkml.kernel.org/r/20120503085035.211123184@linutronix.de
2012-05-05parisc: Use generic init_taskThomas Gleixner
Same code, except: The alignment of init_thread_union is handled via the linker script, so no point to have it with the data structure. The extra asm(".data") looks like a leftover from an asm to C conversion and is pointless. Use the generic version. Move the page table data to parisc/mm/init.c and get rid of parisc/../init_task.c Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: James E.J. Bottomley <jejb@parisc-linux.org> Link: http://lkml.kernel.org/r/20120503085035.150896946@linutronix.de
2012-05-05openrisc: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Jonas Bonn <jonas@southpole.se> Link: http://lkml.kernel.org/r/20120503085035.083343435@linutronix.de
2012-05-05mn10300: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: David Howells <dhowells@redhat.com> Link: http://lkml.kernel.org/r/20120503085035.011270394@linutronix.de
2012-05-05mips: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Make the linker script align the task on THREAD_SIZE and not on PAGE_SIZE, as PAGE_SIZE might be smaller than THREAD_SIZE. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Ralf Baechle <ralf@linux-mips.org> Link: http://lkml.kernel.org/r/20120503085034.941344764@linutronix.de
2012-05-05microblaze: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Michal Simek <monstr@monstr.eu> Link: http://lkml.kernel.org/r/20120503085034.881532838@linutronix.de
2012-05-05m68k: Use generic init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Link: http://lkml.kernel.org/r/20120503085034.816195285@linutronix.de
2012-05-05m32r: Use generic init_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Hirokazu Takata <takata@linux-m32r.org> Link: http://lkml.kernel.org/r/20120503085034.756332161@linutronix.de
2012-05-05hexagon: Use generic idle_taskThomas Gleixner
Same code. Use the generic version. The special Makefile treatment is pointless anyway as init_task.o contains only data which is handled by the linker script. So no point on being treated like head text. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20120503085034.692078846@linutronix.de Acked-and-tested-by: Richard Kuo <rkuo@codeaurora.org>
2012-05-05h8300-use-generic-init_taskThomas Gleixner
Same code. Use the generic version. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Link: http://lkml.kernel.org/r/20120503085034.623666760@linutronix.de