]> git.hungrycats.org Git - linux/log
linux
22 years ago[PATCH] __setup fixes
Alexander Viro [Tue, 31 Aug 2004 09:43:00 +0000 (02:43 -0700)]
[PATCH] __setup fixes

fd_mcs and NCR53c406a forget to parse string -> int array in their
setup functions.

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] sparc64 vga.h fix
Alexander Viro [Tue, 31 Aug 2004 09:42:48 +0000 (02:42 -0700)]
[PATCH] sparc64 vga.h fix

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] mixart cleanups
Alexander Viro [Tue, 31 Aug 2004 09:42:36 +0000 (02:42 -0700)]
[PATCH] mixart cleanups

* check result of pci_set_dma_mask() instead of looking at pci_dma_supported()
* size_t => %zd

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netfilter warning (alpha)
Alexander Viro [Tue, 31 Aug 2004 09:42:24 +0000 (02:42 -0700)]
[PATCH] netfilter warning (alpha)

On alpha u64 is unsigned long; %llu is unsigned long long...

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] alpha csum_partial_copy.c annotations
Alexander Viro [Tue, 31 Aug 2004 09:42:13 +0000 (02:42 -0700)]
[PATCH] alpha csum_partial_copy.c annotations

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] acpiphp_ibm.c 64bit portability
Alexander Viro [Tue, 31 Aug 2004 09:42:01 +0000 (02:42 -0700)]
[PATCH] acpiphp_ibm.c 64bit portability

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] acpi/processor.c 64bit portability
Alexander Viro [Tue, 31 Aug 2004 09:41:49 +0000 (02:41 -0700)]
[PATCH] acpi/processor.c 64bit portability

wrong type of return value for ->write()

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] missing include in pcm_native.c
Alexander Viro [Tue, 31 Aug 2004 09:41:37 +0000 (02:41 -0700)]
[PATCH] missing include in pcm_native.c

compile fix for alpha - io.h is needed there for io_remap_...()

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] usx2y cleanups and fixes
Alexander Viro [Tue, 31 Aug 2004 09:41:25 +0000 (02:41 -0700)]
[PATCH] usx2y cleanups and fixes

Sigh...
a) mixing of userland and kernel pointers is bad
b) so's not checking result of kmalloc()
c) so's not checking result of copy_from_user()
d) use of do { .... break; ... break; ... } while(0); is *highly*
unidiomatic.  Do not confuse kernel with IOCCC, please. And if you have
religious aversion to multiple return statements in a function, at least
learn the reasons why it is frowned upon in many situations.  Hint: they
all apply to use of break in that manner.
e) 0 instead of NULL

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] alpha warning fixes
Alexander Viro [Tue, 31 Aug 2004 09:41:13 +0000 (02:41 -0700)]
[PATCH] alpha warning fixes

pci_dma_sync_single_for_device() had wrong prototype [who TF had come up
with that name, anyway?]
->cpu in thread_info was long; it should be unsigned int.

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] missing include compiler.h in arm memory.h
Alexander Viro [Tue, 31 Aug 2004 09:41:01 +0000 (02:41 -0700)]
[PATCH] missing include compiler.h in arm memory.h

use of __deprecated requires compiler.h

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] mmc annotation
Alexander Viro [Tue, 31 Aug 2004 09:40:49 +0000 (02:40 -0700)]
[PATCH] mmc annotation

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] missing includes from irq changes
Alexander Viro [Tue, 31 Aug 2004 09:40:37 +0000 (02:40 -0700)]
[PATCH] missing includes from irq changes

Signed-off-by: Al Viro <viro@parcelfarce.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoRevert "mark pcxx as broken"
Linus Torvalds [Tue, 31 Aug 2004 06:35:33 +0000 (23:35 -0700)]
Revert "mark pcxx as broken"

Not only did it mark the wrong driver, Christoph reports that
somebody might have even made the driver compile these days..

Cset exclude: hch@lst.de[torvalds]|ChangeSet|20040831174055|41082

