]> git.hungrycats.org Git - linux/log
linux
22 years ago[PATCH] fbdev: PPC crash and other fixes for rivafb
Antonino Daplas [Wed, 8 Sep 2004 00:55:31 +0000 (17:55 -0700)]
[PATCH] fbdev: PPC crash and other fixes for rivafb

- Fixed rivafb crashing in PPC.  rivafb in PPC requires full, instead of
  partial, hardware initialization in rivafb_set_par().

- Added untested support for NV_ARCH_30 chipsets.

- From Guido Guenther <agx@sigxcpu.org>
     here's another short patch fixing the cursor colors on big endian.

- From Guido Guenther <agx@sigxcpu.org>
     trivial: strictmode is a MODULE_PARAM, even if CONFIG_MTRR is not set:

Signed-off-by: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fbdev: Speed up scrolling of tdfxfb
Antonino Daplas [Wed, 8 Sep 2004 00:55:19 +0000 (17:55 -0700)]
[PATCH] fbdev: Speed up scrolling of tdfxfb

This patch speeds up scrolling of tdfxfb by maximizing var->yres_virtual so
tdfxfb uses SCROLL_PAN_MOVE instead of SCROLL_REDRAW.  This is true whether
CONFIG_FB_3DFX_ACCEL is set or not.  This problem was reported by Paolo
Ornati <ornati@fastwebnet.it> who also made substantial contributions to
solve this problem.

This patch also fixes compile errors when CONFIG_FB_3DFX_ACCEL is false.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ext3 dreference of sb preceeds check.
Dave Jones [Wed, 8 Sep 2004 00:55:07 +0000 (17:55 -0700)]
[PATCH] ext3 dreference of sb preceeds check.

This looks awry.  Move the dereference to after we have checked sb is
non-NULL.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc32: Switch arch/ppc/boot to lib/zlib_inflate
Tom Rini [Wed, 8 Sep 2004 00:54:56 +0000 (17:54 -0700)]
[PATCH] ppc32: Switch arch/ppc/boot to lib/zlib_inflate

The following patch switches arch/ppc/boot over from using its own version
of zlib to the code found under lib/zlib_inflate.  In conjunction with the
previous two patches, the size of the resulting images isn't noticably
different.  But this does have the advantage of removing another copy of
zlib from the kernel, and I believe this allows for lib/inflate.c to go
away (as that's basically what ppc used to use).

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] zlib_inflate: Make zlib_inflate_trees_fixed(...) generate the table
Tom Rini [Wed, 8 Sep 2004 00:54:44 +0000 (17:54 -0700)]
[PATCH] zlib_inflate: Make zlib_inflate_trees_fixed(...) generate the table

The following changes zlib_inflate_trees_fixed(...) from using a statically
defined table, to generating this table.  This cuts out 4-8kB from
inftrees.o (4kB on IBM 440GP, 8kB on PPC 74xx).

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] zlib_inflate: Move zlib_inflateSync & friends
Tom Rini [Wed, 8 Sep 2004 00:54:33 +0000 (17:54 -0700)]
[PATCH] zlib_inflate: Move zlib_inflateSync & friends

The following patch moves zlib_inflateSync and friends, which are used by
PPP and not a 'normal' gzip, into inflate_sync.c.

Signed-off-by: Tom Rini <trini@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] s390: lcs multicast deadlock
Martin Schwidefsky [Wed, 8 Sep 2004 00:54:21 +0000 (17:54 -0700)]
[PATCH] s390: lcs multicast deadlock

From: Thomas Spatzier <tspat@de.ibm.com>

lcs network driver changes:
 - Fix deadlock on card->ipm_lock.

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>
22 years ago[PATCH] s390: packed stack vs. cpu hotplug.
Martin Schwidefsky [Wed, 8 Sep 2004 00:54:09 +0000 (17:54 -0700)]
[PATCH] s390: packed stack vs. cpu hotplug.

The different stack frame layout for packed stacks broke cpu hotplug.
Recreate the initial stack frame of the idle thread for offline cpus coming
back online.  Reenable interrupts after loading the initial registers.  In
addition this patch contains two more bug fixes: a typo for 64 bit
(__SMALL_STACK_SIZE vs.  __SMALL_STACK) and show_trace didn't show a trace
if for task == NULL.

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>
22 years ago[PATCH] s390: minmax-removal arch/s390/kernel/debug.c
Martin Schwidefsky [Wed, 8 Sep 2004 00:53:57 +0000 (17:53 -0700)]
[PATCH] s390: minmax-removal arch/s390/kernel/debug.c

Removes unnecessary min/max macros and changes calls to use kernel.h macros
instead.

Signed-off-by: Michael Veeck <michael.veeck@gmx.net>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
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>
22 years ago[PATCH] s390: export copy_in_user
Bastian Blank [Wed, 8 Sep 2004 00:53:46 +0000 (17:53 -0700)]
[PATCH] s390: export copy_in_user

The attached patch exports __copy_in_user_asm for s390.  It is used in xfs.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] remove ext2_panic()
Andrew Morton [Wed, 8 Sep 2004 00:53:35 +0000 (17:53 -0700)]
[PATCH] remove ext2_panic()

It has no callers.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Remove in-kernel init_module/cleanup_module stubs
Brian Gerst [Wed, 8 Sep 2004 00:53:23 +0000 (17:53 -0700)]
[PATCH] Remove in-kernel init_module/cleanup_module stubs

This patch removes the default stubs for init_module and cleanup_module,
and checks for NULL instead.  It changes modpost to only create references
to those functions if they actually exist.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] knfsd: remove redundant initialization in nfsd4_lockt
Neil Brown [Wed, 8 Sep 2004 00:53:11 +0000 (17:53 -0700)]
[PATCH] knfsd: remove redundant initialization in nfsd4_lockt

No need to set fl_owner and fl_pid to 0, since that's already been done by
locks_init_lock.

Signed-off-by: Andy Adamson <andros@umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: nfsd4: store current->tgid instead of lockowner hash in fl_pid
Neil Brown [Wed, 8 Sep 2004 00:53:00 +0000 (17:53 -0700)]
[PATCH] knfsd: nfsd4: store current->tgid instead of lockowner hash in fl_pid

The file_lock.fl_pid is no longer used in posix_same_owner() tests.  So just
set it to current->tgid for informational purposes.

Signed-off-by: Andy Adamson <andros@umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: nfsd4: postpone release of stateowner on CLOSE
Neil Brown [Wed, 8 Sep 2004 00:52:48 +0000 (17:52 -0700)]
[PATCH] knfsd: nfsd4: postpone release of stateowner on CLOSE

