Commit Graph

129 Commits

Author SHA1 Message Date
Will Schmidt
dcca2bde4f During VM oom condition, kill all threads in process group
We have had complaints where a threaded application is left in a bad state
after one of it's threads is killed when we hit a VM: out_of_memory
condition.

Killing just one of the process threads can leave the application in a bad
state, whereas killing the entire process group would allow for the
application to restart, or be otherwise handled, and makes it very obvious
that something has gone wrong.

This change allows the entire process group to be taken down, rather
than just the one thread.

Signed-off-by: Will Schmidt <will_schmidt@vnet.ibm.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ian Molton <spyro@f2s.com>
Cc: Haavard Skinnemoen <hskinnemoen@atmel.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Andi Kleen <ak@suse.de>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Cc: Matthew Wilcox <willy@debian.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Richard Curnow <rc@rc0.org.uk>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Chris Zankel <chris@zankel.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:42:52 -07:00
Alexey Dobriyan
1bcf548293 Consolidate PTRACE_DETACH
Identical handlers of PTRACE_DETACH go into ptrace_request().
Not touching compat code.
Not touching archs that don't call ptrace_request.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Acked-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-16 09:42:49 -07:00
Paul Mundt
cb0f3fe08d sh64: mach-cayman: Build fixes.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-09 15:56:24 +09:00
Paul Mundt
7b523c9e08 sh64: Symbol export fixups.
Kill off the __div_table reference, modern compilers don't have it,
and old compilers can't build the sh64 kernel anyways.

__copy_user also needs to be exported to satisfy module builds.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-09 15:55:40 +09:00
Paul Mundt
3f7a0ce3b7 sh64: linker script tidying and alignment fixups.
Use more of the generic section helpers, and get the alignment
for some of the sections reduced. Follows the sh change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-09 15:53:16 +09:00
Paul Mundt
0f1d884d3a sh64: Set KBUILD_IMAGE to make the rpm target happy.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-09 15:52:06 +09:00
Paul Mundt
d78ffa0dcc sh64: Kill off obsolete linux/blk.h reference.
This is just dead code, kill it off..

Reported-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-09 15:51:06 +09:00
Thomas Gleixner
948d12cbc3 sh64: cleanup struct irqaction initializers.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-03 15:02:14 +09:00
Paul Mundt
090495b54f sh64: Kill off dead gdb stub symbol.
There's no supported GDB stub in the kernel, kill off the dead
config option for it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 18:05:36 +09:00
Paul Mundt
137a84acae sh64: alphanumeric display only on Cayman.
Dependency cleanup. The non-cayman boards don't have the mach callbacks
for this and build error badness ensues.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 18:04:55 +09:00
Paul Mundt
40ebfdbf53 sh64: Add defconfigs for mach-sim and mach-harp.
defconfigs for the simulator and ST50-HARP.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 18:02:58 +09:00
Paul Mundt
0c09e7d17c sh64: update cayman defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:48:28 +09:00
Paul Mundt
8653fe49fc sh64: Tidy up Kconfig dependencies.
Now that the ROM-RAM and generic boards are killed off, refactor
the dependencies accordingly. Those were the only special cases,
so all of the Kconfig dependency hell gets much cleaner as a result.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:45:24 +09:00
Paul Mundt
049aa166b1 sh64: Move consistent DMA routines to arch/sh64/mm/.
The consistent DMA stuff was evolved from the old PCI DMA mapping
functions. As this has been overhauled, it's something that is
used by the generic DMA mapping code, and thus, has no intrinsic
PCI dependence.

Move the routines somewhere more sensible (same place as sh), and
fix up the build for CONFIG_PCI=n in the process.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:43:11 +09:00
Paul Mundt
749c84966c sh64: Some symbol exports and build fixes.
This fixes up misc build issues that were hit on the non-cayman
boards. Additionally, quite a few symbols needed to be exported
to fix the module build.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:36:47 +09:00
Paul Mundt
6b3d7f02a1 sh64: mach-sim: Build fixes.
Follow the mach-harp changes to get the simulator support building.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:31:27 +09:00
Paul Mundt
7786962bee sh64: mach-harp: Build fixes.
Get the ST50-HARP building again.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 17:30:40 +09:00
Paul Mundt
ced238f35b sh64: Kill off duplicate frame pointer option.
This is already enabled through lib/Kconfig.debug, kill off the
architecture specific one.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 16:24:53 +09:00
Paul Mundt
d006772550 sh64: Kill off dead ROM-RAM and generic boards.
The generic board stubs were never added, and the ROM-RAM boards
never made it in to the wild. Neither one has any users, and both
are utterly broken in-tree (likely since 2.4). Kill them both off.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 16:20:41 +09:00
Paul Mundt
4e99b0b8d2 sh64: Tidy up includes for Cayman board.
There were quite a few left over includes from code that was removed
long ago, rip out the stuff we no longer need.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 16:16:34 +09:00
Paul Mundt
1ef7cbbe21 sh64: Move *_p() I/O routine variants to io.h.
These were implemented using an ugly macro for just simple wrapping,
so we just make the wrapping explicit and move it to io.h instead.