22 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Tue, 31 Aug 2004 04:28:50 +0000 (21:28 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[PATCH] isdn debug build fix
Andrew Morton [Tue, 31 Aug 2004 03:43:29 +0000 (20:43 -0700)]
[PATCH] isdn debug build fix

On x86_64:

drivers/isdn/hardware/eicon/debug.c: In function `DI_format':
drivers/isdn/hardware/eicon/debug.c:599: incompatible types in assignment

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] s390: zfcp host adapater
Martin Schwidefsky [Tue, 31 Aug 2004 03:43:11 +0000 (20:43 -0700)]
[PATCH] s390: zfcp host adapater

zfcp host adapater changes:
 - Add ability to enqueue other WKA ports besides the nameserver port.
 - Document and cleanup sg_list functions.
 - Add get_port_by_did/get_adapater_by_busid functions.
 - Improve documentation of some functions and structures.
 - Fix error handling for nameserver requests.
 - Correct size check in zfcp_sg_list_copy_to_user.
 - Correct parameter description for loglevel parameter.
 - Remove unsused code, types and definitions.
 - Add support for exchange_port_data command.
 - Add infrastructure to set timers for ELS and SCSI commands.
 - Avoid adapter shutdown after receiving FSF_SQ_ULP_PROGRAMMING_ERROR.

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: kernel stack options.
Martin Schwidefsky [Tue, 31 Aug 2004 03:42:58 +0000 (20:42 -0700)]
[PATCH] s390: kernel stack options.

This adds support for the new compiler options -mkernel-backchain,
-mstack-size, -mstack-guard, -mwarn-dynamicstack and -mwarn-framesize.

The option -mkernel-backchain enables the use of modified layout for the
stack frames of kernel functions.  This breaks the ABI, modules compiled
with the option won't work on a kernel compiled with the option and vice
versa.  The positive effect of the option is a drastic reduction of kernel
stack use.  The trick is that the new frame layout allows to overlap the 96
(31 bit)/160 (64 bit) byte bias areas of the functions on the call chain.
This lowers the minimal stack usage of a function from 96 bytes to 16 bytes
(31 bit) and 160 bytes to 24 bytes (64 bit).  The kernel stack use is
decreased to a point where it is possible to use 4K (31 bit) / 8K (64 bit)
stacks.  The split into process stack and interrupt stack is already in
place.

The options -mstack-size and -mstack-guard are used to detect kernel stack
overflows.  The compiler adds code to the prolog of every function that
causes an illegal operation if the kernel stack is about to overflow.

The options -mwarn-dynamicstack and -mwarn-framesize cause the compiler to
emit warnings if a function uses dynamic stack allocation or if the
function frame size is bigger then a specified limit.

To play safe all the new options are configurable.

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: core changes
Martin Schwidefsky [Tue, 31 Aug 2004 03:42:46 +0000 (20:42 -0700)]
[PATCH] s390: core changes

s390 core changes:
 - Fix a race condition between kernel thread creation and preemption.
 - Fix idal_is_needed for the border case 0x7ffff000.
 - Get rid of compiler warnings in compat_signal.c and profile.c.
 - Regenerate default configuration.

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] stv0299 device naming fix
Jacek Poplawski [Tue, 31 Aug 2004 03:42:33 +0000 (20:42 -0700)]
[PATCH] stv0299 device naming fix

Name of device has been changed in 2.6.9-rc1 to "SkyStar2", but module stv0299
still compares name with "Technisat SkyStar2 driver", strings are different,
and result is that stv0299 detects invalid tuner type.

Cc: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] kernel/fork.c add missing unlikely().
Luiz Capitulino [Tue, 31 Aug 2004 03:42:19 +0000 (20:42 -0700)]
[PATCH] kernel/fork.c add missing unlikely().

Signed-off-by: Luiz Capitulino <lcapitulino@conectiva.com.br>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] v4l/bttv: add sanity check (bug #3309)
Gerd Knorr [Tue, 31 Aug 2004 03:42:07 +0000 (20:42 -0700)]
[PATCH] v4l/bttv: add sanity check (bug #3309)

Missing sanity check, overlay is supported for packed pixel formats only.
Patch below.  It's not API related btw, the bug can be triggered using the
v4l2 API as well.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fbdev: fix copy_to/from_user in fbmem.c:fb_read/write
Antonino Daplas [Tue, 31 Aug 2004 03:41:55 +0000 (20:41 -0700)]
[PATCH] fbdev: fix copy_to/from_user in fbmem.c:fb_read/write

This patch fixes a problem reported by David S. Miller <davem@redhat.com>

"I just noticed that fb_{read,write}() uses copy_*_user() with
 the kernel buffer being the frame buffer.  It needs to use
 the proper device address accessor functions."

The patch will do an intermediate copy of the contents to a page-sized,
kmalloc'ed buffer.

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: fix kernel panic from FBIO_CURSOR ioctl
Antonino Daplas [Tue, 31 Aug 2004 03:41:42 +0000 (20:41 -0700)]
[PATCH] fbdev: fix kernel panic from FBIO_CURSOR ioctl

1. This fixes a kernel oops when issuing an FBIO_CURSOR ioctl if struct
   fb_cursor_user is filled with zero/NULLs.  Reported by Yuval Kogman
   <nothingmuch@woobling.org>.

2. This also fixes the cursor corruption in soft_cursor when
   sprite.scan_align != 1.

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] BeFS: load default nls if none is specified in mount options
Vegard Wærp [Tue, 31 Aug 2004 03:41:30 +0000 (20:41 -0700)]
[PATCH] BeFS: load default nls if none is specified in mount options

Makes the BeOS File Systen driver load the default nls if none is specified
in the "iocharset" mount option.

Signed-off-by: Vegard Wærp <vegarwa@online.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix devfs name for microcode driver
Christoph Hellwig [Tue, 31 Aug 2004 03:41:18 +0000 (20:41 -0700)]
[PATCH] fix devfs name for microcode driver

Seem like devfsd expects it in /dev/cpu/microcode and Debian users do
as well.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] make topology.h macros safer
William Lee Irwin III [Tue, 31 Aug 2004 03:41:06 +0000 (20:41 -0700)]
[PATCH] make topology.h macros safer

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] mark pcxx as broken
Christoph Hellwig [Tue, 31 Aug 2004 03:40:55 +0000 (20:40 -0700)]
[PATCH] mark pcxx as broken

It's already marked BROKEN_ON_SMP, but even a UP compile yields tons of
errors.  While those aren't deeply complicated to fix having them for over
a year now is a pretty good indicator no one cares.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] hfs/hfsplus is missing .sendfile
Christoph Hellwig [Tue, 31 Aug 2004 03:40:42 +0000 (20:40 -0700)]
[PATCH] hfs/hfsplus is missing .sendfile

There seem to be some crazy mac users that want to use the loop driver
on hfsplus.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] zr36067 driver - correct subfrequency carrier
Ronald Bultje [Tue, 31 Aug 2004 03:40:31 +0000 (20:40 -0700)]
[PATCH] zr36067 driver - correct subfrequency carrier

attached patch changes the subfrequency carrier value in the adv7175
video output driver which is part of the zr36067 driver package. The
practical consequence is that the picture will be more stable on
non-passthrough video mode in NTSC. It does not affect PAL/SECAM. Patch
originally submitted by Douglas Fraser <ds-fraser@comcast.net> (8/21).

Signed-off-by: Ronald Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Douglas Fraser <ds-fraser@comcast.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] zr36067 driver - use msleep() instead of schedule_timeout()
Ronald Bultje [Tue, 31 Aug 2004 03:40:19 +0000 (20:40 -0700)]
[PATCH] zr36067 driver - use msleep() instead of schedule_timeout()

attached patch makes the zr36067 driver use msleep() instead of
schedule_timeout() with uninterruptible state. Patch originally
submitted by Nishanth Aravamudan <nacc@us.ibm.com> (7/26).

Signed-off-by: Ronald Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] zr36067 driver - correct i2c-algo-bit dependency in Kconfig
Ronald Bultje [Tue, 31 Aug 2004 03:40:07 +0000 (20:40 -0700)]
[PATCH] zr36067 driver - correct i2c-algo-bit dependency in Kconfig

attached patch correctly makes the zr36067 driver depend on i2c-ago-bit in
the kernel config.  Bug reported and patch sent to me by Adrian Bunk
<bunk@fs.tum.de> (6/21).  It wasn't signed off.

Signed-off-by: Ronald Bultje <rbultje@ronald.bitfreak.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix hardcoded value in vsyscall.lds
Brian Gerst [Tue, 31 Aug 2004 03:39:56 +0000 (20:39 -0700)]
[PATCH] Fix hardcoded value in vsyscall.lds

The last attempt to clean this up still left a hardcoded constant (the
offset from __FIXADDR_TOP).  This patch moves VSYSCALL_BASE to
asm-offsets.c.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] export more symbols on sparc32
Joshua Kwan [Tue, 31 Aug 2004 03:39:45 +0000 (20:39 -0700)]
[PATCH] export more symbols on sparc32

Cc: William Lee Irwin III <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] remove ext2_panic() prototype
Andrew Morton [Tue, 31 Aug 2004 03:39:32 +0000 (20:39 -0700)]
[PATCH] remove ext2_panic() prototype

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] interrupt driven hvc_console as vio device
Ryan S. Arnold [Tue, 31 Aug 2004 03:39:20 +0000 (20:39 -0700)]
[PATCH] interrupt driven hvc_console as vio device

This is an hvc_console patch which provides driver and ppc64 architecture
fixes to enable the hvc_console driver to register itself as a vio device
with the vio bus, provide hotplug add/remove for vty adapters, and act as
an interrupt driven driver on Power-5 hardware or remain as a polling
driver on Power-4 hardware.

arch/ppc64/kernel/hvconsole.c
=============================

- Changed hvc_get_chars() and hvc_put_chars() api to take vtermno rather
  than index number.

- Added hvc_find_vtys() function which walks the bus looking for
  vterm/vty devices to callback to the hvc_console driver.  This provides
  console output functionality prior to early console init (pre mem init
  and pre device probe).

include/asm-ppc64/hvconsole.h
=============================

- Changed hvc_get_chars() and hvc_put_chars() api to take vtermno rather
  than index number.

- Added hvc_find_vtys() function.

- Added hvc_instantiate() function which is implemented by a console
  driver wanting to receive a callback of and early console init.

drivers/char/hvc_console.c
==========================

- Switch khvcd from kernel_threads to kthreads which got rid of
  deprecated daemonize().

- Added module exit clause to be thorough (not terribly necessary with a
  console driver of course)

- Added early discovery of vterm/vty adapters by doing a bus walk on
  early console init which results in hvc_instantiate() callback and
  addition of the vtermno into a static array of vtermnos supported as
  console adapters (meaning the console api's work against these vtermnos
  prior to full console initialization).

- This driver is now registered as a vio driver which means that vty
  adapters are now managed via probe/remove.  This means hvc_console
  supports hotplug vty adapters.

- Driver now requests more device nodes than what was found on the
  initial bus walk when registered as a tty driver to make room for hotplug
  vty adapters.  These secondary vty adapters provide a tty tunnel between
  partitions.

- Removed static hvc_struct array and replaced with a linux list that has
  elements (hvc_struct instances) added/removed on probe/remove AFTER early
  console init.  This is important because kmalloc can't be done at early
  console init.

- Driver now either runs in interrupt driven mode or in polling mode on
  older hardware.  The khvcd is smart enough to not 'schedule()' when there
  are no interrupts.

- kobjects are now used for ref counting on the hvc_struct instances.

- This driver puts the tty layer to sleep on hvc_close() if there are
  pending data writes being blocked by firmware.

- Removed useless spinlocks in hvc_chars_in_buffer() and hvc_write_room.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
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>
22 years ago[PATCH] synclinkmp transmit eom fix
Paul Fulghum [Tue, 31 Aug 2004 03:39:09 +0000 (20:39 -0700)]
[PATCH] synclinkmp transmit eom fix

Bug Fixes:

* Fix transmit end of message (EOM) processing to work correctly with
  hardware auto CTS feature

* Fix oops in error path if hardware diags fail during device
  initialization

Cosmetic change:

* Use existing macros for address space size instead of hardcoded values

Signed-off-by: Paul Fulghum <paulkf@microgate.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix a NULL pointer bug in do_generic_file_read()
David Howells [Tue, 31 Aug 2004 03:38:57 +0000 (20:38 -0700)]
[PATCH] Fix a NULL pointer bug in do_generic_file_read()

The attached patch fixes a bug introduced into do_generic_mapping_read() by
which a file pointer becomes required.  I'd arranged things so that the
file pointer was optional so that I could call the function directly on an
inode.

Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Make i386 signal delivery work with -mregparm
H. Peter Anvin [Tue, 31 Aug 2004 03:38:44 +0000 (20:38 -0700)]
[PATCH] Make i386 signal delivery work with -mregparm

This patch allows i386 signal delivery to work correctly when userspace is
compiled with -mregparm.  This is somewhat hacky: it passes the arguments
*both* on the stack and in registers, but it works because there are only
one or three (depending on SA_SIGINFO) official arguments.  If you're
relying on the unofficial arguments then you're doing something nonportable
anyway and can put in the __attribute__((cdecl,regparm(0))) in the correct
place.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netpoll: fix up trapped logic
Jeff Moyer [Tue, 31 Aug 2004 03:38:32 +0000 (20:38 -0700)]
[PATCH] netpoll: fix up trapped logic

This patch contains the updates necessary to fix the hangs in netconsole.
This includes the changing of trapped to an atomic_t, and the addition of a
netpoll_poll_lock.  It also turns dev->netpoll_rx into a bitfield which is
used to keep from running the networking code from the netpoll_poll call path.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netpoll: increase NAPI budget
Jeff Moyer [Tue, 31 Aug 2004 03:38:19 +0000 (20:38 -0700)]
[PATCH] netpoll: increase NAPI budget

I've upped the poll budget to 16 and added a comment explaining why.  I
definitely ran into this problem when testing netdump.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netpoll: kill CONFIG_NETPOLL_RX
Jeff Moyer [Tue, 31 Aug 2004 03:38:07 +0000 (20:38 -0700)]
[PATCH] netpoll: kill CONFIG_NETPOLL_RX

This patch removes CONFIG_NETPOLL_RX, as discussed.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netpoll: revert queue stopped change
Matt Mackall [Tue, 31 Aug 2004 03:37:55 +0000 (20:37 -0700)]
[PATCH] netpoll: revert queue stopped change

Here's the first of the broken out patch set.  This puts the check for
netif_queue_stopped back into netpoll_send_skb.  Network drivers are not
designed to have their hard_start_xmit routines called when the queue is
stopped.

Signed-off-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] netpoll: fix unaligned accesses
Matt Mackall [Tue, 31 Aug 2004 03:37:42 +0000 (20:37 -0700)]
[PATCH] netpoll: fix unaligned accesses

Avoid some alignment traps.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] tdfx linkage fix
Paolo Ornati [Tue, 31 Aug 2004 03:37:30 +0000 (20:37 -0700)]
[PATCH] tdfx linkage fix

drivers/built-in.o(.data+0x40a68): undefined reference to `cfb_fillrect'
drivers/built-in.o(.data+0x40a6c): undefined reference to `cfb_copyarea'

3dfx framebuffer driver depends on "cfb_fillrect.c" and "cfb_copyarea.c" if
it's compiled without CONFIG_FB_3DFX_ACCEL turned on...

Signed-off-by: Paolo Ornati <ornati@fastwebnet.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] use page_to_nid
Andy Whitcroft [Tue, 31 Aug 2004 03:37:17 +0000 (20:37 -0700)]
[PATCH] use page_to_nid

There are a couple of places where we seem to go round the houses to get
the numa node id from a page.  We have a macro for this so it seems
sensible to use that.

Both lookup_node and enqueue_huge_page use page_zone() to locate the zone,
that to locate node pgdat_t and that to get the node_id.  Its more
efficient to use page_to_nid() which gets the nid from the page flags,
especially if we are not using the zone for anything else it.  Change these
to use page_to_nid().

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] i386 bootmem restrictions
Andy Whitcroft [Tue, 31 Aug 2004 03:37:03 +0000 (20:37 -0700)]
[PATCH] i386 bootmem restrictions

(Comment changes only)

The bootmem allocator is initialised before the kernel virtual address
space has been fully established.  As a result, any allocations which are
made before paging_init() has completed may point to invalid kernel
addresses.  This patch notes this limitation and indicates where the
allocator is fully available.

Signed-off-by: Andy Whitcroft <apw@shadowen.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Don't OOPS on stripped modules
Rusty Russell [Tue, 31 Aug 2004 03:36:51 +0000 (20:36 -0700)]
[PATCH] Don't OOPS on stripped modules

Don't want to go overboard with the checks, but this is simple and
reasonable.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> (modified)
Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade_spam@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Prevent memory leak in devpts
Olaf Kirch [Tue, 31 Aug 2004 03:36:39 +0000 (20:36 -0700)]
[PATCH] Prevent memory leak in devpts

There is a dentry refcount leak in devpts_get_tty.

struct tty_struct *devpts_get_tty(int number)
{
        struct dentry *dentry = get_node(number);
        struct tty_struct *tty;

        tty = (IS_ERR(dentry) || !dentry->d_inode) ? NULL :
                        dentry->d_inode->u.generic_ip;

        up(&devpts_root->d_inode->i_sem);
        return tty;
}

The get_node function does a lookup on /dev/pts/<number> and returns the
dentry, taking a reference.  We should dput the dentry after extracting the
tty pointer.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Amiga partition reading fix
Joanne Dow [Tue, 31 Aug 2004 03:36:26 +0000 (20:36 -0700)]
[PATCH] Amiga partition reading fix

I have a large archive of files stored on Amiga volumes.  Many of these
volumes are on Fujitsu magneto-optical disks with 2k sector size.  The
existing partitioning code cannot properly read them since it appears the
OS automatically deblocks the large sectors into logical 512 byte sectors,
something AmigaDOS never did.  I arranged the partitioning code to handle
this situation.

Second I have some rather strange test case disks, including my largest
storage partition, that have somewhat unusual partition values.  As such I
needed additional information in addition to the first and last block
number information.  AmigaDOS reserves N blocks, with N greater than or
equal to 1 and less than the size of the partition, for some boot time
information and signatures.  I have some partitions that use other than the
usual value of 2.

There is one more "fix" that could be put in if someone needs it.  Another
value in the "Rigid Disk Blocks" description of a partition is a "PreAlloc"
value.  It defines a number of blocks at the end of the disk that are not
considered to be a real part of the partition.  This was "important" in the
days of 20 meg and 40 meg hard disks.  It is hardly important and not used
on modern drives without special user intervention.

This partitioning information is known correct.  I wrote the low level
portion of the hard disk partitioning code for AmigaDOS 3.5 and 3.9.  I am
also responsible for one of the more frequently used partitioning tools,
RDPrepX, before that.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] use hlist for pid hash: cache friendliness
Nick Piggin [Tue, 31 Aug 2004 03:36:14 +0000 (20:36 -0700)]
[PATCH] use hlist for pid hash: cache friendliness

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] use hlist for pid hash
Nick Piggin [Tue, 31 Aug 2004 03:36:01 +0000 (20:36 -0700)]
[PATCH] use hlist for pid hash

Use hlists for the PID hashes.  This halves the memory footprint of these
hashes.  No benchmarks, but I think this is a worthy improvement because
the hashes are something that would be likely to have significant portions
loaded into the cache of every CPU on some workloads.

This comes at the "expense" of
1. reintroducing the memory  prefetch into the hash traversal loop;
2. adding new pids to the head of the list instead of the tail. I
   suspect that if this was a big problem then the hash isn't sized
   well or could benefit from moving hot entries to the head.

Also, account for all the pid hashes when reporting hash memory usage.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix PID hash sizing
Nick Piggin [Tue, 31 Aug 2004 03:35:49 +0000 (20:35 -0700)]
[PATCH] fix PID hash sizing

A 4GB, 4-way Opteron would create the smallest size table (16 entries) because
pidhash_init is called before mem_init which is where x86-64 sets up max_pfn.

nr_kernel_pages is setup by paging_init, called from setup_arch, which is also
where i386 sets up max_pfn.

So export nr_kernel_pages, nr_all_pages.  Use nr_kernel_pages when sizing the
PID hash.  This fixes the problem.

This also makes the pid hash dependant on the size of ZONE_NORMAL instead of
total size of memory.

Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix rusage semantics
Roland McGrath [Tue, 31 Aug 2004 03:35:38 +0000 (20:35 -0700)]
[PATCH] fix rusage semantics

This patch changes the rusage bookkeeping and the semantics of the
getrusage and times calls in a couple of ways.

The first change is in the c* fields counting dead child processes.  POSIX
requires that children that have died be counted in these fields when they
are reaped by a wait* call, and that if they are never reaped (e.g.
because of ignoring SIGCHLD, or exitting yourself first) then they are
never counted.  These were counted in release_task for all threads.  I've
changed it so they are counted in wait_task_zombie, i.e.  exactly when
being reaped.

POSIX also specifies for RUSAGE_CHILDREN that the report include the reaped
child processes of the calling process, i.e.  whole thread group in Linux,
not just ones forked by the calling thread.  POSIX specifies tms_c[us]time
fields in the times call the same way.  I've moved the c* fields that
contain this information into signal_struct, where the single set of
counters accumulates data from any thread in the group that calls wait*.

Finally, POSIX specifies getrusage and times as returning cumulative totals
for the whole process (aka thread group), not just the calling thread.
I've added fields in signal_struct to accumulate the stats of detached
threads as they die.  The process stats are the sums of these records plus
the stats of remaining each live/zombie thread.  The times and getrusage
calls, and the internal uses for filling in wait4 results and siginfo_t,
now iterate over the threads in the thread group and sum up their stats
along with the stats recorded for threads already dead and gone.

I added a new value RUSAGE_GROUP (-3) for the getrusage system call rather
than changing the behavior of the old RUSAGE_SELF (0).  POSIX specifies
RUSAGE_SELF to mean all threads, so the glibc getrusage call will just
translate it to RUSAGE_GROUP for new kernels.  I did this thinking that
someone somewhere might want the old behavior with an old glibc and a new
kernel (it is only different if they are using CLONE_THREAD anyway).
However, I've changed the times system call to conform to POSIX as well and
did not provide any backward compatibility there.  In that case there is
nothing easy like a parameter value to use, it would have to be a new
system call number.  That seems pretty pointless.  Given that, I wonder if
it is worth bothering to preserve the compatible RUSAGE_SELF behavior by
introducing RUSAGE_GROUP instead of just changing RUSAGE_SELF's meaning.
Comments?

I've done some basic testing on x86 and x86-64, and all the numbers come
out right after these fixes.  (I have a test program that shows a few

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] waitid system call
Roland McGrath [Tue, 31 Aug 2004 03:35:25 +0000 (20:35 -0700)]
[PATCH] waitid system call

This patch adds a new system call `waitid'.  This is a new POSIX call that
subsumes the rest of the wait* family and can do some things the older
calls cannot.  A minor addition is the ability to select what kinds of
status to check for with a mask of independent bits, so you can wait for
just stops and not terminations, for example.  A more significant
improvement is the WNOWAIT flag, which allows for polling child status
without reaping.  This interface fills in a siginfo_t with the same details
that a SIGCHLD for the status change has; some of that info (e.g.  si_uid)
is not available via wait4 or other calls.

I've added a new system call that has the parameter conventions of the
POSIX function because that seems like the cleanest thing.  This patch
includes the actual system call table additions for i386 and x86-64; other
architectures will need to assign the system call number, and 64-bit ones
may need to implement 32-bit compat support for it as I did for x86-64.
The new features could instead be provided by some new kludge inventions in
the wait4 system call interface (that's what BSD did).  If kludges are
preferable to adding a system call, I can work up something different.

I added a struct rusage field si_rusage to siginfo_t in the SIGCHLD case
(this does not affect the size or layout of the struct).  This is not part
of the POSIX interface, but it makes it so that `waitid' subsumes all the
functionality of `wait4'.  Future kernel ABIs (new arch's or whatnot) can
have only the `waitid' system call and the rest of the wait* family
including wait3 and wait4 can be implemented in user space using waitid.
There is nothing in user space as yet that would make use of the new field.

Most of the new functionality is implemented purely in the waitid system
call itself.  POSIX also provides for the WCONTINUED flag to report when a
child process had been stopped by job control and then resumed with
SIGCONT.  Corresponding to this, a SIGCHLD is now generated when a child
resumes (unless SA_NOCLDSTOP is set), with the value CLD_CONTINUED in
siginfo_t.si_code.  To implement this, some additional bookkeeping is
required in the signal code handling job control stops.

The motivation for this work is to make it possible to implement the POSIX
semantics of the `waitid' function in glibc completely and correctly.  If
changing either the system call interface used to accomplish that, or any
details of the kernel implementation work, would improve the chances of
getting this incorporated, I am more than happy to work through any issues.

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] Using get_cycles for add_timer_randomness
Anton Blanchard [Tue, 31 Aug 2004 03:35:11 +0000 (20:35 -0700)]
[PATCH] Using get_cycles for add_timer_randomness

