]> git.hungrycats.org Git - linux/log
linux
21 years ago[PATCH] i2o: correct error code if bus is busy in i2o_scsi
Markus Lidel [Tue, 19 Oct 2004 01:30:14 +0000 (18:30 -0700)]
[PATCH] i2o: correct error code if bus is busy in i2o_scsi

- corrected the error code in i2o_scsi_reply to return the correct error
  code DID_BUS_BUSY if bus is busy (original from Alan Cox)

Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] net/mac89x0: replace schedule_timeout() with msleep_interruptible()
Nishanth Aravamudan [Tue, 19 Oct 2004 01:24:08 +0000 (18:24 -0700)]
[PATCH] net/mac89x0: replace schedule_timeout() with msleep_interruptible()

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>
21 years ago[PATCH] janitor: __FUNCTION__ string concatenation deprecated
Maximilian Attems [Tue, 19 Oct 2004 01:23:55 +0000 (18:23 -0700)]
[PATCH] janitor: __FUNCTION__ string concatenation deprecated

__FUNCTION__ string concatenation is deprecated

Signed-off-by: Clemens Buchacher <drizzd@aon.at>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: replace dprintk with pr_debug in microcode.c
Maximilian Attems [Tue, 19 Oct 2004 01:23:43 +0000 (18:23 -0700)]
[PATCH] janitor: replace dprintk with pr_debug in microcode.c

Replaced dprintk with pr_debug from kernel.h

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] drivers/isdn: replace milliseconds() with msecs_to_jiffies()
Maximilian Attems [Tue, 19 Oct 2004 01:23:30 +0000 (18:23 -0700)]
[PATCH] drivers/isdn: replace milliseconds() with msecs_to_jiffies()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: isdn/icn: change units of ICN_BOOT_TIMEOUT1
Maximilian Attems [Tue, 19 Oct 2004 01:23:18 +0000 (18:23 -0700)]
[PATCH] janitor: isdn/icn: change units of ICN_BOOT_TIMEOUT1

Change units of ICN_BOOT_TIMEOUT1 to msecs instead of jiffies for
msleep_interruptible() in icn.c.  Also, remove unused constant
ICN_CHANLOCK_DELAY.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: replace dprintk with pr_debug in drivers/scsi/tpam/
Maximilian Attems [Tue, 19 Oct 2004 01:23:05 +0000 (18:23 -0700)]
[PATCH] janitor: replace dprintk with pr_debug in drivers/scsi/tpam/

Replaced dprintk, and deleted it out of tpam.h.

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] ieee1394: replace schedule_timeout() with msleep_interruptible()
Maximilian Attems [Tue, 19 Oct 2004 01:22:53 +0000 (18:22 -0700)]
[PATCH] ieee1394: replace schedule_timeout() with msleep_interruptible()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] drivers/md: replace schedule_timeout() with msleep_interruptible()
Maximilian Attems [Tue, 19 Oct 2004 01:22:40 +0000 (18:22 -0700)]
[PATCH] drivers/md: replace schedule_timeout() with msleep_interruptible()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: drivers/message: replace schedule_timeout() with msleep_interruptible()
Maximilian Attems [Tue, 19 Oct 2004 01:22:28 +0000 (18:22 -0700)]
[PATCH] janitor: drivers/message: replace schedule_timeout() with msleep_interruptible()

Use msleep_interruptible() instead of schedule_timeout() under drivers/message.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: drivers/media: replace schedule_timeout() with msleep()
Maximilian Attems [Tue, 19 Oct 2004 01:22:16 +0000 (18:22 -0700)]
[PATCH] janitor: drivers/media: replace schedule_timeout() with msleep()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: video/radeonfb: remove MS_TO_HZ()
Maximilian Attems [Tue, 19 Oct 2004 01:22:03 +0000 (18:22 -0700)]
[PATCH] janitor: video/radeonfb: remove MS_TO_HZ()

Removes definition of MS_TO_HZ() in favor of msecs_to_jiffies().

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: video/radeon_base: replace MS_TO_HZ() with msecs_to_jiffies()
Maximilian Attems [Tue, 19 Oct 2004 01:21:51 +0000 (18:21 -0700)]
[PATCH] janitor: video/radeon_base: replace MS_TO_HZ() with msecs_to_jiffies()

Replace MS_TO_HZ() with msecs_to_jiffies().

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: kill KERNEL_VERSION duplicate in videocodec.c
Maximilian Attems [Tue, 19 Oct 2004 01:21:39 +0000 (18:21 -0700)]
[PATCH] janitor: kill KERNEL_VERSION duplicate in videocodec.c

Kill KERNEL_VERSION duplicate.  Funny that it insn't even used in here

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: fix-typo-arm-dma arch/arm26/machine/dma.c
Maximilian Attems [Tue, 19 Oct 2004 01:21:27 +0000 (18:21 -0700)]
[PATCH] janitor: fix-typo-arm-dma arch/arm26/machine/dma.c

caught by Domen Puncer <domen@coderock.org>

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: mark __init/__exit static drivers/net/bsd_comp
Maximilian Attems [Tue, 19 Oct 2004 01:21:15 +0000 (18:21 -0700)]
[PATCH] janitor: mark __init/__exit static drivers/net/bsd_comp

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: mark __init/__exit static drivers/net/ppp_deflate
Maximilian Attems [Tue, 19 Oct 2004 01:21:02 +0000 (18:21 -0700)]
[PATCH] janitor: mark __init/__exit static drivers/net/ppp_deflate

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: remove check_region from drivers/char/esp.c
Maximilian Attems [Tue, 19 Oct 2004 01:20:50 +0000 (18:20 -0700)]
[PATCH] janitor: remove check_region from drivers/char/esp.c

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] drivers/char: replace schedule_timeout() with msleep_interruptible()
Maximilian Attems [Tue, 19 Oct 2004 01:20:38 +0000 (18:20 -0700)]
[PATCH] drivers/char: replace schedule_timeout() with msleep_interruptible()

Replace lots of open-coded sleeps with msleep_interruptible() under
drivers/char.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Rogier Wolff <R.E.Wolff@BitWizard.nl>
Signed-off-by: Christoph Lameter <christoph@lameter.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: char/sx: replace direct assignment with set_current_state()
Maximilian Attems [Tue, 19 Oct 2004 01:20:24 +0000 (18:20 -0700)]
[PATCH] janitor: char/sx: replace direct assignment with set_current_state()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: char/ipmi_si_intf: add set_current_state()
Maximilian Attems [Tue, 19 Oct 2004 01:20:11 +0000 (18:20 -0700)]
[PATCH] janitor: char/ipmi_si_intf: add set_current_state()

