Whether a brainfart or a mismerge, I inadvertently broke PA-RISC during
the fork_by_hand()/init_idle() consolidation.
The following patch repairs a compilebug/thinko pair, consisting of the
use of an undeclared variable cpunum, and not attempting fork_idle()
until after the check for IS_ERR(idle) reported by James Bottomley.
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Airlie [Sat, 28 Aug 2004 05:42:30 +0000 (15:42 +1000)]
Add new i915 driver from Tungsten Graphics Inc. This driver covers the i830
chipsets also, a new X 2D + 3D driver are needed to use this but they have
been integrated into at least the X.org tree at this point and I think the
XFree86 tree. There are probably a few cleanups necessary for this driver.
From: Keith Whitwell <keith@tungstengraphics.com> Signed-off-by: Dave Airlie <airlied@linux.ie>
Dave Airlie [Fri, 27 Aug 2004 04:27:02 +0000 (21:27 -0700)]
[PATCH] drm: optimise i8x0 accesses..
This optimises the drm code to not do put_user() on memory the kernel
allocated and then mmap-installed to userspace, but instead makes it use
the kernel virtual address directly instead.
From: Arjan van de Ven <arjanv@redhat.com> Signed-off-by: Dave Airlie <airlied@linux.ie> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Adrian Bunk [Fri, 27 Aug 2004 03:45:56 +0000 (20:45 -0700)]
[PATCH] really uninline lmc_trace
As part of some gcc 3.4 fixes, someone removed the inline from the
prototype of lmc_trace in lmc_debug.c, but the useless inline at the actual
function remained.
Signed-off-by: Adrian Bunk <bunk@fs.tum.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Fri, 27 Aug 2004 03:45:07 +0000 (20:45 -0700)]
[PATCH] Fix x86_64 vs select.c namespace clash
fs/select.c:122:1: warning: "__IN" redefined
In file included from include/linux/timex.h:61,
from include/linux/sched.h:11,
from include/linux/module.h:10,
from fs/select.c:17:
include/asm/io.h:70:1: warning: this is the location of the previous definition
fs/select.c:123:1: warning: "__OUT" redefined
include/asm/io.h:60:1: warning: this is the location of the previous definition
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ryan S. Arnold [Fri, 27 Aug 2004 03:44:30 +0000 (20:44 -0700)]
[PATCH] HVCS hotplug fixes
Here is an HVCS (drivers/char/hvcs.c) patch which fixes the hvcs driver
problems with hotplugged vty-server adapters. The current driver handles
the adapter index assignment improperly so after a number of device
removals and insertions the driver could no longer map a tty->index to a
vty-server properly and tty_open() attempts would fail. This patch solves
this problem by always assigning the lowest available index to the new
adapters and returning an index to the list when the adapter is removed.
changelog:
drivers/char/hvcs.c
===================
-Added hvcs_index_list to manage the lowest available index.
-Added four helper functions to manage the list, which include the
creation and destruction of the list, the get'ing of the lowest index,
and the returning of an index.
-Moved free_irq() outside of the hvcs_final_close() function in order to
get it out of the spinlock.
-Rearranged hvcs_close() to accomodate the previous change.
-Removed local CLC_LENGTH define and used HVCS_CLC_LENGTH from
arch/ppc64/hvcserver.h instead.
-Cleaned up some printks and did some house keeping on the changelog.
Documentation/powerpc/hvcs.txt
==============================
-Added information on sysfs 'index' attribute added in previous hvcs
patch.
-Added Q & A section on how to find the proper dev node for a newly
added adapter.
I think this is the last of the HVCS patches for a while, as all of my
oustanding issues have been dealt with.
Signed-off-by: Ryan S. Arnold <rsa@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Yanmin Zhang [Fri, 27 Aug 2004 03:44:17 +0000 (20:44 -0700)]
[PATCH] interrupt is enabled before it should be when kernel is booted
There is a minor problem in function start_kernel. start_kernel will
enable interrupt after calling profile_init. However, before that,
function time_init on IA64 platform could enable interrupt. See this call
sequence:
This patch changes the name of the sparc32 Kconfig menu from "General
Setup" to "General Machine Setup", to match the changes committed to most
other arches in 2.6.9-rc1.
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
We have this patch that adds ftape support for x86_64 and cleans up the
alpha support a little. The comments look like Vojtech did the x86_64 part
and I guess the alpha bits are from Herbert Xu.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
While trying out compiling of reiser4 on sparc64, ppc64, alpha, and ia64, I
discovered that WAITQUEUE_DEBUG is nowhere defined in 2.6.x, and various
compiler versions spew copious warnings at #if on it. Convert
__SEMAPHORE_INITIALIZER() to C99 initializers while in the area.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arun Sharma [Fri, 27 Aug 2004 03:43:14 +0000 (20:43 -0700)]
[PATCH] Fix copying of unaligned data across user/kernel boundary
32 bit compatibility code sometimes needs to copy unaligned data across
kernel/user boundary and currently there is no architecture independent API
to do it.
(1) Introduce new APIs __{get,put}_user_unaligned. These APIs are
necessary because the optimal way to copy unaligned data across
kernel/user boundary is different on different architectures.
Some architectures don't even care about alignment.
On some __put_user is faster than __copy_to_user for small sizes.
(2) Optimize __{get,put}_user_unaligned for ia64, x86-64, s390, ppc64.
(3) Fix compat_filldir64() which is broken on big-endian machines
Thanks to Arnd Bergmann <arnd@arndb.de> for his help.
Signed-off-by: Gordon Jin <gordon.jin@intel.com> Signed-off-by: Arun Sharma <arun.sharma@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Tim Schmielau [Fri, 27 Aug 2004 03:42:51 +0000 (20:42 -0700)]
[PATCH] make oom killer points unsigned long
It seems a little unsafe to me to have oom killer badness points of type
int, when all the underlying objects are unsigned long.
I can't immediately think of a case where this matters much, but e.g. a
long-running job or daemon on a 64 bit machine might lose it's bonus
because of that.
Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Frank Pavlic [Fri, 27 Aug 2004 03:37:58 +0000 (20:37 -0700)]
[PATCH] s390: lcs network driver
lcs network driver changes:
- Allocate the reply structure instead of taking it from the stack.
- Use del_timer_sync instead of del_timer.
- Clean up helper threads creation/shutdown.
- Split lcs_register_mc_addresses to make it readable again.
- Free multicast list entries when device is going down.
- Retransmit multicast list in device recovery.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Thomas Richter [Fri, 27 Aug 2004 03:37:46 +0000 (20:37 -0700)]
[PATCH] parport: NetMOS 9805 interface
Add support for netmos devices to the parallel port driver.
NetMOS 9805 support is already in the kernel, this patch adds the support for
the missing 9735,9855,9755 and 9715 chips.
And another remark: The 9735 and 9835 seem to be chips with serial *and*
parallel interfaces, so I suppose they are already claimed somewhere in the
serial driver. I don't know whether this causes any problems. I'm sorry that
I can't test, I've only a 9805 here. Any idea how these "dual" chips have to
be handled by the kernel?
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Unaccount VM_DONTCOPY vmas properly; the child inherits the whole of the
parent's virtual accounting from the memcpy() in copy_mm(), but the
VM_DONTCOPY check here is where a decision is made for the child not to
inherit the vmas corresponding to some accounted memory usages. Hence,
unaccount them when skipping over them here.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] fix text reporting in O(1) proc_pid_statm()
Some kind of brainfart happened here, though it's not visible on the
default display from top(1) etc. This patch fixes up the gibberish I
mistakenly put down for text with the proper text size, and subtracts it
from data as per the O(vmas) code beforehand.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Merely removing down_read(&mm->mmap_sem) from task_vsize() is too
half-assed to let stand. The following patch removes the vma iteration
as well as the down_read(&mm->mmap_sem) from both task_mem() and
task_statm() and callers for the CONFIG_MMU=y case in favor of
accounting the various stats reported at the times of vma creation,
destruction, and modification. Unlike the 2.4.x patches of the same
name, this has no per-pte-modification overhead whatsoever.
This patch quashes end user complaints of top(1) being slow as well as
kernel hacker complaints of per-pte accounting overhead simultaneously.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
task_vsize() doesn't need mm->mmap_sem for the CONFIG_MMU case; the
semaphore doesn't prevent mm->total_vm from going stale or getting
inconsistent with other numbers regardless. Also, KSTK_EIP() and
KSTK_ESP() don't want or need protection from mm->mmap_sem either. So this
pushes mm->mmap_sem to task_vsize() in the CONFIG_MMU=n task_vsize().
Also, hoist the prototype of task_vsize() into proc_fs.h
The net result of this is a small speedup of procps for CONFIG_MMU.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Hansen [Fri, 27 Aug 2004 03:35:51 +0000 (20:35 -0700)]
[PATCH] include asm/page.h for virt_to_page()
asm/page.h seems to be the accepted place to declare virt_to_page() on a vast
majority of architectures. This patch makes sure that a few files which use
that function also directly include the header.
Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Hansen [Fri, 27 Aug 2004 03:35:39 +0000 (20:35 -0700)]
[PATCH] don't align virt_to_page() args
__pa() is always be consistent inside of a single page. The next thing
virt_to_page() does after that is shift down the address, killing the bits
that __change_page_attr() just masked off.
Remove the superfluous masking.
Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Hansen [Fri, 27 Aug 2004 03:35:26 +0000 (20:35 -0700)]
[PATCH] vmalloc_fault() cleanup
Store the physical pgd address in a different variable than the virtual
address.
There's no real reason to only use 1 variable here, other than saving a
line of code. But, the types really are different and we might as well
just spell that out explicitly.
Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Hansen [Fri, 27 Aug 2004 03:35:14 +0000 (20:35 -0700)]
[PATCH] call virt_to_page() with void*, not UL
I'm sure there's a good reason for these functions to take virtual addresses
as unsigned longs, so suppress the warnings and cast them to the proper types
before calling the virt/phys conversion functions
A perfectly acceptable alternative would be to go and change free_pages() to
stop taking unsigned longs for virtual addresses, but this has a much smaller
impact.
Signed-off-by: Dave Hansen <haveblue@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Dave Hansen [Fri, 27 Aug 2004 03:34:51 +0000 (20:34 -0700)]
[PATCH] reduce casting in sysenter.c
Ran across this because it's another place where an unsigned long is passed
directly to __pa(). Making the "page" variable a void* seems a bit more
natural than an unsigned long and reduces the net number of casts by 1.
Without it, we probably need another (void *) cast in the __pa() call.
For more explanation as to why this was probably done originally, see this
post: http://marc.theaimsgroup.com/?l=linux-mm&m=109155379124628&w=2
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Pierre Ossman [Fri, 27 Aug 2004 03:34:40 +0000 (20:34 -0700)]
[PATCH] Split timer resources
The kernel currently allocates the range 0x40-0x5f for timer calls. This
causes conflicts with other hardware using these ports (In my case a
Winbond W83L519D SD/MMC card reader). This patch splits the resource into
the ports actually needed.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
John Levon [Fri, 27 Aug 2004 03:34:28 +0000 (20:34 -0700)]
[PATCH] improve OProfile on many-way systems
Anton prompted me to get this patch merged. It changes the core buffer
sync algorithm of OProfile to avoid global locks wherever possible. Anton
tested an earlier version of this patch with some success. I've lightly
tested this applied against 2.6.8.1-mm3 on my two-way machine.
The changes also have the happy side-effect of losing less samples after
munmap operations, and removing the blind spot of tasks exiting inside the
kernel.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Fri, 27 Aug 2004 03:34:16 +0000 (20:34 -0700)]
[PATCH] copy_mount_options size fix
davem says that copy_mount_options is failing in obscure ways if the
architecture's copy_from_user() doesn't return an exact count of the number of
uncopied bytes.
Fixing that up in each architecture is a pain - it involves falling back to
byte-at-a-time copies.
It's simple to open-code this in namespace.c. If we find other places in the
kernel which care about this we can promote this to a global function.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Roland McGrath [Fri, 27 Aug 2004 03:34:04 +0000 (20:34 -0700)]
[PATCH] fix MT reparenting when thread group leader dies
When the initial thread in a multi-threaded program dies (the thread group
leader), its child processes are wrongly orphaned, and thereafter when
other threads die their child processes are also orphaned even though live
threads remain in the parent process that can call wait. I have a small
(under 100 lines), POSIX-compliant test program that demonstrates this
using -lpthread (NPTL) if anyone is interested in seeing it.
The bug is that forget_original_parent moves children to the dead parent's
group leader if it's alive, but if not it orphans them. I've changed it so
it instead reparents children to any other live thread in the dead parent's
group (not even preferring the group leader). Children go to init only if
there are no live threads in the parent's group at all. These are the
correct semantics for fork children of POSIX threads.
The second part of the change is to do the CLONE_PARENT behavior always for
CLONE_THREAD, i.e. make sure that each new thread's parent link points to
the real parent of the process and never another thread in its own group.
Without this, when the group leader dies leaving a sole live thread in the
group, forget_original_parent will try to reparent that thread to itself
because it's a child of the dying group leader. Rather handling this case
specially to reparent to the group leader's parent instead, it's more
efficient just to make sure that noone ever has a parent link to inside his
own thread group. Now the reparenting work never needs to be done for
threads created in the same group when their creator thread dies. The only
change from losing the who-created-whom information is when you look at
"PPid:" in /proc/PID/task/TID/status. For purposes of all direct system
calls, it was already as if CLONE_THREAD threads had the parent of the
group leader. (POSIX provides no way to keep track of which thread created
which other thread with pthread_create.)
Signed-off-by: Roland McGrath <roland@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rusty Russell [Fri, 27 Aug 2004 03:33:53 +0000 (20:33 -0700)]
[PATCH] mostly remove module_parm()
MODULE_PARM() was marked obsolete. Remove it from everything except
drivers/ and arch/.
Naturally, such a widespread change may introduce bugs for some of the
non-trivial cases, and where in doubt I used "0" as permissions arg (ie.
won't appear in sysfs). Individual authors should think about whether that
would be useful.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jeff Mahoney [Fri, 27 Aug 2004 03:33:41 +0000 (20:33 -0700)]
[PATCH] dnotify + autofs may create signal/restart syscall loop
I saw a recent bug report that showed when a process set up a dnotify against
the autofs root and then attempted an access(2) call inside the autofs
namespace on a mount that would fail, it would create a signal/restart loop.
The cause is that the autofs code checks to see if any signals are pending
after it waits on a response from the autofs daemon. If it finds any, it
assumes that autofs_wait was interrupted, and that it should return
-ERESTARTNOINTR. The problem with this is that a signal_pending(current)
check will return true if *any* signals were received, not just if a signal
that interrupted the wait was received. autofs_wait explicitly blocks all
signals except for SIGKILL, SIGQUIT, and SIGINT before calling
interruptible_sleep_on.
The effect is that if a dnotify is set against the autofs root, when the
autofs daemon creates the directory, a dnotify event will be sent to the
originating process. Since the code in autofs_root_lookup doesn't check to
see what signals are actually pending, it bails early, telling the caller to
try again. The loop goes on forever until interrupted via one of the actual
interrupting signals.
The following patch makes both autofs_root_lookup and autofs4_root_lookup
verify that one of its defined "shutdown" signals are pending before bailing
out early. Any other signal should be delivered later, as expected. It
doesn't matter if the signal occured outside of the sleep in autofs_wait. The
calling process will either go away or try again.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Ingo Molnar [Fri, 27 Aug 2004 03:33:18 +0000 (20:33 -0700)]
[PATCH] Add a few might_sleep() checks
Add a whole bunch more might_sleep() checks. We also enable might_sleep()
checking in copy_*_user(). This was non-trivial because of the "copy_*_user()
in atomic regions" trick would generate false positives. Fix that up by
adding a new __copy_*_user_inatomic(), which avoids the might_sleep() check.
Only i386 is supported in this patch.
With: Arjan van de Ven <arjanv@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Anton Blanchard [Fri, 27 Aug 2004 03:32:41 +0000 (20:32 -0700)]
[PATCH] reduce size of struct inode on 64bit
Reduce the size of struct inode on 64bit architectures by reducing padding.
This assumes spinlocks are 32bit or less which is the case on most
architectures.
This reduces inode structs by 24 bytes on ppc64, and on ext2 increases the
number of inodes in a 4kB slab from 5 to 6.
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Convert prof_buffer to an array of atomic_t instead of sometimes atomic_t,
sometimes unsigned int. Also, bootmem rounds up internally, so blow away some
crap code there.
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
[PATCH] consolidate hit count increments in profile_tick()
With prof_cpu_mask and profile_pc() in hand, the core is now able to perform
all the profile accounting work on behalf of arches. Consolidate the profile
accounting and convert all arches to call the core function.
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
The program counter calculation from pt_regs is the only portion of profile
accounting that differs across various architectures. This is usually
instruction_pointer(regs), but to handle the few arches where it isn't,
introduce profile_pc().
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Handling of prof_cpu_mask is grossly inconsistent. Some arches have it as a
cpumask_t, others unsigned long, and even within arches it's treated
inconsistently. This makes it cpumask_t across the board, and consolidates
the handling in kernel/profile.c
Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Arjan van de Ven [Fri, 27 Aug 2004 03:30:55 +0000 (20:30 -0700)]
[PATCH] schedule profileing
From: William Lee Irwin III <wli@holomorphy.com>
The patch (from Ingo) below is quite interesting, it allows the use of
readprofile not for statistical tine sampling, but for seeing where calls to
schedule() come from, so it can give some insight to the "where do my context
switches come from" question.
Boot with `profile=schedul2' to activate this feature.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Rusty Russell [Fri, 27 Aug 2004 03:30:43 +0000 (20:30 -0700)]
[PATCH] Hotplug CPU vs TASK_ZOMBIEs: The Sequel to Hotplug CPU vs TASK_DEAD
release_task can sleep. Sleeping allows a CPU to go down underneath you.
release_task removes you from the tasklist, so you don't get migrated off the
CPU: BUG() in sched.c.
In last week's episode, our dashing hero (Ingo Molnar) solved this for
self-reaping tasks by grabbing the hotplug cpu lock to prevent this.
However, in an unexpected twist, the problem remains for tasks whose
parents call release_task on them: the zombies are off the task list, and
lurk on the dead CPU.
Fortunately, the comedic sidekick (Rusty Russell) has an answer: let's make
the hotplug callback walk the runqueue of the dead CPU as well, taking care
of the zombies.
1) Restore exit.c to its former form. The comment is incorrect: sched.c
checks PF_DEAD, not the state, to decide to do the final
put_task_struct(), and it does it for all tasks, self-reaping or no.
2) Implement migrate_dead_tasks() in the sched.c hotplug CPU callback.
3) Rename migrate_all_tasks() to migrate_live_tasks().
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Neil Brown [Fri, 27 Aug 2004 03:30:20 +0000 (20:30 -0700)]
[PATCH] md: fix problems with checksum handling in MD superblocks.
md currently uses csum_partial to calculate checksums for superblocks.
However this function is not consistent across all architectures. Some
(i386) to a 32bit csum. Some (alpha) do a 16 bit csum. This makes it hard
for userspace to keep up.
So we provide a generic routine (that does exactly what the i386
csum_partial does) and:
- When setting the csum, use csum_partial so that old kernels will still
recognise the superblock
- When checking the csum, allow either csum_partial or the new generic
code to provide the right csum. This allows user-space to just use the
common code and always work.
Also modify the csum for version-1 superblock (which currently aren't being
used) to always user a predictable checksum algorithm.
Thanks to Mike Tran <mhtran@us.ibm.com> for noticing this.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Jesse Barnes [Fri, 27 Aug 2004 03:30:08 +0000 (20:30 -0700)]
[PATCH] fix sysrq support in sn_console.c
In porting the sn_console driver to the serial core, we lost sysrq support.
This patch fixes it and removes a few unncessary #ifdefs. Can you please
send it on to Linus asap? sysrq is a *really* nice thing to have.
Jesse Barnes [Fri, 27 Aug 2004 03:29:57 +0000 (20:29 -0700)]
[PATCH] fix show_mem on discontig machines
Dave Hansen recently did some bootmem and paging init cleanups, but I
missed this little bit when I tested his original patches. We need to
initialize pgdat->node_mem_map correctly since a) we're using vmem_map, and
b) the core won't do it for us since we have a valid node_start_pfn I
believe.
Neil Brown [Fri, 27 Aug 2004 03:29:45 +0000 (20:29 -0700)]
[PATCH] Use fixed size buffer instead of kmalloc for m_class in ip_map
This avoids lots of bothersome memory management and is generally
cleaner.
Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>