I tested how long it took to do a dd from /dev/random on ppc64 before and
after this patch, while doing a ping flood from another machine.

before:
# /usr/bin/time dd if=/dev/random of=/dev/zero count=1k
0+51 records in
Command terminated by signal 2
0.00user 0.00system 19:18.46elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k

I gave up after 19 minutes.

after:
# /usr/bin/time dd if=/dev/random of=/dev/zero count=1k
0+1024 records in
0.00user 0.00system 0:33.38elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k

Just over 33 seconds. Better.

From: Arnd Bergmann <arnd@arndb.de>

I noticed that only i386 and x86-64 are currently using a high resolution
timer source when adding randomness.  Since many architectures have a
working get_cycles() implementation, it seems rather straightforward to use
that.

Has this been discussed before, or can anyone comment on the implementation
below?

This patch attempts to take into account the size of cycles_t, which is
either 32 or 64 bits wide but independent of the architecture's word size.

The behavior should be nearly identical to the old one on i386, x86-64 and
all architectures without a time stamp counter, while finding more entropy
on the other architectures.

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] x86_64: emulate NUMA on non-NUMA hardware
Andi Kleen [Tue, 31 Aug 2004 03:34:59 +0000 (20:34 -0700)]
[PATCH] x86_64: emulate NUMA on non-NUMA hardware