Add set_current_state() before schedule_timeout() so a delay is achieved.
Without the addition, schedule_timeout() returns immediately.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: char/fdc-io: replace direct assignment with set_current_state()
Maximilian Attems [Tue, 19 Oct 2004 01:19:59 +0000 (18:19 -0700)]
[PATCH] janitor: char/fdc-io: replace direct assignment with set_current_state()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: char/sis-agp: replace schedule_timeout() with msleep()
Maximilian Attems [Tue, 19 Oct 2004 01:19:47 +0000 (18:19 -0700)]
[PATCH] janitor: char/sis-agp: replace schedule_timeout() with msleep()

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: char/rio_linux: replace schedule_timeout() with msleep()/msleep_inte...
Maximilian Attems [Tue, 19 Oct 2004 01:19:34 +0000 (18:19 -0700)]
[PATCH] janitor: char/rio_linux: replace schedule_timeout() with msleep()/msleep_interruptible()

Use msleep()/msleep_interruptible() [as appropriate] instead of
schedule_timeout() to guarantee the task delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: list_for_each: drivers-char-drm-radeon_mem.c
Maximilian Attems [Tue, 19 Oct 2004 01:19:22 +0000 (18:19 -0700)]
[PATCH] janitor: list_for_each: drivers-char-drm-radeon_mem.c

s/for/list_for_each/

Signed-off-by: Domen Puncer <domen@coderock.org>
Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: remove old ifdefs fasttimer
Maximilian Attems [Tue, 19 Oct 2004 01:19:10 +0000 (18:19 -0700)]
[PATCH] janitor: remove old ifdefs fasttimer

 Patches to remove some old ifdefs.
 remove most of the #include <linux/version.h>
 kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: remove old ifdefs dmascc
Maximilian Attems [Tue, 19 Oct 2004 01:18:58 +0000 (18:18 -0700)]
[PATCH] janitor: remove old ifdefs dmascc

 Patches to remove some old ifdefs.
 remove most of the #include <linux/version.h>
 kill compat cruft like #define ahd_pci_set_dma_mask pci_set_dma_mask

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] janitor: cpqarray remove unused include
Maximilian Attems [Tue, 19 Oct 2004 01:18:46 +0000 (18:18 -0700)]
[PATCH] janitor: cpqarray remove unused include

  remove unused #include <linux/version.h>
  Old ifdefs were removed that used it's definition.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] i2o: quieten sparse 1-bit-bitfield warnings in i2o.h
Markus Lidel [Tue, 19 Oct 2004 01:18:33 +0000 (18:18 -0700)]
[PATCH] i2o: quieten sparse 1-bit-bitfield warnings in i2o.h

- Single-bit bitfields should be unsigned. Quell sparse warnings for
   these. (from Randy Dunlap)

Signed-off-by: Randy Dunlap <rddunlap@osdl.org>
Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] i2o: new functions to convert messages to a virtual address
Markus Lidel [Tue, 19 Oct 2004 01:18:19 +0000 (18:18 -0700)]
[PATCH] i2o: new functions to convert messages to a virtual address

- added new function i2o_msg_in_to_virt and i2o_msg_out_to_virt, to turn an
  I2O message to a virtual address (original from Alan Cox)

- replaced readl with le32_to_cpu where it is not necessary (original from
  Alan Cox)

Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] i2o: added support for Promise controllers
Markus Lidel [Tue, 19 Oct 2004 01:18:07 +0000 (18:18 -0700)]
[PATCH] i2o: added support for Promise controllers

- added support for Promise I2O controllers, which need a different
  initialization sequence (original from Alan Cox)

Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] i2o: code beautifying and cleanup
Markus Lidel [Tue, 19 Oct 2004 01:17:55 +0000 (18:17 -0700)]
[PATCH] i2o: code beautifying and cleanup

- added KERN_* to printk where it was missing (original from Alan Cox)

- removed unused code which was commented out already (original from Alan
  Cox)

- make error messages more sane in i2o_block (original from Alan Cox)

Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] sparc32: early tick_ops
William Lee Irwin III [Tue, 19 Oct 2004 01:17:43 +0000 (18:17 -0700)]
[PATCH] sparc32: early tick_ops

The zaphod scheduler likes to call scheduler_tick() before time_init().
sparc32 oopses.

Perhaps a scheduler bug, but this robustifies things.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] profile: 512x Altix timer interrupt livelock fix
William Lee Irwin III [Tue, 19 Oct 2004 01:17:30 +0000 (18:17 -0700)]
[PATCH] profile: 512x Altix timer interrupt livelock fix

I've been informed that /proc/profile livelocks some systems in the timer
interrupt, usually at boot.  The following patch attempts to amortize the
atomic operations done on the profile buffer to address this stability
concern.  This patch has nothing to do with performance; kernels using
periodic timer interrupts are under realtime constraints to complete
whatever work they perform within timer interrupts before the next timer
interrupt arrives lest they livelock, performing no work whatsoever apart
from servicing timer interrupts.  The latency of the cacheline bounce for
prof_buffer contributes to the time spent in the timer interrupt, hence it
must be amortized when remote access latencies or deviations from fair
exclusive cacheline acquisition may cause cacheline bounces to take longer
than the interval between timer ticks.

What this patch does is to create a pair of per-cpu open-addressed
hashtables indexed by profile buffer slot holding values representing the
number of pending profile buffer hits for the profile buffer slot.  When
this hashtable overflows, one iterates over the hashtable accounting each
of the pairs of profile buffer slots and hit counts to the global profile
buffer.  Zero is a legitimate profile buffer slot, so zero hit counts
represent unused hashtable entries.  The hashtable is furthermore protected
from flush IPI's by interrupt disablement.

In order to flush the pending profile hits for read_profile(), this patch
flips betweeen the pairs of per-cpu profile buffer by signalling all cpus
to flip via IPI at the time of read_profile(), followed by doing all the
work to flush the profile hits from the older per-cpu buffers in the
context of the caller of read_profile(), with exclusion provided by a
semaphore ensuring that only one caller of profile_flip_buffers() may
execute at a time, and using interrupt disablement to prevent buffer flip
IPI's from altering the hashtables or flip state while an update is in
progress.  The flip state is per-cpu so that remote cpus need only disable
interrupts locally for synchronization, which is both simple and
busywait-free for remote cpus.  The flip states all change in tandem when
some cpu requests the hashtables be flipped, and the requester waits for
the completion of smp_call_function() for notification that all cpus have
finished flipping between their hashtables.  The IPI handler merely toggles
the flip state (which is an array index) between 0 and 1.

