]> git.hungrycats.org Git - linux/log
linux
22 years agoMark compaq Fibre Channel driver broken.
Linus Torvalds [Wed, 9 Jun 2004 01:24:19 +0000 (18:24 -0700)]
Mark compaq Fibre Channel driver broken.

It puts two 2kB temp areas on the stack, which is
guaranteed to overflow a 4kB stack if that path
is ever taken.

Both marked in the source, and both should be easy
to fix but need testing.

Found by Jörn Engel.

22 years ago[PATCH] vga16fb.c: fix bogus mem_start value
Andrew Morton [Wed, 9 Jun 2004 01:19:04 +0000 (18:19 -0700)]
[PATCH] vga16fb.c: fix bogus mem_start value

From: Herbert Xu <herbert@gondor.apana.org.au>

The recent change to vga16fb's memory mapping that you partially reverted
is still broken.  In particular, it's setting fix.mem_start to a virtual
address on i386.  The value of fix.mem_start is meant to be physical.

We could simply apply virt_to_phys to it, but somehow I doubt that is what
it's meant to do on arm.  So until we hear from someone who knows how it
works on arm, let's just revert this change.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] aio.c sparse warning fix
Andrew Morton [Wed, 9 Jun 2004 01:18:53 +0000 (18:18 -0700)]
[PATCH] aio.c sparse warning fix

Randy Dunlap <rddunlap@osdl.org> points out that sparse warns about the test
of an undefined preprocessor identifier.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix uts sysctl write size
Andrew Morton [Wed, 9 Jun 2004 01:18:42 +0000 (18:18 -0700)]
[PATCH] fix uts sysctl write size

From: Andy Whitcroft <apw@shadowen.org>

The sysctl interfaces for updating the uts entries such as hostname and
domainname are using the wrong length for these buffers; they are hard
coded to 64.  Although safe, this artifically limits the size of these
fields to one less than the true maximum.  This generates an inconsistency
between the various methods of update for these fields.

# hostname 12345678901234567890123456789012345678901234567890123456789012345
hostname: name too long
# hostname 1234567890123456789012345678901234567890123456789012345678901234
# hostname
1234567890123456789012345678901234567890123456789012345678901234

# sysctl -w kernel.hostname=1234567890123456789012345678901234567890123456789012345678901234567890
kernel.hostname = 1234567890123456789012345678901234567890123456789012345678901234567890
# hostname
123456789012345678901234567890123456789012345678901234567890123
#

The error originates from the fact the handler for strings (proc_dostring)
already allows for the string terminator.  This patch corrects the limit,
taking the oppotunity to convert to use of sizeof().

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] cyclone: PIT sanity checking
Andrew Morton [Wed, 9 Jun 2004 01:18:31 +0000 (18:18 -0700)]
[PATCH] cyclone: PIT sanity checking

From: john stultz <johnstul@us.ibm.com>

In testing for SLES9, we ran across a bug caused by userspace apps poking
the PIT which caused bad values to be read by the kernel.  This would then
trigger the lost tick detection code with insane values and would then
break the SCSI subsystem.

This patch includes the PIT sanity check from the TSC timesource into the
cyclone timesource code, which catches the bad case described above and
resolves the issue.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] flush_workqueue locking simplification
Andrew Morton [Wed, 9 Jun 2004 01:18:20 +0000 (18:18 -0700)]
[PATCH] flush_workqueue locking simplification

From: "Anil" <anil.s.keshavamurthy@intel.com>

We don't need lock_cpu_hotplug()/unlock_cpu_hotplug for singlethreaded
workqueues.

Signed-off-by: Anil Keshavamurthy <anil.s.keshavamurthy@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] s390: add support for 6 system call arguments (FUTEX_CMP_REQUEUE)
Andrew Morton [Wed, 9 Jun 2004 01:18:10 +0000 (18:18 -0700)]
[PATCH] s390: add support for 6 system call arguments (FUTEX_CMP_REQUEUE)

From: Martin Schwidefsky <schwidefsky@de.ibm.com>

This patch adds support for 6 system call arguments on s390.  The first
exploiter of this will be the sys_futex system call for the
FUTEX_CMP_REQUEUE operation.  The idea is simple: use register %r7 for the
6th argument.  This can be extended to 7/8/9/...  arguments if there ever
will be the need for it.  To call the system call function in the kernel
the additional arguments needs to get stored on the stack.  8 bytes are
added to the head of struct pt_regs.  %r7 is stored to the additional field
for all system calls.  The store is hidden in a
address-generation-interlock slot, it doesn't slow down the system call
path.

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] cdrom hardware defect mgt header length
Andrew Morton [Wed, 9 Jun 2004 01:17:58 +0000 (18:17 -0700)]
[PATCH] cdrom hardware defect mgt header length

From: Jens Axboe <axboe@suse.de>

cdrom_has_defect_mgt() has the same ->data_len bug - the length field is
not total length, but the length following that field.  So it should be +
4, not + 8.  However, just kill the length check.  Comparison of
feature_code provides enough check.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] md: fix BUG in raid6 resync code.
Andrew Morton [Wed, 9 Jun 2004 01:17:47 +0000 (18:17 -0700)]
[PATCH] md: fix BUG in raid6 resync code.

From: NeilBrown <neilb@cse.unsw.edu.au>

This condtion on this loop is primarily to avoid the loop if it doesn't
appear to be needed.  However it optimises a little too much and there is a
case where it skips the loop when it is really needed.  This patch fixes
it.