Apply this handy patch and boot with numa=fake=4 (or how many nodes you
want, 8 max right now).

There is a minor issue with the hash function, which can make the last node
be bigger than the others.  Is probably fixable if it should be a problem.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] tiny shmem/tmpfs replacement
Matt Mackall [Tue, 31 Aug 2004 03:34:47 +0000 (20:34 -0700)]
[PATCH] tiny shmem/tmpfs replacement

A patch to replace tmpfs/shmem with ramfs for systems without swap,
incorporating the suggestions from Andi and Hugh.  It uses ramfs instead.

Signed-off-by: Matt Mackall <mpm@selenic.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] VLAN support for 3c59x/3c90x
Alan Cox [Tue, 31 Aug 2004 03:34:34 +0000 (20:34 -0700)]
[PATCH] VLAN support for 3c59x/3c90x

This adds VLAN support to the 3c59x/90x series hardware.

Stefan de Konink ported this code from the 2.4 VLAN patches and tested it
extensively. I cleaned up the ifdefs and fixed a problem with bracketing
that made older cards fail.

--

Developer's Certificate of Origin 1.0

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I have the
right to submit it under the open source license indicated in the file; or

(b) The contribution is based upon previous work that, to the best of my
knowledge, is covered under an appropriate open source license and I have
the right under that license to submit that work with modifications,
whether created in whole or in part by me, under the same open source
license (unless I am permitted to submit under a different license), as
indicated in the file; or