This is expected to be a much stronger amortization than merely reducing
the frequency of profile buffer access by a factor of the size of the
hashtable because numerous hits may be held for each of its entries.  This
reduces what was before the patch a number of atomic increments equal to
what after the patch becomes the sum of the hits held for each entry in the
hashtable, to a number of atomic_add()'s equal to the number of entries in
the per_cpu hashtable.  This is nondeterministic, but as the profile hits
tend to be concentrated in a very small number of profile buffer slots
during any given timing interval, is likely to represent a very large
number of atomic increments.  This amortization of atomic increments does
not depend on the hash function, only the sharp peakedness of the
distribution of profile buffer hits.

This algorithm has two advantages over full-size per-cpu profile buffers.
The first is that the space footprint is much smaller.  Per-cpu profile
buffers would increase the space requirements by a factor of
num_online_cpus(), where this algorithm only requires one page per cpu.
The second is that reading the profile state is much faster, because the
state that must be traversed is exactly the above space consumers, and the
relative reduction in size concomitantly reduces the time required for a
read operation.

I also took the liberty of adding some commentary to the comments at the
beginning of the file reflecting the major work done on profile.c in recent
months and describing what the file implements.

The reporters of this issue have verified that this resolves their timer
interrupt livelock on 512x Altixen.  In my own testing on 4x logical
x86-64, this patch saw a rate of about 18 flushes per minute under load, or
about one flush every 3 seconds, for about 38.4 atomic accesses to the
profile buffer per second per cpu in one of the algorithm's worst cases,
about 3.84% of the number of atomic profile buffer accesses per second per
cpu as a normal kernel would commit.  This represents a twenty-six-fold
increase in the scalability on SMP systems with 4KB PAGE_SIZE, i.e.  with a
4KB PAGE_SIZE, the number of atomic profile buffer accesses per second per
cpu is reduced by a factor of 26, thereby increasing the number of cpus a
system must have before it would experience a timer interrupt livelock by a
factor of 26, with the proviso that cacheline bounces must take the same
amount of time to service.  This increase in the scalability of the kernel
is expected to be much larger for ia64, which has a large PAGE_SIZE,
because the distribution of profile buffer hits is so sharply peaked that
doubling the hashtable size will much more than double the amortization
factor.  In fact, only 19 flushes were observed on a 64x Altix over an
approximately 10 minute AIM7 run, and 1 flush on a 512x Altix over the
course of an entire AIM7 run, for truly vast effective amortization
factors.

A prior version of this patch, which did not include the node-local
hashtable allocation and bounded collision chains has been successfully
tested on 64x and 512x ia64 vs 2.6.9-rc2, 8x ia64 vs.  2.6.9-rc2-mm1, 4x
x86-64 vs.  2.6.9-rc2-mm1, and 6x sparc64 vs.  2.6.9-rc2-mm1.  This patch
minus the hashtable initialization fix has been successfully tested on 2x
ppc64, 2x alpha, 8x ia64, 6x sparc64, and 4x x86-64, all vs.
2.6.9-rc2-mm1.  This precise version of the patch has been successfully
tested on 8x ia32 against 2.6.9-rc2-mm1 and 6x sparc64 vs.  both
2.6.9-rc2-mm1 and 2.6.9-rc2-mm2.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] SELinux: allow all filesystems to specify fscreate mount option
James Morris [Tue, 19 Oct 2004 01:17:18 +0000 (18:17 -0700)]
[PATCH] SELinux: allow all filesystems to specify fscreate mount  option

The patch below allows all types of filesystems to specify the fscreate
mount option (which is used to specify the security context of the
filesystem itself).  This was previously only available for filesystems
with full xattr security labeling, but is also potentially required for
filesystems with e.g.  psuedo xattr labeling such as devpts and tmpfs.

An example of use is to specify at mount time the fs security context of a
tmpfs filesystem, overriding the default specified in policy for that
filesystem.

This patch has been in the Fedora kernel for some weeks with no problems.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr: re-introduce validity check before xattr cache insert
Andreas Gruenbacher [Tue, 19 Oct 2004 01:17:06 +0000 (18:17 -0700)]
[PATCH] xattr: re-introduce validity check before xattr cache insert

* ext[23]_xattr_list():

  - Before inserting an xattr block into the cache, make sure that the
    block is not corrupted.  The check got moved after inserting into the
    cache in the xattr consolidation patches, so corrupted blocks could become
    visible to cache users.

  - Take a variable out of the loop that calls the ->list handlers.

* A few cosmetic changes.

Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - tmpfs
James Morris [Tue, 19 Oct 2004 01:16:53 +0000 (18:16 -0700)]
[PATCH] xattr consolidation v3 - tmpfs

This patch adds xattr support to tmpfs, and a security xattr handler.  The
purpose of this is to allow udev to be mounted on tmpfs, as used currently by
Fedora.

Original patch from: Luke Kenneth Casson Leighton <lkcl@lkcl.net>.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - devpts
James Morris [Tue, 19 Oct 2004 01:16:41 +0000 (18:16 -0700)]
[PATCH] xattr consolidation v3 - devpts

This patch updates the devpts xattr handler code to the generic xattr API,
also adds a GPL notice, author and copyright details.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - ext2
James Morris [Tue, 19 Oct 2004 01:16:28 +0000 (18:16 -0700)]
[PATCH] xattr consolidation v3 - ext2

This patch converts ext2 xattr and acl code to the new generic xattr API.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - ext3
James Morris [Tue, 19 Oct 2004 01:16:16 +0000 (18:16 -0700)]
[PATCH] xattr consolidation v3 - ext3

This patch converts the ext3 xattr and acl code to the generic xattr API.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - LSM
James Morris [Tue, 19 Oct 2004 01:16:03 +0000 (18:16 -0700)]
[PATCH] xattr consolidation v3 - LSM

This patch replaces the dentry parameter with an inode in the LSM
inode_{set|get|list}security hooks, in keeping with the ext2/ext3 code.
dentries are not needed here.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] xattr consolidation v3 - generic xattr API
James Morris [Tue, 19 Oct 2004 01:15:51 +0000 (18:15 -0700)]
[PATCH] xattr consolidation v3 - generic xattr API

This patch consolidates common xattr handling logic into the core fs code,
with modifications suggested by Christoph Hellwig (hang off superblock, remove
locking, use generic code as methods), for use by ext2, ext3 and devpts, as
well as upcoming tmpfs xattr code.

Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: Stephen Smalley <sds@epoch.ncsc.mil>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix types.h
Carlos Eduardo Medaglia Dyonisio [Tue, 19 Oct 2004 01:15:39 +0000 (18:15 -0700)]
[PATCH] Fix types.h