This is the raid6 version of the recent raid5 resync bugfix.

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] __ARCH_WANT_SYS_RT_SIGACTION fix
Andrew Morton [Wed, 9 Jun 2004 01:17:36 +0000 (18:17 -0700)]
[PATCH] __ARCH_WANT_SYS_RT_SIGACTION fix

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

Recent syscall stubs cleanup broke alpha, as it has its own version of
sys_rt_sigaction().  This defines __ARCH_WANT_SYS_RT_SIGACTION for all
architectures except alpha, sparc and sparc64.

Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Disable UDF debugging
Andrew Morton [Wed, 9 Jun 2004 01:17:24 +0000 (18:17 -0700)]
[PATCH] Disable UDF debugging

From: Andi Kleen <ak@suse.de>

UDF spews out lots of debugging information by default.  Disable that,
since it doesn't make too much sense for a production kernel.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Remove unnecessary printk in es7000 code
Andrew Morton [Wed, 9 Jun 2004 01:17:13 +0000 (18:17 -0700)]
[PATCH] Remove unnecessary printk in es7000 code

From: Andi Kleen <ak@suse.de>

This printk is printed by genericarch when your machine is no es7000.  Most
people don't care about that.  Remove it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] more drivers/atm/horizon.c polishing
Andrew Morton [Wed, 9 Jun 2004 01:17:02 +0000 (18:17 -0700)]
[PATCH] more drivers/atm/horizon.c polishing

From: Francois Romieu <romieu@fr.zoreil.com>

- just say no to numbered labels;
- pci_enable_device can fail so setup_pci_dev() must return a value;
- propagate existing error codes when possible in do_pci_device()
- missing pci_disable_device here and there.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Typo in Documentation/fb/framebuffer.txt
Andrew Morton [Wed, 9 Jun 2004 01:16:51 +0000 (18:16 -0700)]
[PATCH] Typo in Documentation/fb/framebuffer.txt

From: Peter Korsgaard <jacmet@sunsite.dk>

Vertical retrace is in lines, not pixels.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ext3: journal_flush() needs journal_lock_updates()
Andrew Morton [Wed, 9 Jun 2004 01:16:40 +0000 (18:16 -0700)]
[PATCH] ext3: journal_flush() needs journal_lock_updates()

We need to take journal_lock_updates() while remounting r/o to prevent a new
transaction starting while journal_flush() is running.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] runtime selection of CONFIG_PARIDE_EPATC8
Andrew Morton [Wed, 9 Jun 2004 01:16:28 +0000 (18:16 -0700)]
[PATCH] runtime selection of CONFIG_PARIDE_EPATC8

From: Christoph Hellwig <hch@lst.de>

drivers/block/paride/epat.c support two slightly different protocol
variants.  Currently it's compile-time selected by CONFIG_PARIDE_EPATC8,
but this patch adds a epatc8 module option to allow runtime selection.
CONFIG_PARIDE_EPATC8 stays for now but I'd like to kill it int 2.7.

The basic patch is from the Debian kernel package (Author unknown) but I
reworked it a bit.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] unalign struct page_state
Andrew Morton [Wed, 9 Jun 2004 01:16:17 +0000 (18:16 -0700)]
[PATCH] unalign struct page_state

The ____cacheline_aligned in there is a leftover from before the existence of
the percpu infrastructure.  It bloats struct page_state and structures which
contain it enormously, and we use these things on the stack deep in page
reclaim.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] writeback_inodes can race with unmount
Andrew Morton [Wed, 9 Jun 2004 01:16:06 +0000 (18:16 -0700)]
[PATCH] writeback_inodes can race with unmount

From: Chris Mason <mason@suse.com>

There's a small window where the filesystem can be unmounted during
writeback_inodes.  The end result is the iput done by sync_sb_inodes could
be done after the FS put_super and and the super has been removed from all
lists.

The fix is to hold the s_umount sem during sync_sb_inodes to make sure
the FS doesn't get unmounted.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: iSeries vio_dev cleanups
Andrew Morton [Wed, 9 Jun 2004 01:15:55 +0000 (18:15 -0700)]
[PATCH] ppc64: iSeries vio_dev cleanups

From: Stephen Rothwell <sfr@canb.auug.org.au>

This patch removes the archdata and driver_data members of struct vio_dev
and uses the platform_data and driver_data members of the embedded struct
device instead.  I also declared a couple of routines static.

This is part of a work in progress.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc32: fix missing option in binutils version check
Andrew Morton [Wed, 9 Jun 2004 01:15:44 +0000 (18:15 -0700)]
[PATCH] ppc32: fix missing option in binutils version check

From: Olaf Hering <olh@suse.de>

The binutils check is bogus, it doesnt work with the just released
binutils.  A space is needed in the error message.

pomegranate:~# echo dssall | /usr/bin/as -o /tmp/x
{standard input}: Assembler messages:
{standard input}:1: Error: Unrecognized opcode: `dssall'
pomegranate:~# /usr/bin/as -v
GNU assembler version 2.15.91.0.1 (powerpc-suse-linux) using BFD version 2.15.91.0.1 20040527 (SuSE Linux)

*** 2.6 kernels no longer buildcorrectly with old versions of binutils.
*** Please upgrade your binutils to 2.12.1 or newer
make: *** [checkbin] Error 1
make: Target `all' not remade because of errors.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] speedup flush_workqueue for singlethread_workqueue
Andrew Morton [Wed, 9 Jun 2004 01:15:33 +0000 (18:15 -0700)]
[PATCH] speedup flush_workqueue for singlethread_workqueue