Postpone the release of a stateowner on CLOSE for lease time to enable the
CLOSE replay cache.  Place stateowner on the close_lru list to be reaped by
the laundromat service.

Signed-off-by: Andy Adamson <andros@umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: nfsd4 could leak a stateid in an error path
Neil Brown [Wed, 8 Sep 2004 00:52:37 +0000 (17:52 -0700)]
[PATCH] knfsd: nfsd4 could leak a stateid in an error path

nfsd4 could leak a stateid in a case of kmalloc failure; fix.

Signed-off-by: Andy Adamson <andros@umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: trivial cleanup of nfs4state.c
Neil Brown [Wed, 8 Sep 2004 00:52:26 +0000 (17:52 -0700)]
[PATCH] knfsd: trivial cleanup of nfs4state.c

Whitespace cleanup, fix one dprintk, remove superfluous casts of NULL.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: nfsd4: Support acl_support attribute
Neil Brown [Wed, 8 Sep 2004 00:52:14 +0000 (17:52 -0700)]
[PATCH] knfsd: nfsd4: Support acl_support attribute

The nfs4 attributes supported_attrs and aclsupport should not be static; they
need to depend on the exported filesystem's acl support.  Test the latter by
attempting to get an acl, and adjust the returned attributes apropriately.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: fix incorrect indentation in fh_verify
Neil Brown [Wed, 8 Sep 2004 00:52:03 +0000 (17:52 -0700)]
[PATCH] knfsd: fix incorrect indentation in fh_verify

fix incorrect indentation in fh_verify

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
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>
22 years ago[PATCH] knfsd: return EACCES instead of ESTALE for certain filehandle lookup failures
Neil Brown [Wed, 8 Sep 2004 00:51:52 +0000 (17:51 -0700)]
[PATCH] knfsd: return EACCES instead of ESTALE for certain filehandle lookup failures

As 'nfs_acceptable' uses the authnetication user in it's checks, the
filehandle might not be truely "stale" - EACCES is safer.

Thanks Olaf Kirch <okir@suse.de> and others.

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>
22 years ago[PATCH] knfsd: calls to break_lease in nfsd should be O_NONBLOCKing
Neil Brown [Wed, 8 Sep 2004 00:51:40 +0000 (17:51 -0700)]
[PATCH] knfsd: calls to break_lease in nfsd should be O_NONBLOCKing

If we would block, we return "err-jukebox" for nfsv3, or just drop the request
for v2.

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>
22 years ago[PATCH] md: correct "working_disk" counts for raid5 and raid6
Neil Brown [Wed, 8 Sep 2004 00:51:28 +0000 (17:51 -0700)]
[PATCH] md: correct "working_disk" counts for raid5 and raid6

This error only affects two message (and sysadmin heart-rate).  It does not
risk data.

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>
22 years ago[PATCH] small wait_on_page_writeback_range() optimization
Marcelo Tosatti [Wed, 8 Sep 2004 00:51:17 +0000 (17:51 -0700)]
[PATCH] small wait_on_page_writeback_range() optimization

filemap_fdatawait() calls wait_on_page_writeback_range() with -1 as "end"
parameter.  This is not needed since we know the EOF from the inode.  Use
that instead.

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fs/compat.c: rwsem instead of BKL around ioctl32_hash_table
Roland Dreier [Wed, 8 Sep 2004 00:51:05 +0000 (17:51 -0700)]
[PATCH] fs/compat.c: rwsem instead of BKL around ioctl32_hash_table

Currently the BKL is used to synchronize access to ioctl32_hash_table in
fs/compat.c.  It seems that an rwsem would be more appropriate, since this
would allow multiple lookups to occur in parallel (and also serve the
general good of minimizing use of the BKL).

I added lock_kernel()/unlock_kernel() around the call to t->handler when a
compatibility handler is found in compat_sys_ioctl() to preserve the
expectation that the BKL will be held during driver ioctl operations.  It
should be safe to do lock_kernel() while holding ioctl32_sem because of the
magic BKL sleep semantics.

Signed-off-by: Roland Dreier <roland@topspin.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] remove unused sysctls from kernel/personality.c
Christoph Hellwig [Wed, 8 Sep 2004 00:50:53 +0000 (17:50 -0700)]
[PATCH] remove unused sysctls from kernel/personality.c

These are only used by the out of tree linux-abi project, so it makes sense
to define them in those modules.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] centralize some nls helpers
Christoph Hellwig [Wed, 8 Sep 2004 00:50:42 +0000 (17:50 -0700)]
[PATCH] centralize some nls helpers

This patch adds common nls_tolower, nls_toupper and nls_strnicmp helpers to
nls.h and uses them in various filesystems instead of local duplicates.

The situation for ncpfs isn't as nice as it allows to compile without nls
support even if the kernel has CONFIG_NLS set, so we need wrappers there.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix f_version optimization for get_tgid_list
Manfred Spraul [Wed, 8 Sep 2004 00:50:33 +0000 (17:50 -0700)]
[PATCH] fix f_version optimization for get_tgid_list

The kernel contains an optimization that skips the linked list walk in
get_tgid_list for the common case of sequential accesses.  Unfortunately
the optimization is buggy (missing NULL pointer check for the result of
find_task_by_pid) and broken (actually - broken twice: the tgid value that
is stored in f_version is always 0 because tgid is overwritten when the
string is created and additionally the common case is not filldir < 0, it's
running out of nr_tgids).

The attached patch fixes these bugs.

Roger Luethi <rl@hellgate.ch> ran a benchmark:

test: top -d 0 -b -n 10 > /dev/null

==> 2.6.8 <==
real    0m19.092s
user    0m5.013s
sys     0m12.622s

==> 2.6.8 + patch-tgid-bugfixes <==
real    0m10.062s
user    0m5.042s
sys     0m4.111s

Signed-Off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] filemap read() fix
Ram Pai [Wed, 8 Sep 2004 00:50:22 +0000 (17:50 -0700)]
[PATCH] filemap read() fix

Fix the do_generic_file_read()-reads-one-page-too-many-bug for the fifth
time.