This patch fixes troubles when compiling some applications that include
<linux/byteorder/little_endian.h>, like xmms.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Simplify last lib/idr.c change
Ulrich Drepper [Tue, 19 Oct 2004 01:15:27 +0000 (18:15 -0700)]
[PATCH] Simplify last lib/idr.c change

The last change to alloc_layer in lib/idr.c unnecessarily complicates
the code and depending on the definition of spin_unlock will cause worse
code to be generated than necessary.  The following patch should improve
the situation.

Signed-off-by: Ulrich Drepper <drepper@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] smbfs does not honor uid, gid, file_mode and dir_mode supplied by user mount
Haroldo Gamal [Tue, 19 Oct 2004 01:15:14 +0000 (18:15 -0700)]
[PATCH] smbfs does not honor uid, gid, file_mode and dir_mode supplied by user mount

This patch fixes "Samba Bugzilla Bug 999".  The last version (2.6.8.1) of
smbfs kernel module do not honor uid, gid, file_mode and dir_mode supplied
by user during mount.  This bug is also logged as "Kernel Bug Tracker Bug
3330".

To fully work, some modifications are needed to samba smbmount.c and
smbmnt.c files.  Those patches are available at Samba and Kernel Bug
Tracker pages.

After those patches, if the user do not supply any of the parameters above,
the uid, gid, file_mode and dir_mode on the server will be used by the
client.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] taint on bad_page
Nick Piggin [Tue, 19 Oct 2004 01:15:02 +0000 (18:15 -0700)]
[PATCH] taint on bad_page

Hugh and I both thought this would be generally useful.

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>
21 years ago[PATCH] taint: fix forced rmmod
Nick Piggin [Tue, 19 Oct 2004 01:14:50 +0000 (18:14 -0700)]
[PATCH] taint: fix forced rmmod

This taint didn't appear to be reported.

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>
21 years ago[PATCH] x86-64/i386: add mce tainting
Andi Kleen [Tue, 19 Oct 2004 01:14:38 +0000 (18:14 -0700)]
[PATCH] x86-64/i386: add mce tainting

This patch adds machine check tainting.  When a handled machine check
occurs the oops gets a new 'M' flag.  This is useful to ignore machines
with hardware problems in oops reports.

On i386 a thermal failure also sets this flag.

Done for x86-64 and i386 so far.

Signed-off-by: Andi Kleen <ak@suse.de>
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>
21 years ago[PATCH] Document RCU based dcache lookup
Dipankar Sarma [Tue, 19 Oct 2004 01:14:25 +0000 (18:14 -0700)]
[PATCH] Document RCU based dcache lookup

Finally some in-tree documentation for RCU-based dcache look-up.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Remove d_bucket
Dipankar Sarma [Tue, 19 Oct 2004 01:14:13 +0000 (18:14 -0700)]
[PATCH] Remove d_bucket

Tested using dcachebench and hevy rename test.
http://lse.sourceforge.net/locking/dcache/rename_test/

While going over dcache code, I realized that d_bucket which was introduced
to prevent hash chain traversals from going into an infinite loop earlier,
is no longer necessary.  Originally, when RCU based lock-free lookup was
first introduced, dcache hash chains used list_head.  Hash chain traversal
was terminated when dentry->next reaches the list_head in the hash bucket.
However, if renames happen during a lock-free lookup, a dentry may move to
different bucket and subsequent hash chain traversal from there onwards may
not see the list_head in the original bucket at all.  In fact, this would
result in the list_head in the bucket interpreted as a list_head in dentry
and bad things will happen after that.  Once hlist based hash chains were
introduced in dcache, the termination condition changed and lock-free
traversal would be safe with NULL pointer based termination of hlists.
This means that d_bucket check is no longer required.

There still exist some theoritical livelocks like a dentry getting
continuously moving and lock-free look-up never terminating.  But that
isn't really any worse that what we have.  In return for these changes, we
reduce the dentry size by the size of a pointer.  That should make akpm and
mpm happy.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix dcache lookup
Dipankar Sarma [Tue, 19 Oct 2004 01:14:01 +0000 (18:14 -0700)]
[PATCH] Fix dcache lookup

__d_lookup() has leftover stuff from earlier code to protect it against
rename.  The smp_rmb() there was needed for the sequence counter logic.

Original dcache_rcu had :

+               move_count = dentry->d_move_count;
+               smp_rmb();
+
                if (dentry->d_name.hash != hash)
                        continue;
                if (dentry->d_parent != parent)
                        continue;

This was to make sure that comparisons didn't happen before before the
sequence counter was snapshotted.  This logic is now gone and memory
barrier is not needed.  Removing this should also improve performance.

The other change is the leftover smp_read_barrier_depends(), later
converted to rcu_dereference().  Originally, the name comparison was not
protected against d_move() and there could have been a mismatch of
allocation size of the name string and dentry->d_name.len.  This was
avoided by making the qstr update in dentry atomic using a d_qstr pointer.
Now, we do ->d_compare() or memcmp() with the d_lock held and it is safe
against d_move().  So, there is no need to rcu_dereference() anything.  In
fact, the current code is meaningless.

Signed-off-by: Dipankar Sarma <dipankar@in.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] cleanup: time.h, times.h, timex.h and jiffies.h
Martin Schwidefsky [Tue, 19 Oct 2004 01:13:49 +0000 (18:13 -0700)]
[PATCH] cleanup: time.h, times.h, timex.h and jiffies.h

This patch moves some definitions among time.h, times.h, timex.h and
jiffies.h.  The purpose is to sort all jiffies related functions to
jiffies.h, to get rid of the cyclic dependency between time.h & timex.h and
to move all #include lines to the start of the header files.

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>
21 years ago[PATCH] cleanup: remove unused definitions from timex.h
Martin Schwidefsky [Tue, 19 Oct 2004 01:13:35 +0000 (18:13 -0700)]
[PATCH] cleanup: remove unused definitions from timex.h

The CLOCK_TICK_FACTOR and FINETUNE defines from <asm/timex.h> are not used
anywhere.  Kill them.

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>
21 years ago[PATCH] cleanup: move call to update_process_times.
Martin Schwidefsky [Tue, 19 Oct 2004 01:13:23 +0000 (18:13 -0700)]
[PATCH] cleanup: move call to update_process_times.