Also fixes up some modules:

  CC [M]  drivers/net/8390.o
  In file included from drivers/net/8390.c:6:
  drivers/net/lib8390.c: In function 'ei_start_xmit':
  drivers/net/lib8390.c:329: error: implicit declaration of function 'outb_p'
  drivers/net/lib8390.c: In function '__ei_interrupt':
  drivers/net/lib8390.c:457: error: implicit declaration of function 'inb_p'
  make[2]: *** [drivers/net/8390.o] Error 1
  make[1]: *** [drivers/net] Error 2

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-10-01 16:13:28 +09:00
Michal Piotrowski
5ba056cb3c sh64: arch/sh64/kernel/setup.c: duplicate include removal.
There is no need to include linux/console.h twice.

Signed-off-by: Michal Piotrowski <michal.k.k.piotrowski@gmail.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-08-12 12:18:54 +09:00
Jesper Juhl
f6d7543ab2 sh64: arch/sh64/kernel/signal.c: duplicate include removal
Remove the duplicate inclusion of linux/personality.h from
arch/sh64/kernel/signal.c

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-08-12 12:16:45 +09:00
Paul Mundt
75c46162be sh64: Kill off virt_to_bus()/bus_to_virt().
Follows the SH change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-31 13:11:25 +09:00
Paul Mundt
da9d5108f4 sh64: Fix irq_intc build failure.
Needs interrupt.h:

  CC      arch/sh64/kernel/irq_intc.o
arch/sh64/kernel/irq_intc.c: In function 'make_intc_irq':
arch/sh64/kernel/irq_intc.c:179: error: implicit declaration of function 'disable_irq_nosync'
make[1]: *** [arch/sh64/kernel/irq_intc.o] Error 1

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-31 13:07:37 +09:00
Paul Mundt
78d98277e2 sh64: Fix fs.h removal from mm.h regressions.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-31 13:03:02 +09:00
Paul Mundt
fad9e7d957 sh64: Flag sh64_get_page() as __init_refok.
sh64_get_page() wraps in to regular allocators as well as the
bootmem allocator for fetching pages, it carefully checks to
see which one it can use depending on the system state, so
the access is safe.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20 17:46:42 +09:00
Paul Mundt
56982002a3 sh64: Move entry point code to .text.head.
Follow the sh and m68k changes to silence the modpost warnings.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20 17:45:05 +09:00
Paul Mundt
beeea6d6a1 sh64: Fix up PCI section mismatch warnings.
pcibios_fixup_bus() and pcibios_setup() should be __devinit.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20 13:14:07 +09:00
Paul Mundt
207a130540 sh64: Update cayman defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20 12:39:54 +09:00
Paul Mundt
a13c16e847 sh64: Wire up fallocate() syscall.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-07-20 12:37:51 +09:00
Fenghua Yu
5fb7dc37dc define new percpu interface for shared data
per cpu data section contains two types of data.  One set which is
exclusively accessed by the local cpu and the other set which is per cpu,
but also shared by remote cpus.  In the current kernel, these two sets are
not clearely separated out.  This can potentially cause the same data
cacheline shared between the two sets of data, which will result in
unnecessary bouncing of the cacheline between cpus.

One way to fix the problem is to cacheline align the remotely accessed per
cpu data, both at the beginning and at the end.  Because of the padding at
both ends, this will likely cause some memory wastage and also the
interface to achieve this is not clean.

This patch:

Moves the remotely accessed per cpu data (which is currently marked
as ____cacheline_aligned_in_smp) into a different section, where all the data
elements are cacheline aligned. And as such, this differentiates the local
only data and remotely accessed data cleanly.

Signed-off-by: Fenghua Yu <fenghua.yu@intel.com>
Acked-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Christoph Lameter <clameter@sgi.com>
Cc: <linux-arch@vger.kernel.org>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:44 -07:00
Nick Piggin
83c54070ee mm: fault feedback #2
This patch completes Linus's wish that the fault return codes be made into
bit flags, which I agree makes everything nicer.  This requires requires
all handle_mm_fault callers to be modified (possibly the modifications
should go further and do things like fault accounting in handle_mm_fault --
however that would be for another patch).