This patch combines the best features from Nick's patch and also makes
index and end_index consistent.  (i.e index 'n' covers n*PAGE_SIZE to
((n+1)PAGE_SIZE)-1.  I did not feel comfortable with the way index and
end_index represented different ranges.  It was like comparing apples with
oranges.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Allow cluster-wide flock
Ken Preslan [Wed, 8 Sep 2004 00:50:11 +0000 (17:50 -0700)]
[PATCH] Allow cluster-wide flock

Below is a patch that lets a cluster filesystem (such as GFS) implement
flock across the cluster.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] cdrom signedness range fixes
Andy Polyakov [Wed, 8 Sep 2004 00:49:59 +0000 (17:49 -0700)]
[PATCH] cdrom signedness range fixes

Fix a few range checks which aren't working right because

if (int < sizeof(...))

does the wrong thing if `int' is negative, due to `sizeof' returning unsigned.

In addition to comparisons, the patch makes CDROMVOL* ioctl more robust.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] make single-step into signal delivery stop in handler
Roland McGrath [Wed, 8 Sep 2004 00:49:47 +0000 (17:49 -0700)]
[PATCH] make single-step into signal delivery stop in handler

On x86 and x86-64, setting up to run a signal handler clears the
single-step bit (TF) in the processor flags before starting the handler.
This makes sense when a process is handling its own SIGTRAPs.

But when TF is set because PTRACE_SINGLESTEP was used, and that call
specified a handled signal so the handler setup is happening, it doesn't
make so much sense.  When the debugger stops to show you a signal about to
be delivered, and that signal should be handled, and then you do step or
stepi, you expect to see the signal handler code.  In fact, the signal
handler runs to completion and then you see the single-step trap at the
resumed code instead of seeing the handler.

This patch changes signal handler setup so that when TF is set and the
thread is under ptrace control, it synthesizes a single-step trap after
setting up the PC and registers to start the handler.  This makes that
PTRACE_SINGLESTEP not strictly a "step", since it actually runs no user
instructions at all.  But it is definitely what a debugger user wants, so
that single-stepping always stops and shows each and every instruction
before it gets executed.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] i386 syscall tracing of bogus system calls
Roland McGrath [Wed, 8 Sep 2004 00:49:36 +0000 (17:49 -0700)]
[PATCH] i386 syscall tracing of bogus system calls

In 2.4, strace will show you all bogus system calls a process tries.  In
2.6, it only shows you stubs < __NR_syscalls, and there is no tracing stop
for large bogus system call numbers.  I can't see why this was changed, so
I am assuming it was accidental.

This patch restores the expected behavior that syscall tracing shows every
bogus syscall attempt.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Remove RUSAGE_GROUP
Roland McGrath [Wed, 8 Sep 2004 00:49:24 +0000 (17:49 -0700)]
[PATCH] Remove RUSAGE_GROUP

After my cleanup of the rusage semantics was so quickly taken in by Andrew
and Linus without comment, I wonder if I should not have tried to be so
accommodating of potential objections as I was.  :-)

In my original posting, I solicited comment on whether introducing
RUSAGE_GROUP as distinct from RUSAGE_SELF was warranted.  Note that we've
now changed the behavior of the times system call when using CLONE_THREAD,
so changing getrusage RUSAGE_SELF to match would be consistent.  I think
that changing the meaning of the old RUSAGE_SELF value is preferable to
introducing the new value for the proper POSIX getrusage behavior.  This
patch against Linus's current tree dumps RUSAGE_GROUP and makes RUSAGE_SELF
have the fixed behavior.

If there is interest in having a new explicit interface to sample a single
thread's stats alone, then I think that would be better done by introducing
a new value for RUSAGE_THREAD.  This is trivial to implement, but I won't
offer patches bloating the interface if noone is actually interested in
using it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ptrace userspace API preservation
Roland McGrath [Wed, 8 Sep 2004 00:49:13 +0000 (17:49 -0700)]
[PATCH] ptrace userspace API preservation

This makes any ptrace operation that finds the target in TASK_STOPPED state
morph it into TASK_TRACED state before doing anything.  This necessitates
reverting the last_siginfo accesses to check instead of assume last_siginfo
is set, since it's no longer impossible to be in TASK_TRACED without being
stopped in ptrace_stop (though there are no associated races to worry
about).

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] cleanup ptrace stops and remove notify_parent
Roland McGrath [Wed, 8 Sep 2004 00:48:58 +0000 (17:48 -0700)]
[PATCH] cleanup ptrace stops and remove notify_parent

This adds a new state TASK_TRACED that is used in place of TASK_STOPPED
when a thread stops because it is ptraced.  Now ptrace operations are only
permitted when the target is in TASK_TRACED state, not in TASK_STOPPED.
This means that if a process is stopped normally by a job control signal
and then you PTRACE_ATTACH to it, you will have to send it a SIGCONT before
you can do any ptrace operations on it.  (The SIGCONT will be reported to
ptrace and then you can discard it instead of passing it through when you
call PTRACE_CONT et al.)

If a traced child gets orphaned while in TASK_TRACED state, it morphs into
TASK_STOPPED state.  This makes it again possible to resume or destroy the
process with SIGCONT or SIGKILL.

All non-signal tracing stops should now be done via ptrace_notify.  I've
updated the syscall tracing code in several architectures to do this
instead of replicating the work by hand.  I also fixed several that were
unnecessarily repeating some of the checks in ptrace_check_attach.  Calling
ptrace_check_attach alone is sufficient, and the old checks repeated before
are now incorrect, not just superfluous.

I've closed a race in ptrace_check_attach.  With this, we should have a
robust guarantee that when ptrace starts operating, the task will be in
TASK_TRACED state and won't come out of it.  This is because the only way
to resume from TASK_TRACED is via ptrace operations, and only the one
parent thread attached as the tracer can do those.

This patch also cleans up the do_notify_parent and do_notify_parent_cldstop
code so that the dead and stopped cases are completely disjoint.  The
notify_parent function is gone.

Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] factor out common <asm/hardirq.h> code
Christoph Hellwig [Wed, 8 Sep 2004 00:48:45 +0000 (17:48 -0700)]
[PATCH] factor out common <asm/hardirq.h> code

Since the irq handling rework in 2.5 lots of code in the individual
<asm/hardirq.h> files is the same.  This patch moves that common code
to <linux/hardirq.h>.  The following differences existed:

 - alpha, m68k, m68knommu and v850 were missing the ~PREEMPT_ACTIVE
   masking in the CONFIG_PREEMPT case of in_atomic().  These
   architectures don't support CONFIG_PREEMPT else this would have been
   an easily-spottbale bug
 - S390 didn't provide synchronize_irq as it doesn't fit into their
   I/O model.  They now get a spurious prototype/macro
 - ppc added a new preemptible() macro that is provided for all
   architectures now.