(c) The contribution was provided directly to me by some other person who
certified (a), (b) or (c) and I have not modified it.

I, Stefan de Konink, certify that:
 The contribution is based upon previous work that, again is based on GPL
code and I have the right under that license to submit that work with
modifications, whether created in whole or in part by me, under the same
open source license.

I, Alan Cox, certify likewise.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] truncate_inode_pages latency fix
Andrew Morton [Tue, 31 Aug 2004 03:34:22 +0000 (20:34 -0700)]
[PATCH] truncate_inode_pages latency fix

Fix scheduling latency issues with large truncates.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] hugetlbfs private mappings
Oleg Nesterov [Tue, 31 Aug 2004 03:34:10 +0000 (20:34 -0700)]
[PATCH] hugetlbfs private mappings

Hugetlbfs silently coerce private mappings of hugetlb files into shared
ones.  So private writable mapping has MAP_SHARED semantics.  I think, such
mappings should be disallowed.

First, such behavior allows open hugetlbfs file O_RDONLY, and overwrite it
via mmap(PROT_READ|PROT_WRITE, MAP_PRIVATE), so it is security bug.

Second, private writable mmap() should fail just because kernel does not
support this.

I belisve, it is ok to allow private readonly hugetlb mappings,
sys_mprotect() does not work with hugetlb vmas.