[akpm@linux-foundation.org: fix alpha build]
[akpm@linux-foundation.org: fix s390 build]
[akpm@linux-foundation.org: fix sparc build]
[akpm@linux-foundation.org: fix sparc64 build]
[akpm@linux-foundation.org: fix ia64 build]
Signed-off-by: Nick Piggin <npiggin@suse.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Ian Molton <spyro@f2s.com>
Cc: Bryan Wu <bryan.wu@analog.com>
Cc: Mikael Starvik <starvik@axis.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: "Luck, Tony" <tony.luck@intel.com>
Cc: Hirokazu Takata <takata@linux-m32r.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Roman Zippel <zippel@linux-m68k.org>
Cc: Greg Ungerer <gerg@uclinux.org>
Cc: Matthew Wilcox <willy@debian.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Paul Mundt <lethal@linux-sh.org>
Cc: Kazumoto Kojima <kkojima@rr.iij4u.or.jp>
Cc: Richard Curnow <rc@rc0.org.uk>
Cc: William Lee Irwin III <wli@holomorphy.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Cc: Miles Bader <uclinux-v850@lsi.nec.co.jp>
Cc: Chris Zankel <chris@zankel.net>
Acked-by: Kyle McMartin <kyle@mcmartin.ca>
Acked-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[ Still apparently needs some ARM and PPC loving - Linus ]
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-19 10:04:41 -07:00
Al Viro
547c178b72 missing exports of csum_...
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: David S. Miller <davem@davemloft.net>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 11:01:07 -07:00
Alexey Dobriyan
f284ce7269 PTRACE_POKEDATA consolidation
Identical implementations of PTRACE_POKEDATA go into generic_ptrace_pokedata()
function.

AFAICS, fix bug on xtensa where successful PTRACE_POKEDATA will nevertheless
return EPERM.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:03 -07:00
Alexey Dobriyan
7664732315 PTRACE_PEEKDATA consolidation
Identical implementations of PTRACE_PEEKDATA go into generic_ptrace_peekdata()
function.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-17 10:23:03 -07:00
Paul Mundt
e227e8f3ba sh64: Handle -ERESTART_RESTARTBLOCK for restartable syscalls.
The current implementation only handles -ERESTARTNOHAND, whereas we
also need to handle -ERESTART_RESTARTBLOCK in the handle_signal()
case for restartable system calls. Follows the sh change.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-06-19 12:41:32 +09:00
Yoann Padioleau
a17627ef88 potential parse error in ifdef part 3
Fix various bits of obviously-busted code which we're not happening to
compile, due to ifdefs.

Signed-off-by: Yoann Padioleau <padator@wanadoo.fr>
Cc: Andi Kleen <ak@suse.de>
Cc: Paul Mackerras <paulus@samba.org>
Acked-by: Paul Mundt <lethal@linux-sh.org>
Cc: Jens Axboe <jens.axboe@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-06-08 17:23:33 -07:00
Sam Ravnborg
ca967258b6 all-archs: consolidate .data section definition in asm-generic
With this consolidation we can now modify the .data
section definition in one spot for all archs.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-19 09:11:57 +02:00
Sam Ravnborg
7664709b44 all-archs: consolidate .text section definition in asm-generic
Move definition of .text section to asm-generic.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
2007-05-19 09:11:57 +02:00
Paul Mundt
51a41e7d39 sh64: Add .gitignore entry for syscalltab.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 10:15:18 +09:00
Paul Mundt
6c645ac725 sh64: generic quicklist support.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:55:35 +09:00
Paul Mundt
e827f20f1d sh64: Update cayman defconfig.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:14:29 +09:00
Paul Mundt
c18fe9a046 sh64: ppoll/pselect6() and restartable syscalls.
This patch was hanging around for some time while we were waiting
for the compiler situation to improve.. now that all is well again,
finally merge it.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:12:39 +09:00
Paul Mundt
a226d33abc sh64: Fixups for the irq_regs changes.
A few interrupt handlers were never updated, fix them up.
We were missing the irq_regs conversion also, so do that
at the same time.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:10:01 +09:00
Paul Mundt
6b5d1a0a2f sh64: Wire up many new syscalls.
This has suffered a bit of bitrot, so we're a bit behind on the
syscalls. There were a few that were wrapped incorrectly as well,
caught by the syscall checker. Fix them all up.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 09:07:27 +09:00
Simon Arlott
0a354775af spelling fixes: arch/sh64/
Spelling fixes in arch/sh64/.

Signed-off-by: Simon Arlott <simon@fire.lp0.eu>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 08:25:48 +09:00
Milind Arun Choudhary
47e77eeecf sh64: ROUND_UP macro cleanup in arch/sh64/kernel/pci_sh5.c
ROUND_UP macro cleanup, use ALIGN where ever appropriate.

Signed-off-by: Milind Arun Choudhary <milindchoudhary@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2007-05-14 08:24:59 +09:00
Alexey Dobriyan
ffb4512276 Simplify kallsyms_lookup()
Several kallsyms_lookup() pass dummy arguments but only need, say, module's
name.  Make kallsyms_lookup() accept NULLs where possible.

Also, makes picture clearer about what interfaces are needed for all symbol
resolving business.

Signed-off-by: Alexey Dobriyan <adobriyan@sw.ru>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Acked-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:08 -07:00
Randy Dunlap
e63340ae6b header cleaning: don't include smp_lock.h when not used
Remove includes of <linux/smp_lock.h> where it is not used/needed.
Suggested by Al Viro.

Builds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,
sparc64, and arm (all 59 defconfigs).

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-05-08 11:15:07 -07:00