Most drivers were using <linux/interrupt.h> as they should, but a few
drivers and lots of architecture code has been updated to use
<linux/hardirq.h> instead of <asm/hardirq.h>

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Cleanup & fix lost ticks handling on x86-64
Andi Kleen [Wed, 8 Sep 2004 00:48:30 +0000 (17:48 -0700)]
[PATCH] Cleanup & fix lost ticks handling on x86-64

This cleans up the x86-64 lost tick handling and fixes some issues:

First it moves that code into an own function.

The newer could would become very noisy when the machine loses timer ticks
regularly.  This happens often on some laptops etc.  during the acpi ec
access (nothing much can be really done about it) This patch prints the
warnings only once.

It also fixes the logic on when to ask cpufreq for a new estimate.

And it implements timer fallback to HPET when there are really lots of lost
ticks.  This is following i386.  PIT fallback isn't implemented right now
though, but I hope we don't need this.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: handle SLB misses in realmode
David Gibson [Wed, 8 Sep 2004 00:48:18 +0000 (17:48 -0700)]
[PATCH] ppc64: handle SLB misses in realmode

Tested on pSeries and iSeries.  Some future plans for VSID allocation may
mean we have to take this out again, but that's a while off yet, and in the
meantime it's a significant speedup.

This patch makes the PPC64 SLB miss handler run in real mode (i.e.  MMU
off) for it's whole duration, on pSeries machines.  Avoiding the rfid used
to turn relocation on saves some 70-80 cycles on Power4 and Power5.  Not
having to save and restore SRR0 and SRR1 saves a few more, and means we
don't need an extra save slot for r3.  Overall there's around a 27% speedup
on Power4.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix declaration order in asm-ppc64/tlb.h
David Gibson [Wed, 8 Sep 2004 00:48:06 +0000 (17:48 -0700)]
[PATCH] ppc64: fix declaration order in asm-ppc64/tlb.h

In asm-ppc64/tlb.h, tlb_flush() is defined as inline after the #include of
asm-generic/tlb.h which uses it, defeating the inline directive.  gcc-3.4
exposes this problem, causing a compile failure.  This patch reorders the
file to fix the problem.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix compat NUMA API on big endian 64bit
Anton Blanchard [Wed, 8 Sep 2004 00:47:55 +0000 (17:47 -0700)]
[PATCH] ppc64: fix compat NUMA API on big endian 64bit

Switch the NUMA API to use compat_get_bitmap/compat_put_bitmap.  In order
to use compat_alloc_userspace instead of set_fs tricks, we have to do a few
copies.

This is what we are currently using on ppc64 but are willing to entertain
the idea of going to a 32bit bitmap, especially considering how much hoops
we have to go through to get it right in this patch.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: compat_get_bitmap/compat_put_bitmap
Anton Blanchard [Wed, 8 Sep 2004 00:47:44 +0000 (17:47 -0700)]
[PATCH] ppc64: compat_get_bitmap/compat_put_bitmap

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix compat cpu affinity on big endian 64bit
Anton Blanchard [Wed, 8 Sep 2004 00:47:32 +0000 (17:47 -0700)]
[PATCH] ppc64: fix compat cpu affinity on big endian 64bit

Add compat sched affinity code.  We can argue about how
USE_COMPAT_ULONG_CPUMASK works now that the non compat interface has
changed.

The old non compat behaviour was to require a bitmap long enough in both
setaffinity and getaffinity, now its only required in getaffinity.  I could
do the same for the 32bit interfaces.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix boot memory reporting
Anton Blanchard [Wed, 8 Sep 2004 00:47:21 +0000 (17:47 -0700)]
[PATCH] ppc64: fix boot memory reporting

The memory reporting line was completely broken on NUMA:

Memory: 481600k available (0k kernel code, 0k data, 0k init) [c000000000000000,c000000020000000]

Replace it with something that works with NUMA both enabled and
disabled:

Memory: 485888k/524288k available (4068k kernel code, 38104k reserved, 2348k data, 712k bss, 320k init)

Also just use the section symbols like x86 does.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: cut down paca footprint
Anton Blanchard [Wed, 8 Sep 2004 00:47:10 +0000 (17:47 -0700)]
[PATCH] ppc64: cut down paca footprint

The paca currently contains an iseries only structure which is quite large
(~1kB).  The following patch removes this overhead on pseries and g5
kernels.

Since the paca is no longer required to be page aligned, remove it from the
page aligned section.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: be resilient against sysfs PCI config accesses
Anton Blanchard [Wed, 8 Sep 2004 00:46:58 +0000 (17:46 -0700)]
[PATCH] ppc64: be resilient against sysfs PCI config accesses

Check the EEH return code and dont warn or panic if we get a non fatal
error.  Also up the printk on EEH error.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix __rw_yield prototype
Anton Blanchard [Wed, 8 Sep 2004 00:46:47 +0000 (17:46 -0700)]
[PATCH] ppc64: fix __rw_yield prototype

From: Nathan Lynch <nathanl@austin.ibm.com>

Hit this in latest bk:

include/asm/spinlock.h: In function `_raw_read_lock':
include/asm/spinlock.h:198: warning: passing arg 1 of `__rw_yield' from incompatible pointer type
include/asm/spinlock.h: In function `_raw_write_lock':
include/asm/spinlock.h:255: warning: passing arg 1 of `__rw_yield' from incompatible pointer type

This seems to have been broken by the out-of-line spinlocks patch.
You won't hit it unless you've enabled CONFIG_PPC_SPLPAR.  Use the
rwlock_t for the argument type, and move the definition of rwlock_t up
next to that of spinlock_t.

Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: fix hang on oprofile shutdown
Anton Blanchard [Wed, 8 Sep 2004 00:46:36 +0000 (17:46 -0700)]
[PATCH] ppc64: fix hang on oprofile shutdown

We had a problem in our dummy perfmon handler where we wouldnt reset the
PMAO bit.  If the bit ended up set and oprofile shutdown and removed its
handler then we would end up in a hard loop taking perfmon exceptions.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: allow SD_NODES_PER_DOMAIN to be overridden
Anton Blanchard [Wed, 8 Sep 2004 00:46:25 +0000 (17:46 -0700)]
[PATCH] ppc64: allow SD_NODES_PER_DOMAIN to be overridden

Allow SD_NODES_PER_DOMAIN to be overridden.  On ppc64 set this at 16 so our
top level scheduling domains will include all nodes.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc build fix
Joseph Fannin [Wed, 8 Sep 2004 00:46:14 +0000 (17:46 -0700)]
[PATCH] ppc build fix