There is another problem.  Hugetlb mapping is always prefaulted, pages
allocated at mmap() time.  So even readonly mapping allows to enlarge the
size of the hugetlbfs file, and steal huge pages without appropriative
permissions.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] /dev/zero vs hugetlb mappings.
Oleg Nesterov [Tue, 31 Aug 2004 03:33:57 +0000 (20:33 -0700)]
[PATCH] /dev/zero vs hugetlb mappings.

Hugetlbfs mmap with MAP_PRIVATE becomes MAP_SHARED silently, but
vma->vm_flags have no VM_SHARED bit.  Reading from /dev/zero into hugetlb
area will do:

read_zero()
    read_zero_pagealigned()
        if (vma->vm_flags & VM_SHARED)
            break;                      // fallback to clear_user()
        zap_page_range();
        zeromap_page_range();

It will hit BUG_ON() in unmap_hugepage_range() if region is not huge page
aligned, or silently convert it into the private anonymous mapping.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: add a pfn_to_kaddr() function
Dave Hansen [Tue, 31 Aug 2004 03:33:46 +0000 (20:33 -0700)]
[PATCH] ppc64: add a pfn_to_kaddr() function

This is a helper function that a few architectures already have.  This just
copies the i386 implementation to ppc64.

Signed-off-by: Dave Hansen <haveblue@us.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: allocate irqstacks only for possible cpus
Paul Mackerras [Tue, 31 Aug 2004 03:33:34 +0000 (20:33 -0700)]
[PATCH] ppc64: allocate irqstacks only for possible cpus

With earlier setup of cpu_possible_map the number of irqstacks shrinks from
NR_CPUS to the number of possible cpus.

Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: set platform cpuids later in boot
Paul Mackerras [Tue, 31 Aug 2004 03:33:23 +0000 (20:33 -0700)]
[PATCH] ppc64: set platform cpuids later in boot

Move the initialization of the per-cpu paca->hw_cpu_id out of the Open
Firmware client boot code and into a common location which is executed
later.

Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: rework PPC64 cpu map setup
Paul Mackerras [Tue, 31 Aug 2004 03:33:11 +0000 (20:33 -0700)]
[PATCH] ppc64: rework PPC64 cpu map setup

Move all cpu map initializations to one place (except for the online map --
cpus mark themselves online as they come up).  This sets up
cpu_possible_map early enough that we can use num_possible_cpus for
allocating irqstacks instead of NR_CPUS.  Hopefully this should also help
set the stage for kexec.

Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Update PPC MAINTAINERS & CREDITS
Paul Mackerras [Tue, 31 Aug 2004 03:32:58 +0000 (20:32 -0700)]
[PATCH] Update PPC MAINTAINERS & CREDITS

David Engebretsen has moved on to other things and is no longer maintaining
ppc64.  This patch adds an entry in CREDITS to note his contribution in
leading the team that did the PPC64 port originally and updates various
PPC-related MAINTAINERS entries.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix the unnecessary entropy call in the irq handler
Takashi Iwai [Tue, 31 Aug 2004 03:32:46 +0000 (20:32 -0700)]
[PATCH] Fix the unnecessary entropy call in the irq handler

Currently add_interrupt_randomness() is called at each interrupt when one
of the handlers has SA_SAMPLE_RANDOM flag, regardless whether the interrupt
is processed by that handler or not.  This results in the higher latency
and perfomance loss.

The patch fixes this behavior to avoid the unnecessary call by checking the
return value from each handler.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Jumper Probes to provide function arguments
Prasanna S. Panchamukhi [Tue, 31 Aug 2004 03:32:33 +0000 (20:32 -0700)]
[PATCH] Jumper Probes to provide function arguments

A special kprobe type which can be placed on function entry points, and
employs a simple mirroring principle to allow seamless access to the
arguments of a function being probed.  The probe handler routine should
have the same prototype as the function being probed.  Currently
implemented for x86.