From: "Anil" <anil.s.keshavamurthy@intel.com>

In flush_workqueue() for a single_threaded_worqueue case the code flushes the
same cpu_workqueue_struct for each online_cpu.

Change things so that we only perform the flush once in this case.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] jbd: descriptor buffer state fix
Andrew Morton [Wed, 9 Jun 2004 01:15:22 +0000 (18:15 -0700)]
[PATCH] jbd: descriptor buffer state fix

Fix a problem discovered by Jeff Mahoney <jeffm@suse.com>, based on an initial
patch from Chris Mason <mason@suse.com>.

journal_get_descriptor_buffer() is used to obtain a regular old buffer_head
against the blockdev mapping.  The caller will populate that bh by hand and
will then submit it for writing.

But there are problems:

a) The function sets bh->b_state nonatomically.  But this buffer is
   accessible to other CPUs via pagecache lookup.

b) The function sets the buffer dirty and then the caller populates it and
   then it is submitted for I/O.  Wrong order: there's a window in which the
   VM could write the buffer before it is fully populated.

c) The function fails to set the buffer uptodate after zeroing it.  And one
   caller forgot to mark it uptodate as well.  So if the VM happens to decide
   to write the containing page back __block_write_full_page() encounters a
   dirty, not uptodate buffer, which is an illegal state.  This was generating
   buffer_error() warnings before we removed buffer_error().

   Leaving the buffer not uptodate also means that a concurrent reader of
   /dev/hda1 could cause physical I/O against the buffer, scribbling on what
   we just put in it.

   So journal_get_descriptor_buffer() is changed to mark the buffer
   uptodate, under the buffer lock.

I considered changing journal_get_descriptor_buffer() to return a locked
buffer but there doesn't seem to be a need for this, and both callers end up
using ll_rw_block() anyway, which requires that the buffer be unlocked again.

Note that the journal_get_descriptor_buffer() callers dirty these buffers with
set_buffer_dirty().  That's a bit naughty, because it could create dirty
buffers against a clean page - an illegal state.  They really should use
mark_buffer_dirty() to dirty the page and inode as well.  But all callers will
immediately write and clean the buffer anyway, so we can safely leave this
optimising cheat in place.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] wake_up_forked_thread() fix
Andrew Morton [Wed, 9 Jun 2004 01:15:10 +0000 (18:15 -0700)]
[PATCH] wake_up_forked_thread() fix

