Commit graph

15,354 commits

Author SHA1 Message Date
Christoph Lameter
dc86e88c2b [IA64] Add __read_mostly support for IA64
sparc64, i386 and x86_64 have support for a special data section dedicated
to rarely updated data that is frequently read. The section was created to
avoid false sharing of those rarely read data with frequently written kernel
data.

This patch creates such a data section for ia64 and will group rarely written
data into this section.

Signed-off-by: Christoph Lameter <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
2005-12-16 10:52:46 -08:00
d5bf3165b6 [IA64-SGI] change default_sn2 to NR_CPUS==1024
Change the NR_CPUS default for ia64/sn up to 1024.

Signed-off-by: John Hawkes <[email protected]>
Signed-off-by: John Hesterberg <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
2005-12-16 10:51:29 -08:00
Jack Steiner
d74700e604 [IA64-SGI] Missed TLB flush
I see why the problem exists only on SN. SN uses a different hardware
mechanism to purge TLB entries across nodes.

It looks like there is a bug in the SN TLB flushing code. During context switch,
kernel threads inherit the mm of the task that was previously running on the
cpu. This confuses the code in sn2_global_tlb_purge().

The result is a missed TLB purge for the task that owns the "borrowed" mm.

(I hit the problem running heavy stress where kswapd was purging code pages of
a user task that woke kswapd. The user task took a SIGILL fault trying to
execute code in the page that had been ripped out from underneath it).

Signed-off-by: Jack Steiner <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
2005-12-16 10:46:25 -08:00
Jes Sorensen
3bd7f01713 [IA64] uncached ref count leak
Use raw_smp_processor_id() instead of get_cpu() as we don't need the
extra features of get_cpu().

Signed-off-by: Jes Sorensen <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
2005-12-16 10:29:52 -08:00
Linus Torvalds
4d7672b462 Make sure we copy pages inserted with "vm_insert_page()" on fork
The logic that decides that a fork() might be able to avoid copying a VM
area when it can be re-created by page faults didn't know about the new
vm_insert_page() case.

Also make some things a bit more anal wrt VM_PFNMAP.

Pointed out by Hugh Dickins <[email protected]>

Signed-off-by: Linus Torvalds <[email protected]>
2005-12-16 10:21:23 -08:00
John Hawkes
f5899b5d4f [IA64] disable preemption in udelay()
The udelay() inline for ia64 uses the ITC.  If CONFIG_PREEMPT is enabled
and the platform has unsynchronized ITCs and the calling task migrates
to another CPU while doing the udelay loop, then the effective delay may
be too short or very, very long.

This patch disables preemption around 100 usec chunks of the overall
desired udelay time.  This minimizes preemption-holdoffs.

udelay() is now too big to be inline, move it out of line and export it.

Signed-off-by: John Hawkes <[email protected]>
Signed-off-by: Tony Luck <[email protected]>
2005-12-16 10:00:24 -08:00
Benjamin Herrenschmidt
281ab031a8 [PATCH] radeon drm: fix agp aperture map offset
This finally fixes the radeon memory mapping bug that was incorrectly
fixed by the previous patch.  This time, we use the actual vram size as
the size to calculate how far to move the AGP aperture from the
framebuffer in card's memory space.

If there are still issues with this patch, they are due to bugs in the X
driver that I'm working on fixing too.

Signed-off-by: Benjamin Herrenschmidt <[email protected]>
Cc: Mark M. Hoffman <[email protected]>
Cc: Paul Mackerras <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 22:22:57 -08:00
42e33148df [SCSI] fix for fc transport recursion problem.
In the scenario that a link was broken, the devloss timer for each
rport was expire at roughly the same time, causing lots of "delete"
workqueue items being queued. Depth is dependent upon the number of
rports that were on the link.

The rport target remove calls were calling flush_scheduled_work(),
which would interrupt the stream, and start the next workqueue item,
which did the same thing, and so on until recursion depth was large.

This fix stops the recursion in the initial delete path, and pushes it
off to a host-level work item that reaps the dead rports.

Signed-off-by: James Bottomley <[email protected]>
2005-12-15 19:22:14 -08:00
Sergei Shtylylov
7b6666530e [PATCH] Au1550 AC'97 OSS driver spinlock fixes
We have found some issues with Au1550 AC'97 OSS driver in 2.6
(sound/oss/au1550_ac97.c), though it also should concern 2.4 driver
(drivers/sound/au1550_psc.c).

start_dac() grabs a spinlock already held by its caller, au1550_write().
This doesn't show up with the standard UP spinlock impelmentation but when
the different one (mutex based) is in use, a lockup happens.

And the interrupt handlers also didn't grab the spinlock -- that's OK in
the usual kernel but not when the IRQ handlers are threaded.  So, they're
grabbing the spinlock now (as every correct interrupt handler should do).

Signed-off-by: Konstantin Baidarov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 14:22:45 -08:00
Adrian Bunk
2f40fb72a2 [PATCH] drivers/base/memory.c: unexport the static (sic) memory_sysdev_class
We can't export a static struct to modules.

Signed-off-by: Adrian Bunk <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 14:22:45 -08:00
Paolo Galtieri
7767e126ca [PATCH] IPMI oops fix
While doing some testing I discovered that if the BIOS on a board does not
properly setup the DMI information it leads to a panic in the IPMI code.

The panic is due to dereferencing a pointer which is not initialized.  The
pointer is initialized in port_setup() and/or mem_setup() and used in
init_one_smi() and cleanup_one_si(), however if either port_setup() or
mem_setup() return ENODEV the pointer does not get initialized.

