Andrew Morton [Mon, 14 Jun 2004 06:16:49 +0000 (23:16 -0700)]
[PATCH] ppc64: fix out_be64
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Patch fixes out_be64 implementation on ppc64 along with a glich in out_be32
(inconsistent) use of barrier.
Signed-off-by: Roland Dreier <roland@topspin.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org>
Andrew Morton [Mon, 14 Jun 2004 06:16:27 +0000 (23:16 -0700)]
[PATCH] Fix nfs writepage behaviour
From: Nick Piggin <nickpiggin@yahoo.com.au>
nfs_writepage() refuses to write back mapped pages at all on the page
reclaim path, causing systems to get locked up when there's a lot of dirty
mmapped data around. The patch changes NFS so that it will start I/O
against these pages.
The code as it stands is designed to defer writeout to pdflush which can do
larger, more efficient I/Os. But there shouldn't be much traffic by this
path, and going slow is better than not going at all.
Andi Kleen [Mon, 14 Jun 2004 06:06:51 +0000 (23:06 -0700)]
[PATCH] Fix x86-64 VIA systems with IOMMU debug
VIA chipsets are broken and don't work with IOMMU enabled. For some mysterious
reason (the IOMMU logic is actually in the CPU) they manage to corrupt all
data going through the aperture to PCI devices.
There was a workaround previously that enabled the slower softmmu when VIA is
detected on the normal IOMMU path (when there is more than 3GB of memory). But
CONFIG_IOMMU_DEBUG took a short cut that was not handled, which ended up with
VIA systems not booting when this option is enabled.
This patch enables the workaround with CONFIG_IOMMU_DEBUG/iommu=force too
Ben Collins [Sun, 13 Jun 2004 06:11:37 +0000 (02:11 -0400)]
ieee1394: CSR1212 Extended ROM bug fixes
- Use vmalloc instead of kmalloc
- Change delayed_reset_bus() to operate in a work_queue instead of a timer
interrupt.
- Fix hpsb_allocate_and_register_addrspace() to not allocate space on top
of already allocated space.
- Fix problems in csr1212.c filling ConfigROM images when extend ROMs are
present.
Signed-off-by: Steve Kinneberg <kberg@linux1394.org> Signed-off-by: Ben Collins <bcollins@debian.org>
Kenneth W. Chen [Sat, 12 Jun 2004 23:49:20 +0000 (16:49 -0700)]
[PATCH] ia64: fix race in fsys_bubble_down to avoid fp-register corruption
The fast system-call fall-back-path has a race: it reads PSR, modifies
some bits, then writes back the new PSR. Unfortunately, the contents
of PSR may change between reading and writing it. For example, an
interrupt could occur which could trigger a context-switch. The
context-switch might in turn flush the floating-point-high (FPH)
partition to memory, clear PSR.MFH, and set PSR.DFH. To prevent this
race, the patch below turns off PSR.I before reading PSR.
This fixes a floating-point corruption problem that was observed on a
system with a libc which has the fast system-call support enabled.
The performance impact is minimal (on the order of a handful of cycles).
Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Ken Chen <kenneth.w.chen@intel.com> Signed-off-by: Asit Mallick <asit.k.mallick@intel.com> Signed-off-by: David Mosberger <davidm@hpl.hp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:45:58 +0000 (16:45 -0700)]
[PATCH] ramdisk: buffer_uptodate fix
I waffled over this for ages. On balance, I think it's best to mark those
bh's as uptodate.
And on reflection, I'm not sure why we go bringing ramdisk blockdev pages
uptodate all over the place anyway. But ramdisk is weird and it passes
testing. Let those dogs sleep.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:45:44 +0000 (16:45 -0700)]
[PATCH] sparse fix for void return in selinux/hooks.c
From: Chris Wright <chrisw@osdl.org>
CHECK security/selinux/hooks.c
security/selinux/hooks.c:1383:34: warning: return expression in void function
security/selinux/hooks.c:3548:30: warning: return expression in void function
CC security/selinux/hooks.o
From: Mika Kukkonen <mika@osdl.org> Signed-off-by: Chris Wright <chrisw@osdl.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:44:32 +0000 (16:44 -0700)]
[PATCH] s390: cleanup string functions
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cleanup s390* string functions. This replaces the 31/64 bit assembler
files (strcmp[64].S, strcpy[64].S & strncpy[64].S) with a single string.c
file that uses some inline assemblies to issue the string instructions. In
addition some more of the generic string function got an architecture
dependent implementation.
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>
Andrew Morton [Sat, 12 Jun 2004 23:44:00 +0000 (16:44 -0700)]
[PATCH] s390: simplify single stepped svc code
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
From: Martin Schwidefsky <schwidefsky@de.ibm.com>
Introduce a TIF_SINGLE_STEP bit that causes do_debugger_trap to get called
at the end of a system call. This way some code duplication in the program
check handler can get removed.
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>
Andrew Morton [Sat, 12 Jun 2004 23:42:15 +0000 (16:42 -0700)]
[PATCH] dup_mmap() memory accounting fix
From: Hugh Dickins <hugh@veritas.com>
Oleg's patch was good in that exit_mmap usually does the un-accounting; but
dup_mmap still needs its own un-accounting for the case when it has charged
for a vma, but error before it's inserted into child mm's list.
Andrew Morton [Sat, 12 Jun 2004 23:41:17 +0000 (16:41 -0700)]
[PATCH] fix modprobe_path and hotplug_path sizes and sysctl
From: Andy Whitcroft <apw@shadowen.org>
Both modprobe_path and hotplug_path are arbitrarily sized at 256 bytes and
that size is also expressed directly in the sysctl code. It seems
reasonable to define a standard length and use that for consitancy. This
patch introduces the constant KMOD_PATH_LEN and uses that.
Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:41:03 +0000 (16:41 -0700)]
[PATCH] Update Documentation/filesystems/Locking
From: Anton Altaparmakov <aia21@cam.ac.uk>
A filesystem's ->writepage() implementation nowadays must run either
redirty_page_for_writepage() or the combination of set_page_writeback()/
end_page_writeback(). Failure to do so leaves the page itself marked clean
but it is tagged as dirty in the radix tree (PAGECACHE_TAG_DIRTY). This
incoherency can lead to all sorts of hard-to-debug problems in the
filesystem like having dirty inodes at umount and losing written data.
The patch updates Documentation/filesystems/Locking to reflect this
requirement.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:39:25 +0000 (16:39 -0700)]
[PATCH] vmscan: try harder for GFP_NOFS allocators
Page reclaim bales out very early if reclaim isn't working out for !__GFP_FS
allocation attempts.
It was a fairly arbitrary thing in the first place and chances are the caller
will simply retry the allocation or will do something which is disruptive to
userspace. So remove that code and do much more scanning.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:39:11 +0000 (16:39 -0700)]
[PATCH] vmscan: handle synchronous writepage()
Teach page reclaim to understand synchronous ->writepage implementations.
If ->writepage completed I/O prior to returning we can proceed to reclaim the
page without giving it another trip around the LRU.
This is beneficial for ramdisk-backed S_ISREG files: we can reclaim the file's
pages as fast as the ramdisk driver needs to allocate them and this prevents
I/O errors due to OOM in rd_blkdev_pagecache_IO().
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:38:26 +0000 (16:38 -0700)]
[PATCH] Voyager doesn't support MCE
From: William Lee Irwin III <wli@holomorphy.com>
Voyager doesn't compile any of the APIC or IO-APIC -related code in
arch/i386/kernel/ at all -- so it's a logical impossibility that this could
ever work.
Cc: James Bottomley <James.Bottomley@SteelEye.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Andrew Morton [Sat, 12 Jun 2004 23:38:11 +0000 (16:38 -0700)]
[PATCH] numaq mempolicy.c build fix
From: William Lee Irwin III <wli@holomorphy.com>
mm/mempolicy.c: In function `verify_pages':
mm/mempolicy.c:246: warning: implicit declaration of function `kmap_atomic'
mm/mempolicy.c:249: warning: implicit declaration of function `kunmap_atomic'
pte_offset_map() invokes kmap_atomic() via macro, without including the
required header.
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Tony Lindgren [Sat, 12 Jun 2004 22:11:28 +0000 (23:11 +0100)]
[ARM PATCH] 1908/1: Remove old OMAP header files
Patch from Tony Lindgren
This patch removes the following old files that have been renamed:
include/asm-arm/arch-omap/omap-h2.h
include/asm-arm/arch-omap/omap-innovator.h
include/asm-arm/arch-omap/omap-perseus2.h
Andrew Zabolotny [Sat, 12 Jun 2004 21:31:57 +0000 (22:31 +0100)]
[ARM PATCH] 1925/1: ARM 'System Type' kernel config menu cleanup
Patch from Andrew Zabolotny
This patch makes architecture-specific submenus under
"System Type" visible only if the corresponding architecture
is selected via the "ARM System Type" menu. Also comments
out IDE_POLL in mach-lh7a40x/Kconfig since it is undefined
and causes warnings during make menuconfig.
This patch syncs the mainline kernel with the linux-omap tree.
The highlights of the patch are:
- Register name clean-up. Mostly removes _REG from register names
and replace OMAP1510P1 with OMAP1510. Also moves IO macros
from hardware.h to io.h (Dirk Behme)
- Add DMA framebuffer hardware acceleration features (Imre Deak)
- Fix GPIO code not to do unnecessary address translations
between physical and virtual addresses (Juha Yrjölä)
- Misc updates, such as OMAP gpio export fixes, additional
multiplexing settings, include mach-types.h only where needed,
show OMAP revision early during boot
This patch syncs the mainline kernel with the linux-omap tree.
The highlights of the patch are:
- Register name clean-up. Mostly removes _REG from register names
and replace OMAP1510P1 with OMAP1510. Also moves IO macros
from hardware.h to io.h (Dirk Behme)
- Add DMA framebuffer hardware acceleration features (Imre Deak)
- Fix GPIO code not to do unnecessary address translations
between physical and virtual addresses (Juha Yrjölä)
- Misc updates, such as OMAP gpio export fixes, additional
multiplexing settings, include mach-types.h only where needed,
show OMAP revision early during boot
Russell King [Sat, 12 Jun 2004 21:13:21 +0000 (22:13 +0100)]
[ARM] Update ARM memory layout documentation.
This updates the memory layout documentation to indicate that certain
areas should remain unused. It also corrects a few minor errors with
region end addresses.
Linus Torvalds [Sat, 12 Jun 2004 12:29:44 +0000 (05:29 -0700)]
sparse cleanup of #include file
sparse tokenizes everything. Including #include
directives. Which means that it doesn't want to
see "//" in a include filename, since that's a
comment outside of a string.
Linus Torvalds [Sat, 12 Jun 2004 12:12:31 +0000 (05:12 -0700)]
Fix x86 "clear_cpu()" macro.
We need to clear all exceptions before synchronizing
with the FPU, since we aren't ready to handle a FP
exception here and we're getting rid of all FP state.
Special thanks to Alexander Nyberg for reports and
testing. Alternate patches by Sergey Vlasov and Andi
Kleen, who both worked on this.
David S. Miller [Sat, 12 Jun 2004 04:22:24 +0000 (21:22 -0700)]
[TG3]: Chip support update and a power-save bug fix.
1) Add PCI IDs and driver entries for 5789, 5751M and
5751F chips. Mark 5751F chips as 10/100 only.
2) Call pci_restore_state() at beginning of tg3_resume() as
this helps some chips come out of D3 more cleanly.
Use it to release protocol specific objects that may be
tied to a dst cache object, at ifdown time. Currently
this is used to release ipv4/ipv6 specific device state.
Dave Jones [Fri, 11 Jun 2004 19:50:39 +0000 (20:50 +0100)]
[CPUFREQ] speedstep-ich: SMT/HT support, fix for notify change
Propagate the notify moving to speedstep-ich, and add SMT (HT)
awareness to the speedstep-ich.
Patch was written in very large parts by Christian Hoelbling.
Signed-off-by: Dominik Brodowski <linux@brodo.de> Signed-off-by: Dave Jones <davej@redhat.com>
Dave Jones [Thu, 10 Jun 2004 23:48:57 +0000 (00:48 +0100)]
[CPUFREQ] Fix cpufreq on ARM
cpufreq doesn't appear to initialise on ARM - cpufreq_register_driver()
fails with -ENODEV.
This appears to be because we register cpus at subsys_initcall() time,
and cpufreq drivers at arch_initcall() time. We need cpufreq up and
running before any drivers are initialised since their timings depend
on the CPU clock rate.
The following patch appears to fix these problems.
From: Russell King Signed-off-by: Dave Jones <davej@redhat.com>
Dave Jones [Thu, 10 Jun 2004 23:43:29 +0000 (00:43 +0100)]
[CPUFREQ] Limit return value of speedstep_get_state()
Looking around speedstep-smi, there is a lot of call to
speedstep_get_state() which is used as an index for the array
speedstep_freqs. But speedstep_get_state() will return the value of ebx
after a call to a SMI handler. It's not safe IMHO.
From: Bruno Ducrot Signed-off-by: Dave Jones <davej@redhat.com>
Dave Jones [Thu, 10 Jun 2004 23:36:43 +0000 (00:36 +0100)]
[CPUFREQ] powernow-k8: preempt fix
Pavel's fix for preempt in the suspend scenario.
The driver protects itself from multiple entry already, and it does not care if
there is a long delay in the middle of a multi-step transition, so there
really is no need for it to disable preempt.
I was trying to fix this hotplug force migration issue in
cpu/cpufreq/acpi.c. As you suggested, it made more sense to do this in
cpufreq.c, so that we need not do this in multiple low level drivers.
How does this simple patch look. Beyond this, we may have to change some
documentation, to tell to all low level drivers that they can assume
hotplug lock will be taken, when they are in the target() routine.