For non-smp kernels the call to update_process_times is done in the
do_timer function.  It is more consistent with smp kernels to move this
call to the architecture file which calls do_timer.

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>
21 years ago[PATCH] don't include <linux/sysctl.h> in <linux/security.h>
Christoph Hellwig [Tue, 19 Oct 2004 01:13:09 +0000 (18:13 -0700)]
[PATCH] don't include <linux/sysctl.h> in <linux/security.h>

security.h gets pulled in in lots of places, so use forward declarations
for struct ctl_table instead of pulling sysctl in everywhere.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] mark inter_module_* deprecated
Christoph Hellwig [Tue, 19 Oct 2004 01:12:57 +0000 (18:12 -0700)]
[PATCH] mark inter_module_* deprecated

These had been officially deprecated since Rusty's module rewrite, but
never got the __deprecated marker.  The only remaining users are drm and
mtd, so we'll get some warnings for common builds.  But maybe that's the
only way to get the drm people to fix the mess :)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] remove MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT
Christoph Hellwig [Tue, 19 Oct 2004 01:12:45 +0000 (18:12 -0700)]
[PATCH] remove MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT

They've been marked deprecated since 2.5.x and there's no more users.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Replace hard-coded MODVERDIR in modpost
Andreas Gruenbacher [Tue, 19 Oct 2004 01:12:33 +0000 (18:12 -0700)]
[PATCH] Replace hard-coded MODVERDIR in modpost

When building external modules, MODVERDIR is relative to the external
module instead of in the kernel source tree.  Use the MODVERDIR environment
variable instead of the hard-coded path in modpost.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] A simple FIFO implementation
Stelian Pop [Tue, 19 Oct 2004 01:12:21 +0000 (18:12 -0700)]
[PATCH] A simple FIFO implementation

A simple ringbuffer implementation for various character drivers.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] report per-process pagetable usage
William Lee Irwin III [Tue, 19 Oct 2004 01:12:08 +0000 (18:12 -0700)]
[PATCH] report per-process pagetable usage

Andi Kleen requested that the number of pagetable pages in use by a process
be reported in /proc/$PID/status; this patch implements that.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] make console_conditional_schedule() __sched and use cond_resched()
William Lee Irwin III [Tue, 19 Oct 2004 01:11:56 +0000 (18:11 -0700)]
[PATCH] make console_conditional_schedule() __sched and use cond_resched()

Relatively minor add-on (not necessarily tied to it or required to be taken
or a fix for any bug).  Since cond_resched() is using PREEMPT_ACTIVE now,
it may be useful to update the open-coded instance of cond_resched() to use
the generic call.  Also, it should probably be __sched so the caller shows
up in wchan.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] procfs: fix task_mmu.c text size reporting
William Lee Irwin III [Tue, 19 Oct 2004 01:11:44 +0000 (18:11 -0700)]
[PATCH] procfs: fix task_mmu.c text size reporting

Not all binfmts page align ->end_code and ->start_code, so the task_mmu
statistics calculations need to perform this alignment themselves.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Incorrect PCI interrupt assignment on ES7000 for platform GSI
Natalie Protasevich [Tue, 19 Oct 2004 01:11:32 +0000 (18:11 -0700)]
[PATCH] Incorrect PCI interrupt assignment on ES7000 for platform GSI

In arch/i386/kernel/acpi/boot.c, platform GSI does not propagate back from
mp_register_gsi() to a calling routine which results in IRQ to be set for
wrong GSI.  This causes most of the PCI slots on the first PCI module to
fail.  This patch fixes the problem by returning new GSI back to
acpi_register_gsi().

Signed-off-by: Natalie Protasevich <Natalie.Protasevich@unisys.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] autofs4: allow map update recognition
Ian Kent [Tue, 19 Oct 2004 01:11:20 +0000 (18:11 -0700)]
[PATCH] autofs4: allow map update recognition

Having recently repaired autofs' ability to recognise updates to maps
dynamically I found I needed to reintroduce the directory inode lookup
method (I broke the update recognition several versions ago, oops).

This patch does this and applies cleanly against 2.6.9-rc1-mm4.

As far as I can tell from testing it doesn't introduce any backward
incompatibilities.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Allow multiple inputs in alternative_input
Zwane Mwaikambo [Tue, 19 Oct 2004 01:11:08 +0000 (18:11 -0700)]
[PATCH] Allow multiple inputs in alternative_input

I had to use the following patch to allow multiple arguments to be passed
down to the asm stub for alternative_input whilst writing alternatives for
mwait code, it seems like a simple enough fix.

Signed-off-by: Zwane Mwaikambo <zwane@linuxpower.ca>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] pidhashing: enforce PID_MAX_LIMIT in sysctls
William Lee Irwin III [Tue, 19 Oct 2004 01:10:55 +0000 (18:10 -0700)]
[PATCH] pidhashing: enforce PID_MAX_LIMIT in sysctls

The pid_max sysctl doesn't enforce PID_MAX_LIMIT or sane lower bounds.
RESERVED_PIDS + 1 is the minimum pid_max that won't break alloc_pidmap(), and
PID_MAX_LIMIT may not be aligned to 8*PAGE_SIZE boundaries for unusual values
of PAGE_SIZE, so this also rounds up PID_MAX_LIMIT to it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] pidhashing: lower PID_MAX_LIMIT for 32-bit machines
William Lee Irwin III [Tue, 19 Oct 2004 01:10:43 +0000 (18:10 -0700)]
[PATCH] pidhashing: lower PID_MAX_LIMIT for 32-bit machines

/proc/ breaks when PID_MAX_LIMIT is elevated on 32-bit, so this patch lowers
it there.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] pidhashing: retain older vendor copyright
William Lee Irwin III [Tue, 19 Oct 2004 01:10:31 +0000 (18:10 -0700)]
[PATCH] pidhashing: retain older vendor copyright

I was informed that the vendor component of the copyright can't be clobbered
without more care, so this patch retains the older vendor, updating it only to
reflect the appropriate time period.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] pidhashing: rewrite alloc_pidmap()
William Lee Irwin III [Tue, 19 Oct 2004 01:10:19 +0000 (18:10 -0700)]
[PATCH] pidhashing: rewrite alloc_pidmap()

Rewrite alloc_pidmap() to clarify control flow by eliminating all usage of
goto, honor pid_max and first available pid after last_pid semantics, make
only a single pass over the used portion of the pid bitmap, and update
copyrights to reflect ongoing maintenance by Ingo and myself.

Signed-off-by: William Irwin <wli@holomorphy.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] no exec: i386 and x86_64 cleanups
Suresh B. Siddha [Tue, 19 Oct 2004 01:10:06 +0000 (18:10 -0700)]
[PATCH] no exec: i386 and x86_64 cleanups