Signed-off-by: Paolo Galtieri <[email protected]>
Acked-by: Corey Minyard <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 14:22:45 -08:00
Len Brown
5b2db367a2 Auto-update from upstream 2005-12-15 13:15:27 -05:00
Al Viro
ebbd1bce79 [PATCH] arch/powerpc/kernel/syscalls.c __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
81f0a91e8f [PATCH] drivers/input/misc/wistron_btns.c NULL noise removal
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
833882b452 [PATCH] mwave: missing __user in ioctl struct declaration
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
7877327d9c [PATCH] drivers/atm/adummy.c NULL noise removal
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
e17f008bbe [PATCH] arch/alpha/kernel/machvec_impl.h: C99 struct initializer
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
94299171dd [PATCH] dst_ca __user annotations, portability fixes
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
b3e5b5b227 [PATCH] ia64 sn __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
d3a880e1ff [PATCH] Address of void __user * is void __user * *, not void * __user *
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:31 -08:00
Al Viro
78d9955bb0 [PATCH] missing prototype (mm/page_alloc.c)
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
538bacf8a4 [PATCH] __user annotations (booke_wdt.c)
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
d22043940e [PATCH] arcfb __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
cd0306656c [PATCH] cyber2000fb.c __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
e896fd9861 [PATCH] wdrtas.c: fix __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
5ad9201be7 [PATCH] dell_rbu: NULL noise removal
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
c4aa02eb39 [PATCH] cm4000_cs: __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
b16b88e55d [PATCH] i386,amd64: ioremap.c __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
8b8a4e33e4 [PATCH] i386,amd64: mmconfig __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:30 -08:00
Al Viro
8bcc247617 [PATCH] em28xx: %zd for size_t
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:29 -08:00
Al Viro
53b3de1ea2 [PATCH] auerswald.c: %zd for size_t
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:29 -08:00
Al Viro
37eb47ed44 [PATCH] s2io: __iomem annotations for recent changes
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:29 -08:00
Al Viro
51bfb75b0b [PATCH] xfs: missing gfp_t annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:29 -08:00
Al Viro
b53cb2a4ab [PATCH] iscsi gfp_t annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:04:29 -08:00
Al Viro
80ce8baf5d [PATCH] arch/sparc/kernel/led.c __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:29 -08:00
Al Viro
a32972965e [PATCH] sun4c_memerr_reg __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:29 -08:00
Al Viro
e4fe342f93 [PATCH] sparc: NULL noise removal (ebus.c)
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Al Viro
c316ef0494 [PATCH] sparc/kernel/time: __iomem annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Al Viro
fec607fff9 [PATCH] sbus/char/uctrl: missing prototypes and NULL noise removal
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Al Viro
bc05d83bbf [PATCH] sparc: jsflash __user annotations
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Al Viro
b7c690b52f [PATCH] sparc: vfc __iomem annotations and fixes
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Al Viro
f8ad23a401 [PATCH] fix iomem annotations in sparc32 pcic code
Signed-off-by: Al Viro <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-15 10:01:28 -08:00
Linus Torvalds
7116317dc9 Merge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6 2005-12-14 18:58:46 -08:00
Jeff Mahoney
2499604960 [PATCH] reiserfs: close open transactions on error path
The following patch fixes a bug where if the journal is aborted, it can
leave a transaction open.  The result will be a BUG when another code
path attempts to start a transaction and will get a "nesting into
different fs" error, since current->journal_info will be left non-NULL.

Original fix against SUSE kernel by Chris Mason <[email protected]>

Signed-off-by: Jeff Mahoney <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-14 18:56:08 -08:00
Jeff Mahoney
5d5e815618 [PATCH] reiserfs: skip commit on io error
This should have been part of the original io error patch, but got
dropped somewhere along the way.

It's extremely important when handling the i/o error in the journal to
not commit the transaction with corrupt data.  This patch adds that code
back in.

Signed-off-by: Jeff Mahoney <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-14 18:56:07 -08:00
Vojtech Pavlik
ea54c96c04 [PATCH] Input: ALPS - correctly report button presses on Fujitsu Siemens S6010
Without this patch Forward and Backward buttons on the touchpad do not
generate any events.

Signed-off-by: Dmitry Torokhov <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
2005-12-14 18:54:20 -08:00
Linus Torvalds
c45b4f1f1e Move size optimization option outside of EMBEDDED menu, mark it EXPERIMENTAL
Also, disable on sparc64 - a number of people report breakage.  Probably
a compiler bug, but it's quite possible that it tickles some latent
kernel problem too.

It still defaults to 'y' everywhere else (when enabled through
EXPERIMENTAL), and Dave Jones points out that Fedora (and RHEL4) has
been building with size optimizations for a long time on x86, x86-64,
ia64, s390, s390x, ppc32 and ppc64.  So it is really only moderately
experimental, but the sparc64 breakage certainly shows that it can
trigger "issues".

Signed-off-by: Linus Torvalds <[email protected]>
2005-12-14 18:52:21 -08:00
Linus Torvalds
11c18b5cb3 Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2005-12-14 18:46:41 -08:00
Linus Torvalds
a50e2cc7c8 Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6 2005-12-14 18:40:02 -08:00
Bartlomiej Zolnierkiewicz
0afaa4fc4a [PATCH] ide-cd: remove write-only cmd field from struct cdrom_info
Signed-off-by: Bartlomiej Zolnierkiewicz <[email protected]>
2005-12-15 02:20:49 +01:00