Spotted by Randy Dunlap - don't try to return something from a void-returning
function.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-serial
Linus Torvalds [Tue, 8 Jun 2004 14:15:07 +0000 (07:15 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-serial
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[ARM PATCH] 1919/1: S3C2410 - Serial configuration bugfix (missing SERIAL_CORE_CONSOLE)
Ben Dooks [Wed, 9 Jun 2004 00:53:39 +0000 (01:53 +0100)]
[ARM PATCH] 1919/1: S3C2410 - Serial configuration bugfix (missing SERIAL_CORE_CONSOLE)

Patch from Ben Dooks

Fix missing select of SERIAL_CORE_CONSOLE when selecting the
S3C2410 serial console support with no other serial console
selected

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Tue, 8 Jun 2004 14:13:24 +0000 (07:13 -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] 1916/1: lh7a40x #5 (1/1) revision B support
Marc Singer [Wed, 9 Jun 2004 01:11:45 +0000 (02:11 +0100)]
[ARM PATCH] 1916/1: lh7a40x #5 (1/1) revision B support

Patch from Marc Singer

Small change to support revision B Card Engines.

22 years ago[ARM PATCH] 1915/1: lh7a40x #4 (1/1) hardware.h bug fix
Marc Singer [Wed, 9 Jun 2004 01:07:30 +0000 (02:07 +0100)]
[ARM PATCH] 1915/1: lh7a40x #4 (1/1) hardware.h bug fix

Patch from Marc Singer

This patch corrects a bug in the register access macros for 16 and 8
bit accesses.  It also updates the default configuration files for the
2.6.7 kernel.

22 years ago[ARM PATCH] 1920/1: S3C2410 - register definition fix
Ben Dooks [Wed, 9 Jun 2004 01:03:10 +0000 (02:03 +0100)]
[ARM PATCH] 1920/1: S3C2410 - register definition fix

Patch from Ben Dooks

Fix for multiple definition of the same item in the GPIO and IRQ
register includes

22 years agoMerge bk://linux-mtd.bkbits.net/sbc8260-2.6
Linus Torvalds [Tue, 8 Jun 2004 07:18:34 +0000 (00:18 -0700)]
Merge bk://linux-mtd.bkbits.net/sbc8260-2.6
into evo.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge linux-mtd@bkbits.net:sbc8260-2.6
David Woodhouse [Tue, 8 Jun 2004 20:55:14 +0000 (21:55 +0100)]
Merge linux-mtd@bkbits.net:sbc8260-2.6
into dwmw2.baythorne.internal:/inst/bk/sbc8260-2.6

22 years agoAdd WindRiver PowerQUICC II flash map driver
David Woodhouse [Tue, 8 Jun 2004 20:47:33 +0000 (21:47 +0100)]
Add WindRiver PowerQUICC II flash map driver

22 years agoWind River PowerQUICC II SBC82xx update:
David Woodhouse [Tue, 8 Jun 2004 20:46:28 +0000 (21:46 +0100)]
Wind River PowerQUICC II SBC82xx update:
 - Switch to using u-boot bdinfo.
 - Set up CS11 for RTC if the bootloader didn't bother.
 - Set BOOTROM_RESTART_ADDR so machine_restart() actually works.
 - For non-uboot boot, note bus clock is 66MHz on 8265 model.

22 years agoMerge linux-mtd@bkbits.net:sbc8260-2.6
David Woodhouse [Tue, 8 Jun 2004 19:55:07 +0000 (20:55 +0100)]
Merge linux-mtd@bkbits.net:sbc8260-2.6
into dwmw2.baythorne.internal:/inst/bk/sbc8260-2.6

22 years ago[PATCH] Fix semaphore downgrade_write()
David Howells [Tue, 8 Jun 2004 05:10:44 +0000 (22:10 -0700)]
[PATCH] Fix semaphore downgrade_write()

Stop downgrade_write() from under-adjusting the rwsem counter in optimised
rw-semaphores.

Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://gkernel.bkbits.net/net-drivers-2.6
Linus Torvalds [Tue, 8 Jun 2004 04:51:17 +0000 (21:51 -0700)]
Merge bk://gkernel.bkbits.net/net-drivers-2.6
into evo.osdl.org:/home/torvalds/v2.6/linux

22 years ago[PATCH] e1000: fix napi crash on ifdown during traffic
Jesse Brandeburg [Tue, 8 Jun 2004 10:36:38 +0000 (06:36 -0400)]
[PATCH] e1000: fix napi crash on ifdown during traffic

Signed off by: Jesse Brandeburg

22 years ago[PATCH] Fix tulip deadlocks on device removal
Andrew Morton [Tue, 8 Jun 2004 10:33:48 +0000 (06:33 -0400)]
[PATCH] Fix tulip deadlocks on device removal

From: Carl-Daniel Hailfinger <c-d.hailfinger.kernel.2004@gmx.net>

Handle going-away devices.

22 years ago[PATCH] Fixed MCA resource bugs in at1700
Herbert Xu [Tue, 8 Jun 2004 10:32:21 +0000 (06:32 -0400)]
[PATCH] Fixed MCA resource bugs in at1700

This patch fixes an incorrect MCA check as well as a leak on probe
failure in at1700.

22 years ago[PATCH] Fix netdev leak on probe failure in 3c527
Herbert Xu [Tue, 8 Jun 2004 10:32:12 +0000 (06:32 -0400)]
[PATCH] Fix netdev leak on probe failure in 3c527

This patch frees the netdev on failure in mc32_probe in 3c527.

22 years ago[PATCH] epic100 fixes
Alan Cox [Tue, 8 Jun 2004 10:11:12 +0000 (06:11 -0400)]
[PATCH] epic100 fixes

"Gee it works better if you turn the chip on before programming it"

The ioctl to ethtool change broke that little detail...

I made the changes, Jeff agreed in principle, Red Hat owns them and I know
no reason they can't be contributed under the GPL v2 or later.

Requires: ethtool change

22 years ago[PATCH] ethtool power manglement hooks
Alan Cox [Tue, 8 Jun 2004 10:11:04 +0000 (06:11 -0400)]
[PATCH] ethtool power manglement hooks

Several ethernet drivers have been broken by the ethtool support because
the ioctl code used to power the interface up and down as needed. Rather
than add this to each driver call Jeff Garzik suggested we add hooks
for before/after ethtool processing.

This patch implements them which makes fixing the PM stuff easier,
as the epic100 patch to follow will show. It also cleans up the
via-velocity driver pm/ethtool logic a great deal. As per Jeff's
request the before handler is allowed to fail the operation.

--

The contribution herein included is a creation of Red Hat Inc. It is hereby
submitted under the license of the existing files and as a derivative work
thereof. I know of no reason for not having the right to submit the
work herein included.

(Bluff your way in legalese ;))

22 years agoMerge http://linux.bkbits.net/linux-2.6
David Woodhouse [Tue, 8 Jun 2004 04:51:14 +0000 (21:51 -0700)]
Merge http://linux.bkbits.net/linux-2.6
into hostme.bitkeeper.com:/repos/l/linux-mtd/sbc8260-2.6

22 years ago[PATCH] Make tda1004x DVB frontend driver work again
Michael Hunold [Tue, 8 Jun 2004 04:31:45 +0000 (21:31 -0700)]
[PATCH] Make tda1004x DVB frontend driver work again

Adrian Bunk noticed that the tda1004x DVB frontend driver was broken and
sent a small patch that at least made the driver work again.

There was a discussion afterwards about the kernel syscall interface,
but at the end, the tda1004x DVB frontend driver is still non-functional.

This re-applies the temporary band-aid.

22 years ago[PATCH] Make paca xCurrent field be a pointer
Paul Mackerras [Tue, 8 Jun 2004 02:27:15 +0000 (19:27 -0700)]
[PATCH] Make paca xCurrent field be a pointer

The paca struct contains a pointer to the current task, which is used
for the `current' macro.  For some reason, this field is a u64, and
every time we use it we need a cast, because it is really a pointer.
This patch cleans things up a little by making it a pointer to struct
task_struct and removing the casts.  It also removes a now-incorrect
comment which said that r13 contains current (it now holds
&paca[smp_processor_id()]).

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Single-stepping emulated instructions
Paul Mackerras [Tue, 8 Jun 2004 02:27:01 +0000 (19:27 -0700)]
[PATCH] Single-stepping emulated instructions

Occasionally the ppc64 kernel emulates a usermode instruction, for
example in the alignment exception handler.  Kumar Gala pointed out
(in the context of the ppc32 kernel) that if the instruction was being
single-stepped, and we end up emulating the instruction, we should
then send the process a SIGTRAP as if it had not been emulated and the
process had then taken a single-step exception.  This patch implements
this for ppc64.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://kernel.bkbits.net/davem/net-2.6
Linus Torvalds [Tue, 8 Jun 2004 00:57:50 +0000 (17:57 -0700)]
Merge bk://kernel.bkbits.net/davem/net-2.6
into evo.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge bk://kernel.bkbits.net/gregkh/linux/usb-fix-2.6
Linus Torvalds [Tue, 8 Jun 2004 00:55:45 +0000 (17:55 -0700)]
Merge bk://kernel.bkbits.net/gregkh/linux/usb-fix-2.6
into evo.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Mon, 7 Jun 2004 12:09:16 +0000 (05:09 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

22 years ago[NETFILTER]: Put arpt_mutex back into arp_tables.c
David S. Miller [Mon, 7 Jun 2004 09:21:38 +0000 (02:21 -0700)]
[NETFILTER]: Put arpt_mutex back into arp_tables.c

22 years ago[TCP]: Add receive DRS info to tcp_info.
Stephen Hemminger [Mon, 7 Jun 2004 08:28:12 +0000 (01:28 -0700)]
[TCP]: Add receive DRS info to tcp_info.

22 years ago[TCP]: Update tcp_get_info() comments in net/tcp.h
Stephen Hemminger [Mon, 7 Jun 2004 08:27:26 +0000 (01:27 -0700)]
[TCP]: Update tcp_get_info() comments in net/tcp.h

22 years ago[PATCH] USB devio.c: deadlock fix
Duncan Sands [Mon, 7 Jun 2004 07:21:48 +0000 (00:21 -0700)]
[PATCH] USB devio.c: deadlock fix

proc_resetdevice is called with dev->serialize held.
usb_reset_device takes dev->serialize and then calls
__usb_reset_device.  To avoid deadlock, proc_resetdevice
should call __usb_reset_device directly.

Signed-off-by: Duncan Sands <baldrick@free.fr>
Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
22 years ago[PATCH] i386 defconfig update
Andrew Morton [Mon, 7 Jun 2004 07:14:47 +0000 (00:14 -0700)]
[PATCH] i386 defconfig update

Updates i386 defconfig.  I simply ran `make oldconfig' and selected `m' where
it was available, otherwise `y'.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] make buildcheck missing hunk
Andrew Morton [Mon, 7 Jun 2004 07:14:37 +0000 (00:14 -0700)]
[PATCH] make buildcheck missing hunk

Forgot to update the top-level makefile to invoke the new reference_init
script.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] USB: enable pwc usb camera driver
Kai Engert [Mon, 7 Jun 2004 07:08:08 +0000 (00:08 -0700)]
[PATCH] USB: enable pwc usb camera driver

The attached patch enables the pwc driver included with kernel 2.6.7-rc2

It also removes the warnings during compilation.
However, note that I blindly duplicated the release approach used by
other usb camera drivers, replacing the current no-op.

The driver works for me with a Logitech QuickCam Notebook Pro and
GnomeMeeting.

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
22 years ago[PATCH] USB: Fix problems with cyberjack usb-serial-module since kernel 2.6.2
Siegfried Hildebrand [Mon, 7 Jun 2004 07:05:59 +0000 (00:05 -0700)]
[PATCH] USB: Fix problems with cyberjack usb-serial-module since kernel 2.6.2

> Send me a patch to back those changes out to fix your device and I'll
> apply it.  If the author is around to realize this, that should wake
> them up :)

Ok, here you are! :)
Attached is a patch for linux-2.6.7-rc2. (though the patch hasn't changed
since -rc1)

Again a short description:
(the patch removes most of the changes done in linux-2.6.2)
1. Removed the local buffer of cyberjack_write, because something goes wrong
upon a write-request bigger than the buffer. Without this, a write-request
stalls with error -3.
2. Removed some usb_clear_halt() lines. Without this, the device doesn't even
open and returns -7.

It works for my cyberjack pinpad USB card reader on
- nforce2 chipset
- VIA KM266 chipset
- AMD Irongate chipset

Signed-off-by: Greg Kroah-Hartman <greg@kroah.com>
22 years agoLinux 2.6.7-rc3 v2.6.7-rc3
Linus Torvalds [Mon, 7 Jun 2004 05:08:04 +0000 (22:08 -0700)]
Linux 2.6.7-rc3

22 years agoinput: Exclude tasklet changes to i8042.c
Vojtech Pavlik [Mon, 7 Jun 2004 14:56:10 +0000 (16:56 +0200)]
input: Exclude tasklet changes to i8042.c

Signed-off-by: Vojtech Pavlik <vojtech@suse.cz>
22 years agoMerge suse.cz:/home/vojtech/bk/linus
Vojtech Pavlik [Mon, 7 Jun 2004 13:58:20 +0000 (15:58 +0200)]
Merge suse.cz:/home/vojtech/bk/linus
into suse.cz:/home/vojtech/bk/for-linus

22 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.6
Linus Torvalds [Sun, 6 Jun 2004 13:43:33 +0000 (06:43 -0700)]
Merge bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Sun, 6 Jun 2004 13:29:56 +0000 (06:29 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

22 years ago[NETFILTER]: Small cleanup for {ipt,ip6t,arpt}_find_target
Jamal Hadi Salim [Sun, 6 Jun 2004 13:15:18 +0000 (06:15 -0700)]
[NETFILTER]: Small cleanup for {ipt,ip6t,arpt}_find_target

Signed-off-by: Jamal Hadi Salim <hadi@zynx.com>
Signed-off-by: David S. Miller <davem@redhat.com>
22 years ago[FB]: Fix uninitialized fb_cmap member in sbuslib.c
Adam Kropelin [Sun, 6 Jun 2004 12:59:45 +0000 (05:59 -0700)]
[FB]: Fix uninitialized fb_cmap member in sbuslib.c

When handling FBIOPUTCMAP_SPARC, sbusfb fails to initialize cmap.transp,
which quickly leads to an oops when fb_set_cmap() dereferences it.

First encountered in Aurora Wombat kernels and seems to afflict mainline
as well. Patch is against 2.6.7-rc2. xorg still fails to actually get
anything to display on my CG6, but at least it no longer oopses the kernel.

Signed-off-by: Adam Kropelin <akropel1@rochester.rr.com>
Signed-off-by: David S. Miller <davem@redhat.com>
22 years agoMerge davem@nuts.davemloft.net:/disk1/BK/net-2.6
David S. Miller [Sun, 6 Jun 2004 12:45:43 +0000 (05:45 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6
into kernel.bkbits.net:/home/davem/net-2.6

22 years ago[TCP]: Need tcp_get_info decl in net/tcp.h
David S. Miller [Sun, 6 Jun 2004 12:40:21 +0000 (05:40 -0700)]
[TCP]: Need tcp_get_info decl in net/tcp.h

22 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Sun, 6 Jun 2004 09:31:43 +0000 (02:31 -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] Update mach-types.
Russell King [Sun, 6 Jun 2004 20:56:06 +0000 (21:56 +0100)]
[ARM] Update mach-types.

22 years ago[ARM] Uninline flush_dcache_page()
Russell King [Sun, 6 Jun 2004 20:51:46 +0000 (21:51 +0100)]
[ARM] Uninline flush_dcache_page()

22 years ago[PATCH] Fix missing padding in DMI table.
Dave Jones [Sun, 6 Jun 2004 08:04:20 +0000 (01:04 -0700)]
[PATCH] Fix missing padding in DMI table.

This entry in the DMI blacklist table is missing it's NO_MATCH
tags, which means the struct gets padded instead of filled with
the desired NO_MATCH data which is {255, NULL}

Usually not fatal it seems, but there have been numerous cases
in Red Hat bugzilla where this did get tripped up, and caused
an immediate reset on these boards. Not fun to track down.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] fix warning in synclink.c
Dave Jones [Sun, 6 Jun 2004 08:01:37 +0000 (01:01 -0700)]
[PATCH] fix warning in synclink.c

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc64: make the TLB flush logic match ppc32
Benjamin Herrenschmidt [Sun, 6 Jun 2004 07:56:22 +0000 (00:56 -0700)]
[PATCH] ppc64: make the TLB flush logic match ppc32

Adds a dummy flush_tlb_page_nohash() called by ptep_set_access_bits(),
to be used if we ever have a ppc64 CPU with software loaded TLB.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc32: missed flush_tlb_page_nohash() cases
Benjamin Herrenschmidt [Sun, 6 Jun 2004 07:56:11 +0000 (00:56 -0700)]
[PATCH] ppc32: missed flush_tlb_page_nohash() cases

ARGH. Missed one file. Here is an additional patch (missed tlbflush.h patch)

Sorry.

This adds the definiction of flush_tlb_page_nohash() that was missing
from the previous patch fixing SW-TLB loaded PPCs

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ppc32: Fix CPUs with soft loaded TLB
Benjamin Herrenschmidt [Sun, 6 Jun 2004 07:18:49 +0000 (00:18 -0700)]
[PATCH] ppc32: Fix CPUs with soft loaded TLB

The recent introduction of ptep_set_access_flags() with the optimisation
of not flushing the TLB unfortunately broke ppc32 CPUs with no hash
table.

The data access exception code path in assembly for these doesn't
properly deal with the case where the TLB entry is present with the
wrong PAGE_RW and will just call do_page_fault again instead of just
replacing the TLB entry.

Fixing the asm code for all the different CPU types affected (yah,
embedded PPCs all have different MMUs =P) is painful and need testing I
can't do at the moment, so here's a fix that will just flush the TLB
page when changing the access flags on non-hash based machines.  Please
apply.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org
22 years agorpc: Use proper printk format for size_t argument.
Linus Torvalds [Sun, 6 Jun 2004 06:26:06 +0000 (23:26 -0700)]
rpc: Use proper printk format for size_t argument.

22 years ago[PATCH] sched: honor the "sync" wakeup bit
Ingo Molnar [Sun, 6 Jun 2004 04:35:59 +0000 (21:35 -0700)]
[PATCH] sched: honor the "sync" wakeup bit

The scheduler changes had another thing missing: the appreciation of
sync wakeups.  (I had this in one of the earlier sched-domains cleanup
patches before but it got lost in the shuffle.)

When a sync waker is waking, we should subtract its load from the
current load - it will schedule away for sure in the near future.
That's what the "sync" bit means.

This change is necessary because with the sched-domains balancer we have
a much more sensitive cpu-load estimator, and in this particular context
of try_to_wake_up() the sync waker's effect will always be part of the
load.  Patch against your patch attached.

In my testing there's an additional increase in bw_pipe numbers on a
dual P2 box, it went from 110-120 MB/sec to 120-130 MB/sec.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge http://linux-watchdog.bkbits.net/linux-2.6-watchdog
Linus Torvalds [Sun, 6 Jun 2004 04:33:18 +0000 (21:33 -0700)]
Merge http://linux-watchdog.bkbits.net/linux-2.6-watchdog
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[WATCHDOG] linux/watchdog.h include types.h patch
Christoph Hellwig [Sun, 6 Jun 2004 22:14:22 +0000 (00:14 +0200)]
[WATCHDOG] linux/watchdog.h include types.h patch

watchdog.h is using __u8 and __u32 from linux/types.h, so it needs to
include it.

22 years agoMerge nuts.davemloft.net:/disk1/BK/network-2.6
David S. Miller [Sat, 5 Jun 2004 13:49:47 +0000 (06:49 -0700)]
Merge nuts.davemloft.net:/disk1/BK/network-2.6
into nuts.davemloft.net:/disk1/BK/net-2.6

22 years ago[NET]: Fix compat bug in recvmsg/sendmsg wrt MSG_CMSG_COMPAT.
Olaf Hering [Sat, 5 Jun 2004 08:55:25 +0000 (01:55 -0700)]
[NET]: Fix compat bug in recvmsg/sendmsg wrt MSG_CMSG_COMPAT.

22 years ago[NET]: Add ARPHRD_NONE and use it in tun driver.
Jamal Hadi Salim [Sat, 5 Jun 2004 07:41:55 +0000 (00:41 -0700)]
[NET]: Add ARPHRD_NONE and use it in tun driver.

22 years ago[PATCH] kill drivers/ide TCQ support
Jens Axboe [Sat, 5 Jun 2004 06:35:07 +0000 (23:35 -0700)]
[PATCH] kill drivers/ide TCQ support

Lets just remove it. It's been disabled some time ago, and there's no
chance of it ever getting resurrected. PATA TCQ has so many technical
short comings, that it was never really interesting I'm afraid.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: remove dead code from ide-taskfile.c
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:01:52 +0000 (23:01 -0700)]
[PATCH] ide: remove dead code from ide-taskfile.c

Remove dead code from task_in_intr() and pre_task_mulout_intr()
(CONFIG_IDE_TASKFILE_IO=n versions).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: sanitize __ide_do_rw_disk() debugging code
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:01:41 +0000 (23:01 -0700)]
[PATCH] ide: sanitize __ide_do_rw_disk() debugging code

- move common code to ide_do_rw_disk()
  (+ always print block number and rq->buffer)
- use pr_debug()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: remove needless exports
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:01:29 +0000 (23:01 -0700)]
[PATCH] ide: remove needless exports

Remove needless exports from ide.c, ide-probe.c and ide-proc.c.

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: use try_to_flush_leftover_data() in idedisk_error()
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:01:17 +0000 (23:01 -0700)]
[PATCH] ide: use try_to_flush_leftover_data() in idedisk_error()

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: remove unused ide_remove_setting() from ide.c
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:01:06 +0000 (23:01 -0700)]
[PATCH] ide: remove unused ide_remove_setting() from ide.c

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] ide: change CONFIG_IDEDISK_STOKE to a runtime option
Bartlomiej Zolnierkiewicz [Sat, 5 Jun 2004 06:00:55 +0000 (23:00 -0700)]
[PATCH] ide: change CONFIG_IDEDISK_STOKE to a runtime option

From: Christoph Hellwig <hch@lst.de>

To be useful for distribution kernels it needs to be a runtime option.
The original patch is from Joerg Platte via the Debian kernel package,
with some adjustments from me (and me too - Bart).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years agoMerge bk://kernel.bkbits.net/davem/sparc-2.6
Linus Torvalds [Sat, 5 Jun 2004 05:53:39 +0000 (22:53 -0700)]
Merge bk://kernel.bkbits.net/davem/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge http://lia64.bkbits.net/to-linus-2.5
Linus Torvalds [Sat, 5 Jun 2004 05:45:44 +0000 (22:45 -0700)]
Merge http://lia64.bkbits.net/to-linus-2.5
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years agoMerge bk://drm.bkbits.net/drm-2.6
Linus Torvalds [Sat, 5 Jun 2004 04:15:37 +0000 (21:15 -0700)]
Merge bk://drm.bkbits.net/drm-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

22 years ago[PATCH] Fix ipmi compile failure
Corey Minyard [Sat, 5 Jun 2004 04:05:56 +0000 (21:05 -0700)]
[PATCH] Fix ipmi compile failure

Geert Uytterhoeven wrote:

  While compiling drivers/char/ipmi/ipmi_si_intf.c in 2.6.6-rc1 on m68k,
  I noticed a missing include (needed for disable_irq_nosync() and
  enable_irq()):

  Furthermore none of CONFIG_ACPI_INTERPETER, CONFIG_X86, and CONFIG_PCI
  were set, and thus IPMI_MEM_ADDR_SPACE and IPMI_IO_ADDR_SPACE are not
  defined, but they are used.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] MTD: add st m50fw0* to jedec_probe.c
Dave Airlie [Sat, 5 Jun 2004 03:59:21 +0000 (20:59 -0700)]
[PATCH] MTD: add st m50fw0* to jedec_probe.c

Adds support to the jedec probe for ST M50FW040, M50FW080 and M50FW016 all
Firmware hubs for i8x0 chipsets,
http://www.st.com/stonline/products/families/memories/fl_nor/fl_fwh.htm

Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix procfs warnings when removing ipmi_si module
Corey Minyard [Sat, 5 Jun 2004 03:59:12 +0000 (20:59 -0700)]
[PATCH] Fix procfs warnings when removing ipmi_si module

Presently we get procfs warnings from ipmi_si.ko due to its failing to
remove all of a /proc directory's contents prior to removing that
directory.

This patch tracks all proc entries for an IPMI interface and unregisters
them all upon removal.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix DRM mismerge(?)
Benjamin Herrenschmidt [Sat, 5 Jun 2004 03:59:01 +0000 (20:59 -0700)]
[PATCH] Fix DRM mismerge(?)

From: Colin Leroy <colin@colino.net>

Paulus brought this up on IRC, it seems to be a bad DRM merge: The code

#ifndef VMAP_4_ARGS
       if ( dev->agp->cant_use_aperture )
               return -EINVAL;
#endif

in DRM(agp_acquire) should be removed altogether in a 2.6 kernel because
its vmap() takes 4 arguments; however, only the guards seem to have been
removed, which causes this function to erroneously fail if the AGP aperture
can't be directly accessed by the CPU.

Signed-off-by: Colin Leroy <colin@colino.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] Fix rivafb's OpenFirmware parsing
Benjamin Herrenschmidt [Sat, 5 Jun 2004 03:58:50 +0000 (20:58 -0700)]
[PATCH] Fix rivafb's OpenFirmware parsing

The attached patch fixes the EDID parsing for PPC on rivafb.  It actually
finds the EDID info in the OF Tree now.  I grabbed this from BenHs Tree as
of 2.6.5-rc3.  The current code has no chance to work since it doesn't walk
the device tree.  This helps rivafb on PPC at least a bit further...

Signed-off-by: Guido Guenther <agx@sigxcpu.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] sched: improve wakeup-affinity
Nick Piggin [Sat, 5 Jun 2004 03:58:39 +0000 (20:58 -0700)]
[PATCH] sched: improve wakeup-affinity

David Mosberger noticed bw_pipe was way down on sched-domains kernels on
SMP systems.

That is due to two things: first, the previous wake-affine logic would
*always* move a pipe wakee onto the waker's CPU.  With the scheduler
rework, this was toned down a lot (but extended to all types of wakeups).

One of the ways this was damped was with the logic: don't move the wakee if
its CPU is relatively idle compared to the waker's CPU.  Without this, some
workloads would pile everything up onto a few CPUs and get lots of idle
time.

However, the fix was a bit of a blunt hack: if the wakee runqueue was below
50% busy, and the waker's was above 50% busy, we wouldn't do the move.  I
think a better way to capture it is what this patch does: if the wakee
runqueue is below 100% busy, and the sum of the two runqueue's loads is
above 100% busy, and the wakee runqueue is less busy than the waker
runqueue (ie.  CPU utilisation would drop if we do the move), then we don't
do the move.

After I fixed this, I found things were still getting bounced around quite
a bit.  The reason is that we were attempting very aggressive idle
balancing in order to cut down idle time in a dbt2-pgsql workload, which is
particularly sensitive to idle.

After having Mark Wong (markw@osdl.org) retest this load with this patch,
it looks like we don't need to be so aggressive.  I'm glad to be rid of
this because it never sat too well with me.  We should see slightly lower
cost of schedule and slightly improved cache impact with this change too.

Mark said:
---
        This looks pretty good:

        metric  kernel
        2334    2.6.7-rc2
        2298    2.6.7-rc2-mm2
        2329    2.6.7-rc2-mm2-sched-more-wakeaffine
---
ie. within the noise.

David said:
---
        Oooh, me likeee!

        Host                OS  Pipe AF
                                     UNIX
        --------- ------------- ---- ----
        caldera.h   Linux 2.6.6 3424 2057       (plain 2.6.6)
        caldera.h Linux 2.6.7-r 333. 1402       (original 2.6.7-rc1)
        caldera.h Linux 2.6.7-r 3086 4301       (2.6.7-rc1 with your patch)

        Pipe-bandwidth is still down about 10% but that may be due to
        unrelated changes (or perhaps warmup effects?).  The AF UNIX bandwidth
        is just mindboggling.  Moreover, with your patch 2.6.7-rc1 shows
        better context-switch times and lower communication latencies (more
        like the numbers you're getting on UP).

        So it seems like the overall balance of keeping things on the same CPU
        vs. distributing them across CPUs is improved.
---

I also ran some tests on the NUMAQ. kernbench, dbench, hackbench, reaim
were much the same. tbench was improved, very much so when clients < NR_CPU.

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] md: fix BUG in raid5 resync code.
Neil Brown [Sat, 5 Jun 2004 03:58:28 +0000 (20:58 -0700)]
[PATCH] md: fix BUG in raid5 resync code.

This condtion on this loop is primarily to avoid the loop if it doesn't
appear to be needed.  However it optimises a little too much and there is a
case where it skips the loop when it is really needed.  This patch fixes
it.

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] fix cdrom length check
Jens Axboe [Sat, 5 Jun 2004 03:58:17 +0000 (20:58 -0700)]
[PATCH] fix cdrom length check

There's a bad length check in cdrom_get_random_writable(), it's off-by-4
since fh->data_len is the length of data _after_ that field (which is
offset 4 bytes in the header).  Check is pretty bogus anyways, so just kill
it.

Signed-Off-By: Jens Axboe <axboe@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
22 years ago[PATCH] synclink.c driver init modifications
Paul Fulghum [Sat, 5 Jun 2004 03:58:06 +0000 (20:58 -0700)]
[PATCH] synclink.c driver init modifications

* Fix cleanup on driver init failure (call pci_unregister_driver if
  necessary)

* Keep driver loaded if no hardware found (for dynid support)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>