Sync x86_64 noexec behaviour with i386.  And remove all the confusing
noexec related boot parameters.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Add VIDIOC_S_CTRL_OLD to matroxfb
Petr Vandrovec [Tue, 19 Oct 2004 01:09:53 +0000 (18:09 -0700)]
[PATCH] Add VIDIOC_S_CTRL_OLD to matroxfb

For several months I'm receiving complaints from matroxfb users that v4lctl
suddenly stops working for them on kernel upgrade.

Problem is that VIDIOC_S_CTRL was renumbered, but all distros still use old
VIDIOC_S_CTRL value (f.e.  even xawtv-3.94 in Debian unstable still uses
old VIDIOC_S_CTRL definition).

So let's add this old VIDIOC_S_CTRL value (now named VIDIOC_S_CTRL_OLD) to
matroxfb's v4l handling.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: trivial fb_get_options fix for cyber2000fb and bw2fb
Antonino Daplas [Tue, 19 Oct 2004 01:09:41 +0000 (18:09 -0700)]
[PATCH] fbdev: trivial fb_get_options fix for cyber2000fb and bw2fb

Trivial fb_get_options fix for
- cyber200fb
- bw2fb

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] FrameMaster II build fix
Geert Uytterhoeven [Tue, 19 Oct 2004 01:09:29 +0000 (18:09 -0700)]
[PATCH] FrameMaster II build fix

fm2fb: Trivial fix for the breakage introduced by the addition of
fb_get_options().

Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] rework radeonfb blanking
Benjamin Herrenschmidt [Tue, 19 Oct 2004 01:09:17 +0000 (18:09 -0700)]
[PATCH] rework radeonfb blanking

This patch cleans up some old cruft in the manipulation of the LVDS
interface registers and fixes the blanking code to work with various DVI
flat panels.

Since this is all very sensitive stuff, I'm posting the patch here for
testing before submitting it upstream, though Andrew is welcome to put it
in -mm.

It also fix some problems with getting the right PLL setup on recent Mac
laptops, replacing the old hard coded list of values with cleaner code that
"probes" the PLL setup done by the firmware.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Assorted matroxfb fixes
Petr Vandrovec [Tue, 19 Oct 2004 01:09:05 +0000 (18:09 -0700)]
[PATCH] Assorted matroxfb fixes

This small change does:

(1) Properly document 'outputs' option.

(2) Properly use accelerated characters drawing.  fbcon used depth == 0
    for character painting long ago, but it is fixed for several months.

(3) Provide correct hints for fbcon about matroxfb/matroxfb_crtc2
    hardware capabilities.

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Remove big-endian mode from matroxfb
Petr Vandrovec [Tue, 19 Oct 2004 01:08:53 +0000 (18:08 -0700)]
[PATCH] Remove big-endian mode from matroxfb

One of the PowerPC developers, Kostas Georgiou, pointed out to me
discussion back from 2001 that they would prefer little endian mode as
majority of users runs XF4.x and not Xpmac.  And apparently nobody runs
Xpmac now, so we can safely remove big-endian mode from matroxfb
completely.

  So let's simplify matroxfb a bit:

Accelerator and ILOAD fifo is now always in little endian mode.  This is
what XFree does.  Due to this change all #ifdefs based on endianness was
removed from driver - except one which selects framebuffer endinaness (but
there is no code in matroxfb which writes to framebuffer directly).

It seems that while I was not looking m68k got ioremap, and all
architectures now offer ioremap and ioremap_nocache.  Let's kill code which
mapped ioremap_nocache to ioremap, and ioremap to bus_to_virt for
architectures which did not provide them.

And this also fixes small typo - M_C2CTL should be 0x3C10 and not 0x3E10.
Apparently Matrox notes about need to program this register during
initialization are not so important...

Signed-off-by: Petr Vandrovec <vandrove@vc.cvut.cz>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: split vesafb option vram into vtotal and vremap
Antonino Daplas [Tue, 19 Oct 2004 01:08:40 +0000 (18:08 -0700)]
[PATCH] fbdev: split vesafb option vram into vtotal and vremap

From: Gerd Knorr <kraxel@bytesex.org>:

"IMHO the the only sane thing is to have two options for total + remapped
memory as well.  Otherwise we'll end up changing that back and forth like
it happened for the size calculation stuff for quite some time ...

The patch below does just that and also has the other vmode fix
(vmode = yres * linelength /* instead of yres * xres * depth >> 3 */)."

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: fix framebuffer memory calculation for vesafb
Antonino Daplas [Tue, 19 Oct 2004 01:08:28 +0000 (18:08 -0700)]
[PATCH] fbdev: fix framebuffer memory calculation for vesafb

- use vesafb_fix.line_length * vesafb_defined.yres to calculate the minimum
  memory required for a video mode. From Aurelien Jacobs <aurel@gnuage.org>.

- separately calculate the memory required for a video mode, memory to be
  remapped, and total memory (for MTRR). From Gerd Knorr
  <kraxel@bytesex.org>.

- the 'vram' option is for memory to be remapped, not total memory.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Fix EDID_INFO in zero-page
Venkatesh Pallipadi [Tue, 19 Oct 2004 01:08:16 +0000 (18:08 -0700)]
[PATCH] Fix EDID_INFO in zero-page

EDID_INFO is encroaching on the space meant for E820 map in zero-page.
This will result in E820 map corruption on any system that has more=20 than
18 E820 entries and CONFIG_VIDEO_SELECT.  Not sure how this bug=20 managed
to hide for more than a year.

Attached patch should fix the bug.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbcon unimap fix
Antonino Daplas [Tue, 19 Oct 2004 01:08:05 +0000 (18:08 -0700)]
[PATCH] fbcon unimap fix

fbcon doesn't set a unimap at boot time, so special characters come out
wrongly.

This is the code sequence in take_over_console().

newcon->startup()
oldcon->deinit()
newcon->init()

The previous console driver (ie, vgacon), via its deinit method, may release
the unimap allocated by fbcon in fbcon_startup. This is the reason why
calling con_set_default_unimap() in fbcon_init() works, but not in
fbcon_startup().

Check if the default display has an allocated unimap, and if it has none,
call con_set_default_unimap().  And if the target display has no allocated
unimap, then call con_copy_unimap(), where the source unimap is from the
default display.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] VGA console font problems on 2.6 kernel
Takashi Iwai [Tue, 19 Oct 2004 01:07:53 +0000 (18:07 -0700)]
[PATCH] VGA console font problems on 2.6 kernel