The way it works is that when the probe is hit, the breakpoint handler
simply irets to the probe handler's eip while retaining register and stack
state corresponding to the function entry.  After it is done, the probe
handler calls jprobe_return() which traps again to restore processor state
and switch back to the probed function.  Linus noted correctly at KS that
we need to be careful as gcc assumes that the callee owns arguments.  We
save and restore enough stack bytes to cover argument space.

Sample Usage:
static int jip_queue_xmit(struct sk_buff *skb, int ipfragok)
{
... whatever ...
jprobe_return();
return 0;
}

struct jprobe jp = {
{.addr = (kprobe_opcode_t *) ip_queue_xmit},
.entry = (kprobe_opcode_t *) jip_queue_xmit
};
register_jprobe(&jp);

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] kprobes base patch
Prasanna S. Panchamukhi [Tue, 31 Aug 2004 03:32:21 +0000 (20:32 -0700)]
[PATCH] kprobes base patch

This patch helps developers to trap at almost any kernel code address,
specifying a handler routine to be invoked when the breakpoint is hit.

Useful for analysing the Linux kernel by collecting debugging information
non-disruptively.  Employs single-stepping out-of-line to avoid probe
misses on SMP and may be especially useful in aiding debugging elusive
races and problems on live systems.  More elaborate dynamic tracing tools
such as DProbes can be built over the kprobes interface.

Helps developers to trap at almost any kernel code address, specifying a
handler routine to be invoked when the breakpoint is hit.  Useful for
analysing the Linux kernel by collecting debugging information
non-disruptively.  Employs single-stepping out-of-line to avoid probe
misses on SMP and may be especially useful in aiding debugging elusive
races and problems on live systems.  More elaborate dynamic tracing tools
such as DProbes can be built over the kprobes interface.

Sample usage:
To place a probe on __blockdev_direct_IO:
static int probe_handler(struct kprobe *p, struct pt_regs *)
{
... whatever ...
}
struct kprobe kp = {
.addr = __blockdev_direct_IO,
.pre_handler = probe_handler
};
register_kprobe(&kp);

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] i386 exceptions notifier for kprobes
Prasanna S. Panchamukhi [Tue, 31 Aug 2004 03:32:08 +0000 (20:32 -0700)]
[PATCH] i386 exceptions notifier for kprobes

This patch provides notifiers for i386 architecture exceptions.  This patch
has been ported from x86_64 architecture as suggested by Andi Kleen.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix oops with nmi-watchdog=2
Philippe Elie [Tue, 31 Aug 2004 03:31:55 +0000 (20:31 -0700)]
[PATCH] Fix oops with nmi-watchdog=2

Contributions from  Zarakin <zarakin@hotpop.com>

Intel removed two msrs: MSR_P4_IQ_ESCR_0|1 (0x3ba/0x3bb), P4 model >= 3.  See
Intel documentation Vol.  3 System Programming Guide Appendix B.

nmi_watchdog=2 oopsed at boot time and oprofile at driver load.

Avoid touching them when model >= 3.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] platform update for ES7000
Jason Davis [Tue, 31 Aug 2004 03:31:43 +0000 (20:31 -0700)]
[PATCH] platform update for ES7000

This update only applies to Unisys' ES7000 server machines.  The patch adds
a OEM id check to verify the current machine running is actually a Unisys
type box before executing the Unisys OEM parser routine.  It also increases
the MAX_MP_BUSSES definition from 32 to 256.  On the ES7000s, bus ID
numbering can range from 0 to 255.  Without the patch, the system panics if
booted with acpi=off.

This patch has been tested and verified on an authentic ES7000 machine.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Make assign_irq_vector() non-__init
Bjorn Helgaas [Tue, 31 Aug 2004 03:31:31 +0000 (20:31 -0700)]
[PATCH] Make assign_irq_vector() non-__init

Make assign_irq_vector() non-__init always (it's called from
io_apic_set_pci_routing(), which is used in the pci_enable_device() path).

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] prio-tree: remove function prototype inside function
Anton Blanchard [Tue, 31 Aug 2004 03:31:19 +0000 (20:31 -0700)]
[PATCH] prio-tree: remove function prototype inside function

I had a problem when compiling a 2.6 kernel with gcc 3.5 CVS.  The
prototype for prio_tree_remove in mm/prio_tree.c is inside another
function.  gcc 3.5 gets upset and removes the function completely.
Apparently this isnt valid C, so lets fix it up.

Details can be found here:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17205

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[IPV4]: Push ip_append_data() frag bug fix into ip_append_page()
David S. Miller [Mon, 30 Aug 2004 15:07:08 +0000 (08:07 -0700)]
[IPV4]: Push ip_append_data() frag bug fix into ip_append_page()

Based upon implementation suggestions from
Yoshifuji Hideaki.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years agoMerge nuts.davemloft.net:/disk1/BK/network-2.6
David S. Miller [Mon, 30 Aug 2004 14:13:26 +0000 (07:13 -0700)]
Merge nuts.davemloft.net:/disk1/BK/network-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6

22 years ago[PATCH] Fix up Centaur CPU feature enabling.
Dave Jones [Mon, 30 Aug 2004 10:15:58 +0000 (03:15 -0700)]
[PATCH] Fix up Centaur CPU feature enabling.

Nehemiah wasn't having the CX8 bit enabled before.
In fixing it up, I rewrote the code to be a little clearer.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Alpha: generic dma mapping
Richard Henderson [Mon, 30 Aug 2004 10:14:53 +0000 (03:14 -0700)]
[PATCH] Alpha: generic dma mapping

From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>

 - big functions moved out of line;
 - handle dev == NULL case, which apparently means the isa device.

As before, this is needed for Jensen. This also makes the isa sound
drivers working again with recent kernels.

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Mon, 30 Aug 2004 10:09:46 +0000 (03:09 -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 PATCH] 2061/1: S3C2410 - Drive strength control for s3c2440
Ben Dooks [Tue, 31 Aug 2004 01:21:36 +0000 (02:21 +0100)]
[ARM PATCH] 2061/1: S3C2410 - Drive strength control for s3c2440

Patch from Ben Dooks

Register definitions, and support for modifying the
Drive Strength Control registers on the S3C2440