The #include <asm/io.h> comes from bk-ia64.patch time interpolation logic
patch from Cristoph Lameter.

Signed-off-by: Joseph Fannin <jhf@rivenstone.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Time interpolator: Scalability enhancements and high resolution time for...
Christoph Lameter [Wed, 8 Sep 2004 00:46:02 +0000 (17:46 -0700)]
[PATCH] Time interpolator: Scalability enhancements and high resolution time for IA64

This has been in the ia64 (and hence -mm) trees for a couple of months.

Changelog:
 * Affects only architectures which define CONFIG_TIME_INTERPOLATION
   (currently only IA64)
 * Genericize time interpolation, make time interpolators easily usable
   and provide instructions on how to use the interpolator for other
   architectures.
 * Provide nanosecond resolution for clock_gettime and an accuracy
   up to the time interpolator time base.
 * clock_getres() reports resolution of underlying time basis which
   is typically <50ns and may be 1ns on some systems.
 * Make time interpolator self-tuning to limit time jumps
   and to make the interpolators work correctly on systems with
   broken time base specifications.
 * SMP scalability: Make clock_gettime and gettimeofday scale O(1)
   by removing the cmpxchg for most clocks (tested for up to 512 CPUs)
 * IA64: provide asm fastcall that doubles the performance
   of gettimeofday and clock_gettime on SGI and other IA64 systems
   (asm fastcalls scale O(1) together with the scalability fixes).
 * IA64: provide nojitter kernel option so that IA64 systems with
   correctly synchronized ITC counters may also enjoy the
   scalability enhancements.

Performance measurements for single calls (ITC cycles):

A. 4 way Intel IA64 SMP system (kmart)

ITC offsets:
kmart:/usr/src/noship-tests # dmesg|grep synchr
CPU 1: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 417 cycles)
CPU 2: synchronized ITC with CPU 0 (last diff 2 cycles, maxerr 417 cycles)
CPU 3: synchronized ITC with CPU 0 (last diff 1 cycles, maxerr 417 cycles)

A.1. Current kernel code

kmart:/usr/src/noship-tests # ./dmt
gettimeofday cycles: 3737 220 215 215 215 215 215 215 215 215
clock_gettime(REAL) cycles: 4058 575 564 576 565 566 558 558 558 558
clock_gettime(MONO) cycles: 1583 621 609 609 609 609 609 609 609 609
clock_gettime(PROCESS) cycles: 71428 298 259 259 259 259 259 259 259 259
clock_gettime(THREAD) cycles: 3982 336 290 298 298 298 298 286 286 286

A.2 New code using cmpxchg

kmart:/usr/src/noship-tests # ./dmt
gettimeofday cycles: 3145 213 216 213 213 213 213 213 213 213
clock_gettime(REAL) cycles: 3185 230 210 210 210 210 210 210 210 210
clock_gettime(MONO) cycles: 284 217 217 216 216 216 216 216 216 216
clock_gettime(PROCESS) cycles: 68857 289 270 259 259 259 259 259 259 259
clock_gettime(THREAD) cycles: 3862 339 298 298 298 298 290 286 286 286

A.3 New code with cmpxchg switched off (nojitter kernel option)

kmart:/usr/src/noship-tests # ./dmt
gettimeofday cycles: 3195 219 219 212 212 212 212 212 212 212
clock_gettime(REAL) cycles: 3003 228 205 205 205 205 205 205 205 205
clock_gettime(MONO) cycles: 279 209 209 209 208 208 208 208 208 208
clock_gettime(PROCESS) cycles: 65849 292 259 259 268 270 270 259 259 259

B. SGI SN2 system running 512 IA64 CPUs.

B.1. Current kernel code

[root@ascender noship-tests]# ./dmt
gettimeofday cycles: 17221 1028 1007 1004 1004 1004 1010 25928 1002 1003
clock_gettime(REAL) cycles: 10388 1099 1055 1044 1064 1063 1051 1056 1061 1056
clock_gettime(MONO) cycles: 2363 96 96 96 96 96 96 96 96 96
clock_gettime(PROCESS) cycles: 46537 804 660 666 666 666 666 666 666 666
clock_gettime(THREAD) cycles: 10945 727 710 684 685 686 685 686 685 686

B.2 New code

ascender:~/noship-tests # ./dmt
gettimeofday cycles: 3874 610 588 588 588 588 588 588 588 588
clock_gettime(REAL) cycles: 3893 612 588 582 588 588 588 588 588 588
clock_gettime(MONO) cycles: 686 595 595 588 588 588 588 588 588 588
clock_gettime(PROCESS) cycles: 290759 322 269 269 259 265 265 265 259 259
clock_gettime(THREAD) cycles: 5153 358 306 298 296 304 290 298 298 298

Scalability of time functions (in time it takes to do a million calls):
=======================================================================

A. 4 way Intel IA SMP system (kmart)
A.1 Current code

kmart:/usr/src/noship-tests # ./todscale -n1000000
 CPUS       WALL  WALL/CPUS
    1      0.192      0.192
    2      1.125      0.563
    4      9.229      2.307

A.2 New code using cmpxchg

kmart:/usr/src/noship-tests # ./todscale
 CPUS       WALL  WALL/CPUS
    1      0.188      0.188
    2      0.457      0.229
    4      0.413      0.103

(the measurement with 4 cpus may fluctuate up to 15.x somehow)

A.3 New code without cmpxchg (nojitter kernel option)

kmart:/usr/src/noship-tests # ./todscale -n10000000
 CPUS       WALL  WALL/CPUS
    1      0.180      0.180
    2      0.180      0.090
    4      0.252      0.063

B. SGI SN2 system running 512 IA64 CPUs.

The system has a global monotonic clock and therefore has
no need for compensation. Current code uses a cmpxchg. New
code has no cmpxchg.

B.1 current code

ascender:~/noship-tests # ./todscale
 CPUS       WALL  WALL/CPUS
    1      0.850      0.850
    2      1.767      0.884
    4      6.124      1.531
    8     20.777      2.597
   16     57.693      3.606
   32    164.688      5.146
   64    456.647      7.135
  128   1093.371      8.542
  256   2778.257     10.853
(System crash at 512 CPUs)

B.2 New code

ascender:~/noship-tests # ./todscale -n1000000
 CPUS       WALL  WALL/CPUS
    1      0.426      0.426
    2      0.429      0.215
    4      0.436      0.109
    8      0.452      0.057
   16      0.454      0.028
   32      0.457      0.014
   64      0.459      0.007
  128      0.466      0.004
  256      0.474      0.002
  512      0.518      0.001