From: Egbert Eich <eich@suse.de>

I would like to utilize kernel ioctls to save/restore console fonts
in VGA text mode when running X. So far the Xserver takes care of this
however there more and more problems with this:
        1. On some platforms (IA64) we need to POST the BIOS before
   we even have a chance to access the hardware ourselves.
   This POSTing will usually undo any changes to the graphics
   hardware that the kernel may have done.
2. More and more drivers fully rely on BIOS support however
   the BIOS functions which could be used to save/restore
   register settings may be broken so the only way of mode
   save/restore is getting/setting the BIOS mode ID.

I've hacked up some code for X however I ran into two problems:

1. con_font_get() in linux/drivers/char/vt.c seems to be broken as
   the font parameters (height, width, charcount) are never reported
   back. Therefore this function seems to be pretty useless.
   The fix is simple (please see below).

2. fb consoles seem to allow to install fonts per vt so that the user
   can have a different font on every console. The text console driver
   doesn't support this: the font is downloaded to the video card
   and will be used for all systems. Still the vga_con driver stores
   the font parameters per console with the effect that setting a
   font with different parameters on one console will result in the
   wron values when this font information is read back from another
   console.
   Appearantly this broken feature has been introduced in 2.6 as
   in the 2.4 kernel the vga_con font information is stored in one
   single global variable.

The IA64 platform at least still heavily relies on the VGA text console.
To be able to fix some VT switching issues with X on this platform I
need these two issues resolved.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Add iomem annotations to vga16fb.c
Antonino Daplas [Tue, 19 Oct 2004 01:07:41 +0000 (18:07 -0700)]
[PATCH] fbdev: Add iomem annotations to vga16fb.c

Add iomem annotations to vga16fb.c

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Add iomem annotations to i810fb
Antonino Daplas [Tue, 19 Oct 2004 01:07:29 +0000 (18:07 -0700)]
[PATCH] fbdev: Add iomem annotations to i810fb

Add iomem annotations to i810fb.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Add iomem annotations to fbmem.c
Antonino Daplas [Tue, 19 Oct 2004 01:07:17 +0000 (18:07 -0700)]
[PATCH] fbdev: Add iomem annotations to fbmem.c

Add iomem annotations to fbmem.c

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Remove i810fb explicit agp initialization hack.
Andreas Henriksson [Tue, 19 Oct 2004 01:07:05 +0000 (18:07 -0700)]
[PATCH] fbdev: Remove i810fb explicit agp initialization hack.

When Antonino A.  Daplas posted his "fbdev: Initialize i810fb after
agpgart" patch he said that the ugly agp initialization hack for intel agp
shouldn't be needed but that he couldn't test it.

I have tested the framebuffer updates and additionally removed the
initialization hack and it does indeed work.

Signed-off-by: Andreas Henriksson <andreas@fjortis.info>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] radeonfb: Fix monitor probe logic
Benjamin Herrenschmidt [Tue, 19 Oct 2004 01:06:52 +0000 (18:06 -0700)]
[PATCH] radeonfb: Fix monitor probe logic

Fix a small logic error in the monitor probe code when nothing was found.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: fix scrolling corruption
Antonino Daplas [Tue, 19 Oct 2004 01:06:40 +0000 (18:06 -0700)]
[PATCH] fbdev: fix scrolling corruption

This patches fixes the following:

- scrolling corruption if scrolling mode is SCROLL_PAN_MOVE. This bug
  was introduced by the tile blitting patch.

- flashing cursor even when console is blanked

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Add Tile Blitting support
Antonino Daplas [Tue, 19 Oct 2004 01:06:28 +0000 (18:06 -0700)]
[PATCH] fbdev: Add Tile Blitting support

Hopefully, this patch fixes one last major regression for one particular
driver, namely matroxfb.  This drier has 2 versions, one for the kernel and
another as a '2.4 backport' patch.

This patch adds a tileblitting extension to fbcon.  This extension, in
summary, is basically a forward-port of the 2.4 fbdev/fbcon framework to 2.6
but without the fbcon dependency.  Tile blitting is similar to bitblit, except
that the basic unit is a tile (a bitmap of x-by-y dimensions).  The display,
instead of being described in terms of pixels and scanlines, are described as
a region further subdivided into rectangular sections.  In fbcon parlance, a
tile is a character.

Besides a possible fix for matroxfb, tileblitting can be advantageous for
hardware that supports some kind of fontcaching mechanism.  Also, in the
unlikely chance that the console begins supporting multicolored fonts,
tileblitting is probably more optimal than bitblitting because bitblitting
will need to push more data through the bus.

To enable support for this extension, a driver needs to:

- enable CONFIG_FB_TILEBLITTING
- set FBINFO_MISC_TILEBLITTING in info->flags
- set the required function pointers in struct fb_tileops.  The required
  operations are:

  - void (*fb_settile)(struct fb_info *info, struct fb_tilemap *map);

    tells driver about the tile characteristics (dimensions, bitdepth) and
    about the tilemap which is an array of bitmaps: display->fontdata

  - void (*fb_tilecopy)(struct fb_info *info, struct fb_tilearea *area);

    move a rectangular section of tiles (bmove)

  - void (*fb_tilefill)(struct fb_info *info, struct fb_tilerect *rect);

    fill a rectangular section with a tile (clear)

  - void (*fb_tileblit)(struct fb_info *info, struct fb_tileblit *blit);

    copy an array of tiles to a rectangular section (putcs)

  - void (*fb_tilecursor)(struct fb_info *info, struct fb_tilecursor *cursor);

    cursor function

Changes:

Addition of this extension necessitates cleanup of fbcon.c.  The basic drawing
functions in fbcon are bmove, clear, putcs and cursor (the fbcon_* set).  The
fbcon_* set are just wrappers to accel_* set.  However, usage is not
consistent, some functions call the fbcon_* set, others call the accel_* set.

With this patch, a new fbcon-specific structure (struct fbcon_ops) is created.
 Depending on the setting of the hardware, this struct contains pointers to
either the tileblitting set or the bitblitting set (formerly the accel_* set).
 The tileblitting set is new in this patch.

The vast majority of functions in fbcon will need to only call the fbcon_*
set.  In turn, it calls functions in struct fbcon_ops.  Knowledge of the
blitting type is not required.

The accel_* set is renamed to bit_* and is moved into a separate file,
bitblit.c.  The tile blitting set is in tileblit.c.

In my case at least, the cleanup did produce an unexpected but beneficial
side effect, a little more speedup.  Not much, < 5%.

