Andrew Morton [Wed, 9 Apr 2003 04:31:10 +0000 (21:31 -0700)]
[PATCH] Allow panics and reboots at oops time.
From: Russell Miller <rmiller@duskglow.com>
A BUG or an oops will often leave a machine in a useless state. There is no
way to remotely recover the machine from that state.
The patch adds a /proc/sys/kernel/panic_on_oops sysctl which, when set, will
cause the x86 kernel to call panic() at the end of the oops handler. If the
user has also set /proc/sys/kernel/panic then a reboot will occur.
The implementation will try to sleep for a while before panicing so the oops
info has a chance of hitting the logs.
The implementation is designed so that other architectures can easily do this
in their oops handlers.
Andrew Morton [Wed, 9 Apr 2003 04:31:01 +0000 (21:31 -0700)]
[PATCH] task_vsize() speedup
From: William Lee Irwin III <wli@holomorphy.com>
task_vsize() mysteriously appeared on my profiles. This should remove it
from them by using the already in-use elsewhere for rlimit checks
mm->total_vm for the benefit of O(1) cachelines touched.
Andrew Morton [Wed, 9 Apr 2003 04:30:44 +0000 (21:30 -0700)]
[PATCH] fix unuse_pmd fixme
From: Hugh Dickins <hugh@veritas.com>
try_to_unuse drop mmlist_lock across unuse_process (with pretty dance
of atomic_incs and mmputs of various mmlist markers, and a polite new
cond_resched there), so unuse_process can pte_chain_alloc(GFP_KERNEL)
and pass that down and down and down and down to unuse_pte: which
cannot succeed more than once on a given mm (make that explicit by
returning back up once succeeded). Preliminary checks moved up from
unuse_pte to unuse_pmd, and done more efficiently (avoid that extra
pte_file test added recently), swapoff spends far too long in here.
Updated locking comments and references to try_to_swap_out.
Andrew Morton [Wed, 9 Apr 2003 04:30:15 +0000 (21:30 -0700)]
[PATCH] misc rmap speedups
Even a BUG_ON() makes a measurable difference. So remove some gratuitous
ones which will just trigger a null pointer deref anyway.
Also remove some debug code which isn't really being maintained any more.
Also replace (effectively):
test_bit(N, foo);
set_bit(N, foo);
with
set_bit(N, foo);
test_bit(N, foo);
In the first case we'll go onto the bus twice: once for the cache miss and
once to get exclusive write access. In the second case we only go on the bus
once. I think. Certainly this trick chaved 40% off the cost of
shrink_list() when I did it there...
This patch is worth 1% or so on the bash script testing.
Andrew Morton [Wed, 9 Apr 2003 04:29:39 +0000 (21:29 -0700)]
[PATCH] Enforce gcc-2.95 as the minimum compiler requirement
Now that sparc64 is using gcc-3.x we can disallow gcc-2.91, etc.
Documentation/Changes already says 2.95.3, which is working fine for me.
With this change, we no longer require that per-cpu data definitions be
initialised. That was a workaround for a bug in older gccs. So remove the
build infrastructure which was checking for that.
Also, mention that nfs-utils-1.0.3 is required. It isn't required yet, but
will be once we enable larger dev_t: there is an interface for exportfs which
passes dev_t's into the kernel which breaks with larger dev_t. That
interface is old, deprecated and is not used in nfs-utils-1.0.3.
Andrew Morton [Wed, 9 Apr 2003 04:29:30 +0000 (21:29 -0700)]
[PATCH] fix wait_on_buffer() debug code
The wait_on_buffer() debug code is generating false warnings when called from
__block_prepare_write(). It is legal to wait on a zero-ref buffer when its
page is locked. The page lock keeps try_to_free_buffers() away.
Add __user attributes to user pointers in kernel/signal.c. This
was the first file tested with my type checker with the anal
pointer attribute checking turned on.
Add __user/__kernel address space modifiers. When not
checking, these end up being no-ops, but they get enabled
by the type checker as special address_space attributes.
Miles Bader [Tue, 8 Apr 2003 05:25:26 +0000 (22:25 -0700)]
[PATCH] On the v850/nb85e, acknowledge interrupts immediately after handling them
Previously, it was done automatically by the `reti' isntruction upon
returning from the kernel, but that doesn't do the correct thing in
various cases, for instance if there's a context switch, or a softirq.
Alan Cox [Tue, 8 Apr 2003 02:39:47 +0000 (19:39 -0700)]
[PATCH] kill off a load of stuff now in common dvb
(These changes are big because they are the result of Martin Hunold
resolving a *huge* long term fork in the DVB code base). We now have
one DVB codebase so the changes while big are very good news