Clock Accuracy
==============
A. 4 CPU SMP system

A.1 Old code

kmart:/usr/src/noship-tests # ./cdisp
          Gettimeofday() = 1092124757.270305000
           CLOCK_REALTIME= 1092124757.270382000 resolution= 0.000976563
          CLOCK_MONOTONIC=         89.696726590 resolution= 0.000976563
 CLOCK_PROCESS_CPUTIME_ID=          0.001242507 resolution= 0.000000001
  CLOCK_THREAD_CPUTIME_ID=          0.001255310 resolution= 0.000000001

A.2 New code

kmart:/usr/src/noship-tests # ./cdisp
          Gettimeofday() = 1092124478.194530000
           CLOCK_REALTIME= 1092124478.194603399 resolution= 0.000000001
          CLOCK_MONOTONIC=         88.198315204 resolution= 0.000000001
 CLOCK_PROCESS_CPUTIME_ID=          0.001241235 resolution= 0.000000001
  CLOCK_THREAD_CPUTIME_ID=          0.001254747 resolution= 0.000000001

Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] input: Eliminate hiddev.h dependency on hid.h
Adam Kropelin [Wed, 8 Sep 2004 00:45:50 +0000 (17:45 -0700)]
[PATCH] input: Eliminate hiddev.h dependency on hid.h

hiddev.h needs hid.h but doesn't include it.  Since hid.h is private anyway
just eliminate the need for it it in the first place.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] input: Fix hiddev disconnect-while-in-use oops
Adam Kropelin [Wed, 8 Sep 2004 00:45:38 +0000 (17:45 -0700)]
[PATCH] input: Fix hiddev disconnect-while-in-use oops

hid-core calls hiddev_disconnect() when the underlying device goes away
(hot unplug or system shutdown).  Normally, hiddev_disconnect() will clean
up nicely and return to hid-core who then frees the hid structure.
However, if the corresponding hiddev node is open at disconnect time,
hiddev delays the majority of disconnect work until the device is closed
via hiddev_release().  hiddev_release() calls hiddev_cleanup() which
proceeds to dereference the hid struct which hid-core freed back when the
hardware was disconnected.  Oops.

To solve this, we change hiddev_disconnect() to deregister the hiddev minor
and invalidate its table entry immediately and delay only the freeing of
the hiddev structure itself.  We're protected against future operations on
the fd since the major fops check hiddev->exists.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Convert in-kernel users of EXPORT_SYMBOL_NOVERS() to EXPORT_SYMBOL()
Geert Uytterhoeven [Wed, 8 Sep 2004 00:45:28 +0000 (17:45 -0700)]
[PATCH] Convert in-kernel users of EXPORT_SYMBOL_NOVERS() to  EXPORT_SYMBOL()

Convert all in-kernel users of the deprecated EXPORT_SYMBOL_NOVERS() to
EXPORT_SYMBOL().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Coda - fix sparse warnings
Jan Harkes [Wed, 8 Sep 2004 00:12:51 +0000 (17:12 -0700)]
[PATCH] Coda - fix sparse warnings

I reused the coda_file_read wrapper for sendfile and accidentally left
the __user tag on the buffer. This patch should fix the sparse warnings.

Signed-off-by: Jan Harkes <jaharkes@cs.cmu.edu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://drm.bkbits.net/drm-fntbl
Linus Torvalds [Wed, 8 Sep 2004 00:10:16 +0000 (17:10 -0700)]
Merge bk://drm.bkbits.net/drm-fntbl
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge starflyer.(none):/home/airlied/bitkeeper/linux-2.5
Dave Airlie [Thu, 9 Sep 2004 06:14:21 +0000 (16:14 +1000)]
Merge starflyer.(none):/home/airlied/bitkeeper/linux-2.5
into starflyer.(none):/home/airlied/bitkeeper/drm-fntbl

22 years agodrm: update Kconfig for r128/radeon
Dave Airlie [Thu, 9 Sep 2004 05:57:51 +0000 (15:57 +1000)]
drm: update Kconfig for r128/radeon

ATI Rage 128 and Radeon DRM unconditionally depend on PCI

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
22 years agoMissing ctx_count decrement when releasing driver.
Dave Airlie [Thu, 9 Sep 2004 05:41:29 +0000 (15:41 +1000)]
Missing ctx_count decrement when releasing driver.

From: Erdi Chen
Signed-off-by: Dave Airlie <airlied@linux.ie>
22 years agodrm: correct i915 packet length calculations
Dave Airlie [Thu, 9 Sep 2004 05:32:32 +0000 (15:32 +1000)]
drm: correct i915 packet length calculations

Correct a couple of packet length calculations.

From: Keith Whitwell
Signed-off-by: Dave Airlie <airlied@linux.ie>
22 years agoWe dereference dev->priv a few lines above, meaning we'd
Dave Airlie [Thu, 9 Sep 2004 05:21:27 +0000 (15:21 +1000)]
We dereference dev->priv a few lines above, meaning we'd
oops before we got to this sanity check. As it hasn't
triggered in any bug reports I've been able to find, I think
it's safe to nuke it.

Signed-off-by: Dave Jones <davej@redhat.com>
22 years agodrm: remove virt_to_bus
Dave Airlie [Tue, 7 Sep 2004 20:44:56 +0000 (06:44 +1000)]
drm: remove virt_to_bus

remove virt_to_bus completely.. will fix up drm to use proper
interfaces instead later..

Signed-off-by: Dave Airlie <airlied@linux.ie>
22 years ago[PATCH] SN2 build fix CONFIG_VIRTUAL_MEM_MAP and CONFIG_DISCONTIGMEM
Paul Jackson [Tue, 7 Sep 2004 14:36:57 +0000 (07:36 -0700)]
[PATCH] SN2 build fix CONFIG_VIRTUAL_MEM_MAP and CONFIG_DISCONTIGMEM

The change on 2004-09-03 by ianw@gelato.unsw.edu.au appears to have
a typo, which causes builds of configurations which define both
CONFIG_VIRTUAL_MEM_MAP and CONFIG_DISCONTIGMEM to emit some 890
warnings for redefines of each of pfn_valid, page_to_pfn,
pfn_to_page.

This shows up compiling sn2_defconfig, the SN2 config of arch ia64.  I
believe that this is a simply typo, an extra "#else" line.  Removing
this exta line enables sn2_defconfig to build as before.