Petr, if you have comments, suggestions, or you think this is a bad idea,
let me know.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: Pass struct device to class_simple_device_add
Antonino Daplas [Tue, 19 Oct 2004 01:06:15 +0000 (18:06 -0700)]
[PATCH] fbdev: Pass struct device to class_simple_device_add

Swsusp turns off the display when a power-management-enabled framebuffer
driver is used.  According to Nigel Cunningham <ncunningham@linuxmail.org>,
the fix may involve the following:

"...I thought the best approach would be to use device classes to find the
struct dev for the frame buffer driver, and then use the same code I use for
storage devices to avoid suspending the frame buffer until later..."

Changes:

- pass info->device to class_simple_device_add()
- add struct device *device to struct fb_info
- store struct device in framebuffer_alloc()
- for drivers not using framebuffer_alloc(), store the struct during
  initalization
- port i810fb and rivafb to use framebuffer_alloc()

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbcon: Fix setup boot options of fbcon
Antonino Daplas [Tue, 19 Oct 2004 01:06:02 +0000 (18:06 -0700)]
[PATCH] fbcon: Fix setup boot options of fbcon

This patch fixes the 'fbcon=map:<option>" of fbcon.  (This option has been
present since 2.4, but got broken in 2.6). This particular option tells
fbcon what framebuffer device gets mapped to what console. Syntax is:

fbcon=map:abcd...

where a, b, c, d,... are framebuffer numbers as it would
appear in /proc/fb.

Given only 2 valid fbdevs, 0 and 1, if fbcon=map:0110, then:

tty1 = fb0
tty2 = fb1
tty3 = fb1
tty4 = fb0
(sequence repeats for the rest of the consoles)

If an invalid framebuffer is used, then the console will be mapped to the
first user-chosen framebuffer.  Ie: fbcon=map:102

tty1 = fb1
tty2 = fb0
tty3 = fb1 <

21 years ago[PATCH] fbdev: fix logo drawing failure for vga16fb
Antonino Daplas [Tue, 19 Oct 2004 01:05:50 +0000 (18:05 -0700)]
[PATCH] fbdev: fix logo drawing failure for vga16fb

This fixes the logo failing to draw in vga16fb due to faulty boolean logic.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] fbdev: remove unnecessary banshee_wait_idle from tdfxfb
Antonino Daplas [Tue, 19 Oct 2004 01:05:38 +0000 (18:05 -0700)]
[PATCH] fbdev: remove unnecessary banshee_wait_idle from tdfxfb

- This patch removes the unnecessary call to banshee_wait_idle() from
  tdfxfb_copyarea, imageblit and fillrect.  Removal of the sync will garner
  an additional ~20% in scrolling speed.

- Removes "inverse" which generates a compile warning if modular.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] Adjust alignment of pagevec structure
Marcelo Tosatti [Tue, 19 Oct 2004 01:05:25 +0000 (18:05 -0700)]
[PATCH] Adjust alignment of pagevec structure

We can shrink the pagevec structure to cacheline align it.  It is used all
over VM reclaiming and mpage pagecache read code.

Right now it is 140 bytes on 64-bit and 72 bytes on 32-bit.  Thats just a
little bit more than a power of 2 (which will cacheline align), so shrink
it to be aligned: 64 bytes on 32bit and 124bytes on 64-bit.

It now occupies two cachelines most of the time instead of three.

I changed nr and cold to "unsigned short" because they'll never reach 2 ^ 16.

Did some reaim benchmarking on 4way PIII (32byte cacheline), with 512MB RAM:

#### stock 2.6.9-rc1-mm4 ####

Peak load Test: Maximum Jobs per Minute 4144.44 (average of 3 runs)
Quick Convergence Test: Maximum Jobs per Minute 4007.86 (average of 3 runs)

Peak load Test: Maximum Jobs per Minute 4207.48 (average of 3 runs)
Quick Convergence Test: Maximum Jobs per Minute 3999.28 (average of 3 runs)

#### shrink-pagevec #####

Peak load Test: Maximum Jobs per Minute 4717.88 (average of 3 runs)
Quick Convergence Test: Maximum Jobs per Minute 4360.59 (average of 3 runs)

Peak load Test: Maximum Jobs per Minute 4493.18 (average of 3 runs)
Quick Convergence Test: Maximum Jobs per Minute 4327.77 (average of 3 runs)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] generic acl support for ->permission
Christoph Hellwig [Tue, 19 Oct 2004 01:05:13 +0000 (18:05 -0700)]
[PATCH] generic acl support for ->permission

Currently we every filesystem with Posix ACLs has it's own reimplemtation
of the generic permission checking code with additonal ACL support.  This
patch

- adds an optional callback to vfs_permission that filesystems can use
  for ACL support (and renames it to generic_permission because the old
  name was wrong - it wasn't like the other vfs_* functions at all)

- uses it in ext2, ext3 and jfs.  XFS will follow a little later as it's
  permission checking is burried under several layers of abstraction.

From: Dave Kleikamp <shaggy@austin.ibm.com>

  jfs doesn't currently set MS_POSIXACL (it doesn't require the acl mount
  option), so this test would fail here.  The patch below will set it.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] remove set_fs_root/set_fs_pwd
Christoph Hellwig [Tue, 19 Oct 2004 01:05:00 +0000 (18:05 -0700)]
[PATCH] remove set_fs_root/set_fs_pwd

Not exactly something we want modules to mess around with.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] remove wake_up_all_sync
Christoph Hellwig [Tue, 19 Oct 2004 01:04:48 +0000 (18:04 -0700)]
[PATCH] remove wake_up_all_sync

no user in sight

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] unexport lookup_create
Christoph Hellwig [Tue, 19 Oct 2004 01:04:36 +0000 (18:04 -0700)]
[PATCH] unexport lookup_create

Besides namei.c it's only used in the SN2 hwgraph code which can't be
modular (and will be removed soon)

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] unexport f_delown
Christoph Hellwig [Tue, 19 Oct 2004 01:04:24 +0000 (18:04 -0700)]
[PATCH] unexport f_delown

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] unexport files_lock and put_filp
Christoph Hellwig [Tue, 19 Oct 2004 01:04:12 +0000 (18:04 -0700)]
[PATCH] unexport files_lock and put_filp

Rather lowlevel functions that modules shouldn't mess with and fortunately
currently don't.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
21 years ago[PATCH] unexport exit_mm
Christoph Hellwig [Tue, 19 Oct 2004 01:04:00 +0000 (18:04 -0700)]
[PATCH] unexport exit_mm

Not exactly a thing we want done from modules, and no module uses it
anyway.

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