Signed-off-by: Ben Dooks
22 years ago[ARM PATCH] 2056/1: S3C2410 - check for IRQ pending in gettimeoffset()
Ben Dooks [Tue, 31 Aug 2004 01:16:46 +0000 (02:16 +0100)]
[ARM PATCH] 2056/1: S3C2410 - check for IRQ pending in gettimeoffset()

Patch from Ben Dooks

Ensure we check for IRQ pending for the gettimeoffset()
function

22 years ago[ARM PATCH] 2055/1: S3C2410 - add timer0 deadzone definition
Ben Dooks [Tue, 31 Aug 2004 01:11:38 +0000 (02:11 +0100)]
[ARM PATCH] 2055/1: S3C2410 - add timer0 deadzone definition

Patch from Ben Dooks

Add the definition of timer 0's dead-zone capability

22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/tg3-2.6
David S. Miller [Mon, 30 Aug 2004 16:02:01 +0000 (09:02 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/tg3-2.6
into kernel.bkbits.net:/home/davem/tg3-2.6

22 years ago[PKT_SCHED]: Distribution table fixes for netem.
Stephen Hemminger [Mon, 30 Aug 2004 09:39:38 +0000 (02:39 -0700)]
[PKT_SCHED]: Distribution table fixes for netem.

Fix some issues with netem.
 * fix memory link in q_destroy where distribution table not freed
 * fix math error in tabledist that made it work for only small values
 * change API for distribution table so scaling factor is constant and
   table size is determined by looking at the rtnetlink payload size.
   this is faster and simpler. Since haven't actually released the tools to load
   the table yet, this is the chance to get it right ;-)

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[NET]: net_random_init needs to get seed later in boot process
Stephen Hemminger [Mon, 30 Aug 2004 09:37:48 +0000 (02:37 -0700)]
[NET]: net_random_init needs to get seed later in boot process

Argh.. random_init isn't called until the device's are initialized.
Rather than mess with random.c initialization, how about this; it resets
the net_random state late in initialization when get_random_bytes is ready.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TG3]: Update driver version and reldate.
David S. Miller [Mon, 30 Aug 2004 08:46:34 +0000 (01:46 -0700)]
[TG3]: Update driver version and reldate.

22 years ago[TG3]: Fix clock control programming on 5705/5750.
David S. Miller [Mon, 30 Aug 2004 08:46:01 +0000 (01:46 -0700)]
[TG3]: Fix clock control programming on 5705/5750.

Need to clear one bit at a time, so if we are
clearing both 625_CORE_CLOCK and ALTCLOCK
we first clear the latter then the final
write will clear the former.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TG3]: Add capacitive coupling support.
David S. Miller [Mon, 30 Aug 2004 08:43:38 +0000 (01:43 -0700)]
[TG3]: Add capacitive coupling support.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TG3]: Check MAC_STATUS_SIGNAL_DET in serdes polling.
Michael Chan [Mon, 30 Aug 2004 08:43:00 +0000 (01:43 -0700)]
[TG3]: Check MAC_STATUS_SIGNAL_DET in serdes polling.

Otherwise we do not handle properly the case
where the switch/hub does not support auto-
negotiation.  This is what was breaking 5704
hw fiber autoneg.

Signed-off-by: David S. Miller <davem@davemloft.net>
22 years ago[TG3]: Add 5750 A3 workaround.
David S. Miller [Mon, 30 Aug 2004 08:42:09 +0000 (01:42 -0700)]
[TG3]: Add 5750 A3 workaround.

Signed-off-by: David S. Miller <davem@redhat.com>
22 years ago[ETH]: Zap NET_CLS_ACT ifdef.
Jamal Hadi Salim [Mon, 30 Aug 2004 07:28:05 +0000 (00:28 -0700)]
[ETH]: Zap NET_CLS_ACT ifdef.

Signed-off-by: Jamal Hadi Salim <hadi@znyx.com>
Signed-off-by: David S. Miller <davem@redhat.com>
22 years agoMerge bk://gkernel.bkbits.net/libata-2.6
Linus Torvalds [Mon, 30 Aug 2004 07:12:59 +0000 (00:12 -0700)]
Merge bk://gkernel.bkbits.net/libata-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[PATCH] libata: ata_piix.c PIO fix
Bartlomiej Zolnierkiewicz [Mon, 30 Aug 2004 10:43:27 +0000 (06:43 -0400)]
[PATCH] libata: ata_piix.c PIO fix

[patch] libata: ata_piix.c PIO fix

"[libata] transfer mode cleanup" introduced bug in ata_piix.c:
previously PIO number (not mode) was passed to piix_set_piomode().
Fortunately this function is only used for (disabled) PATA support.

I bet that this is the reason why MWDMA didn't work for PATA.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
22 years ago[PATCH] megaraid warning fix
Andrew Morton [Mon, 30 Aug 2004 03:17:55 +0000 (20:17 -0700)]
[PATCH] megaraid warning fix

The ioctl32 conversion registration stubs are in ioctl32.h now.

Signed-off-by: Andrew Morton <akpm@osdl.org>
22 years agoMerge bk://cifs.bkbits.net/linux-2.5cifs
Linus Torvalds [Sun, 29 Aug 2004 16:52:02 +0000 (09:52 -0700)]
Merge bk://cifs.bkbits.net/linux-2.5cifs
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge http://oss.sgi.com:8090/xfs-linux-2.6
Linus Torvalds [Sun, 29 Aug 2004 16:49:23 +0000 (09:49 -0700)]
Merge http://oss.sgi.com:8090/xfs-linux-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[NETFILTER]: Fix race when flushing fragment queue
Patrick McHardy [Sun, 29 Aug 2004 14:11:23 +0000 (07:11 -0700)]
[NETFILTER]: Fix race when flushing fragment queue

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@redhat.com>
22 years agoMerge bk://linux.bkbits.net/linux-2.5
Steve French [Sun, 29 Aug 2004 14:11:07 +0000 (07:11 -0700)]
Merge bk://linux.bkbits.net/linux-2.5
into hostme.bitkeeper.com:/repos/c/cifs/linux-2.5cifs

22 years ago[CIFS] Fix incorrect byte count in unlock SMB
Steve French [Sun, 29 Aug 2004 18:08:58 +0000 (13:08 -0500)]
[CIFS] Fix incorrect byte count in unlock SMB