Acked by Jesse Barnes <jbarnes@engr.sgi.com>

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.6
Linus Torvalds [Tue, 7 Sep 2004 12:53:47 +0000 (05:53 -0700)]
Merge bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Tue, 7 Sep 2004 09:43:04 +0000 (02:43 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-mmc
Linus Torvalds [Tue, 7 Sep 2004 09:41:38 +0000 (02:41 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-mmc
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
David S. Miller [Tue, 7 Sep 2004 09:35:45 +0000 (02:35 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
into kernel.bkbits.net:/home/davem/sparc-2.6

22 years agoMerge
David S. Miller [Tue, 7 Sep 2004 07:50:36 +0000 (00:50 -0700)]
Merge

22 years ago[PKT_SCHED]: Add missing MODULE_LICENSE.
Pozsar Balazs [Tue, 7 Sep 2004 07:20:26 +0000 (00:20 -0700)]
[PKT_SCHED]: Add missing MODULE_LICENSE.

Signed-off-by: Pozsar Balazs <pozsy@uhulinux.hu>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NETFILTER]: Fix build error with CONFIG_SYSCTL disabled.
Rusty Russell [Tue, 7 Sep 2004 07:18:46 +0000 (00:18 -0700)]
[NETFILTER]: Fix build error with CONFIG_SYSCTL disabled.

ip_ct_log_invalid was added without testing that it compiles without
CONFIG_SYSCTL.  Since sysctl is the only way of turning it on, there
should be no references to it if \!CONFIG_SYSCTL.  Also, that turns off
CONFIG_PROC_FS, which elicits more warnings.  Squish them too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Unexport {alloc,free}_divert_blk()
Christoph Hellwig [Tue, 7 Sep 2004 06:53:00 +0000 (23:53 -0700)]
[NET]: Unexport {alloc,free}_divert_blk()

these are called by dev.c for every device (and nowhere else)

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[IPV4]: Mark inet_family_ops static
Christoph Hellwig [Tue, 7 Sep 2004 06:52:08 +0000 (23:52 -0700)]
[IPV4]: Mark inet_family_ops static

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Fix compat layer setsockopt overzealous conversions.
David Woodhouse [Tue, 7 Sep 2004 06:50:58 +0000 (23:50 -0700)]
[NET]: Fix compat layer setsockopt overzealous conversions.

compat_sys_setsockopt() is a little overzealous about converting 32-bit
stuff into 64-bit. It should match on level _and_ optname, not just
optname. Currently it eats the IPV6_V6ONLY sockopt because its value
(26) happens to match SO_ATTACH_FILTER.

This makes it at least check 'level' for everything but
IPT_SO_SET_REPLACE == IPT6_SO_SET_REPLACE, because that does seem to be
the same in different levels. But do_netfilter_replace() is another can
of worms entirely -- it doesn't actually work either, because some
netfilter modules (like ipt_limit) include kernel-only bits which change
size in the structure they share with userspace.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[BRIDGE]: deadlock on device removal
Stephen Hemminger [Tue, 7 Sep 2004 06:49:43 +0000 (23:49 -0700)]
[BRIDGE]: deadlock on device removal

Fixes: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=131569
Dead lock in bridge when removing device interface module. br_del_if
assumes br->lock not held.

This fixes case of:
brctl addbr b0
brctl addif b0 eth0
rmmod eth0

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[IPVS] add the MAINTAINERS entry
Wensong Zhang [Tue, 7 Sep 2004 06:47:50 +0000 (23:47 -0700)]
[IPVS] add the MAINTAINERS entry

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[IPVS] fixed to call nf_reset() to reset netfilter related fields
Wensong Zhang [Tue, 7 Sep 2004 06:43:52 +0000 (23:43 -0700)]
[IPVS] fixed to call nf_reset() to reset netfilter related fields

Recommended by Harald Welte <laforge@netfilter.org>

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[PKT_SCHED]: Fix gact compile warnings.
Jamal Hadi Salim [Tue, 7 Sep 2004 06:40:52 +0000 (23:40 -0700)]
[PKT_SCHED]: Fix gact compile warnings.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Move SOCK_foo types into linux/net.h
Arnaldo Carvalho de Melo [Tue, 7 Sep 2004 06:38:22 +0000 (23:38 -0700)]
[NET]: Move SOCK_foo types into linux/net.h

Every arch defines them the same without exception
and with this we only need to update one spot when
adding new socket types.

Signed-off-by: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Do less atomic count changes in dev_queue_xmit.
Andi Kleen [Tue, 7 Sep 2004 06:36:36 +0000 (23:36 -0700)]
[NET]: Do less atomic count changes in dev_queue_xmit.

With suggestions from Herbert Xu

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Fully plug netigh_create/inetdev_destroy race.
Herbert Xu [Tue, 7 Sep 2004 06:35:09 +0000 (23:35 -0700)]
[NET]: Fully plug netigh_create/inetdev_destroy race.

So here is a patch to make sure that there is a barrier between the
reading of dev->*_ptr and *dev->neigh_parms.

With these barriers in place, it's clear that *dev->neigh_parms can no
longer be NULL since once the parms are allocated, that pointer is never
reset to NULL again.  Therefore I've also removed the parms check in
these paths.

They were bogus to begin with since if they ever triggered then we'll
have dead neigh entries stuck in the hash table.

Unfortunately I couldn't arrange for this to happen with DECnet due
to the dn_db->parms.up() call that's sandwiched between the assignment
of dev->dn_ptr and dn_db->neigh_parms.  So I've kept the parms check
there but it will now fail instead of continuing.  I've also added an
smp_wmb() there so that at least we won't be reading garbage from
dn_db->neigh_parms.

DECnet is also buggy since there is no locking at all in the destruction
path.  It either needs locking or RCU like IPv4.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[PACKET]: Fix deref before NULL check in packet_release()
Dave Jones [Tue, 7 Sep 2004 06:24:36 +0000 (23:24 -0700)]
[PACKET]: Fix deref before NULL check in packet_release()

Using the automated source checker at coverity.com, they picked up
on some code in packet_release() where a NULL check was done
after dereferencing.  Patch below.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[AX25]: Fix digipeat leak.
Dave Jones [Tue, 7 Sep 2004 06:21:21 +0000 (23:21 -0700)]
[AX25]: Fix digipeat leak.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[SUNGEM]: Add NAPI support.
Eric Lemoine [Tue, 7 Sep 2004 06:18:30 +0000 (23:18 -0700)]
[SUNGEM]: Add NAPI support.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: Fix CONFIG_COMPAT build with networking disabled.
Andi Kleen [Tue, 7 Sep 2004 05:55:45 +0000 (22:55 -0700)]
[NET]: Fix CONFIG_COMPAT build with networking disabled.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Tue, 7 Sep 2004 05:48:17 +0000 (22:48 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[ARM] Eliminate ARM private __KERNEL_HZ.
Russell King [Tue, 7 Sep 2004 20:19:18 +0000 (21:19 +0100)]
[ARM] Eliminate ARM private __KERNEL_HZ.

22 years ago[ARM] Don't include asm/arch/param.h for non-kernel build uses.
Russell King [Tue, 7 Sep 2004 20:10:47 +0000 (21:10 +0100)]
[ARM] Don't include asm/arch/param.h for non-kernel build uses.

22 years ago[ARM PATCH] 2069/2: fix compile error with newer gcc
Nicolas Pitre [Tue, 7 Sep 2004 18:44:58 +0000 (19:44 +0100)]
[ARM PATCH] 2069/2: fix compile error with newer gcc

Patch from Nicolas Pitre

At least with gcc-3.4.1...
Error: use of old and new-style options to set FPU type

Signed-off-by: Nicolas Pitre
22 years ago[ARM PATCH] 2068/2: fix more gcc-3.4.1 warnings
Nicolas Pitre [Tue, 7 Sep 2004 18:25:43 +0000 (19:25 +0100)]
[ARM PATCH] 2068/2: fix more gcc-3.4.1 warnings

Patch from Nicolas Pitre

This patch removes a bunch of inline functions from unistd.h on ARM. Some of
them were conflicting with gcc's idea of how they should normally be declared,
and none of them are used anymore.

Signed-off-by: Nicolas Pitre
22 years ago[ARM PATCH] 2064/2: fix some gcc-3.4 warnings
Nicolas Pitre [Tue, 7 Sep 2004 18:21:22 +0000 (19:21 +0100)]
[ARM PATCH] 2064/2: fix some gcc-3.4 warnings

Patch from Nicolas Pitre

warning: use of conditional expressions as lvalues is deprecated

Signed-off-by: Nicolas Pitre
22 years ago[ARM PATCH] 2053/2: more atomic ops factorization
Nicolas Pitre [Tue, 7 Sep 2004 18:16:19 +0000 (19:16 +0100)]
[ARM PATCH] 2053/2: more atomic ops factorization

Patch from Nicolas Pitre

Reduce code duplication.  Resulting assembly is identical.

Signed-off-by: Nicolas Pitre
22 years ago[ARM PATCH] 2052/2: extra IRQ handling for PXA27x
Nicolas Pitre [Tue, 7 Sep 2004 18:11:45 +0000 (19:11 +0100)]
[ARM PATCH] 2052/2: extra IRQ handling for PXA27x

Patch from Nicolas Pitre

Signed-off-by: Nicolas Pitre
22 years ago[ARM] Add flush_cache_user_page() for sys_cacheflush()
Russell King [Tue, 7 Sep 2004 15:45:36 +0000 (16:45 +0100)]
[ARM] Add flush_cache_user_page() for sys_cacheflush()

Add flush_cache_user_page() to handle sys_cacheflush.  Userspace
wants to use this call to ensure I/D cache coherency for runtime-
built code (eg, used by Java etc).  This does not fit well with
the purpose of flush_cache_range(), so provide
flush_cache_user_range() instead.

22 years ago[ARM] Fix/Optimise flush_dcache_page() for VIPT aliasing caches.
Russell King [Tue, 7 Sep 2004 15:38:30 +0000 (16:38 +0100)]
[ARM] Fix/Optimise flush_dcache_page() for VIPT aliasing caches.

Fix flush_dcache_page() for ARMv6 VIPT aliasing caches, and ignore
it for non-aliasing caches.

22 years ago[ARM] Fix copy/clear user page functions for VIPT aliasing caches.
Russell King [Tue, 7 Sep 2004 15:32:50 +0000 (16:32 +0100)]
[ARM] Fix copy/clear user page functions for VIPT aliasing caches.

This fixes the copy and clear user page functions for ARMv6 aliasing
caches.  When we copy data into a page destined for user space, we
must make sure that there are no dirty cache lines associated with
the kernel space mapping of this page.

22 years ago[ARM] Add cache_is_xxxx() functions for cache type identification.
Russell King [Tue, 7 Sep 2004 15:24:51 +0000 (16:24 +0100)]
[ARM] Add cache_is_xxxx() functions for cache type identification.

Add cache_is_xxxx() functions so we can easily identify the cache
type of the CPU we're running on.

22 years ago[ARM] Optimise __flush_dcache_page calls.
Russell King [Tue, 7 Sep 2004 15:18:38 +0000 (16:18 +0100)]
[ARM] Optimise __flush_dcache_page calls.

22 years ago[ARM] Move flush_dcache_page
Russell King [Tue, 7 Sep 2004 15:12:01 +0000 (16:12 +0100)]
[ARM] Move flush_dcache_page

Move flush_dcache_page into flush.c - it shouldn't be in the middle
of the VIVT mmap alias coherency code.

22 years ago[TCP]: Make sure SKB tso factor is setup early enough.
David S. Miller [Tue, 7 Sep 2004 04:03:16 +0000 (21:03 -0700)]
[TCP]: Make sure SKB tso factor is setup early enough.

It needs to be set so that congestion window
calculations have a valid value to work with.
This means that doing it at write queue running
time is too late.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TCP]: Calculate SKB tso factor more accurately.
David S. Miller [Tue, 7 Sep 2004 03:01:22 +0000 (20:01 -0700)]
[TCP]: Calculate SKB tso factor more accurately.

Eliminate tp->mss_tso_factor.  Instead, we calculate the
SKB tso factor as we walk the write queue for initial
transmit or fragment SKBs.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TCP]: Make TSO play nice with congestion window.
David S. Miller [Tue, 7 Sep 2004 02:20:50 +0000 (19:20 -0700)]
[TCP]: Make TSO play nice with congestion window.

Previously TSO would not abide by the congestion
window properly.  Essentially, each TSO packet would
be trated just like 1 normal packet, even though a TSO
packet generates more than 1 normal packet.  This
violates congestion window rules entirely.

So now we record the TSO factor, a count of how many
real packets a TSO packet will generate, and include
this in all the packet counting routines.

This initial version has a bug in that skb_entail() is
not the correct time to figure out the TSO factor for
the SKB, and tp->mss_tso_factor is not necessarily the
right value for a given SKB.  Will fix this up next.

Signed-off-by: David S. Miller <davem@davemloft.net>