OSDN Git Service
David S. Miller [Thu, 28 Apr 2005 18:33:20 +0000 (11:33 -0700)]
[TG3]: Set SA_SAMPLE_RANDOM in request_irq() calls.
Signed-off-by: David S. Miller <davem@davemloft.net>
Christoph Lameter [Thu, 28 Apr 2005 15:13:58 +0000 (08:13 -0700)]
[PATCH] time interpolator: Fix settimeofday inaccuracy
settimeofday will set the time a little bit too early on systems using
time interpolation since it subtracts the current interpolator offset
from the time. This used to be necessary with the code in 2.6.9 and earlier
but the new code resets the time interpolator after setting the time.
Thus the time is set too early and gettimeofday will return a time slightly
before the time specified with settimeofday if invoked immeditely after
settimeofday.
This removes the obsolete subtraction of the time interpolator offset
and makes settimeofday set the time accurately.
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Benjamin Herrenschmidt [Thu, 28 Apr 2005 01:04:45 +0000 (18:04 -0700)]
[PATCH] ppc64: Fix return value of some vDSO calls
The ppc vDSO would not properly clear the return value for some calls,
which will be a problem when interfacing those calls with glibc. This
should be fixed before 2.6.12 is released (as it is the first kernel
with the ppc vDSO) so that we don't have to play with symbol versioning
and ugly workarounds.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
David Howells [Wed, 27 Apr 2005 22:39:03 +0000 (15:39 -0700)]
[PATCH] NFS4: Don't use __user with compat_uptr_t
The attached patch removes __user from compat_uptr_t types in the NFS4 mount
32-bit->64-bit compatibility structures.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Wed, 27 Apr 2005 17:05:42 +0000 (10:05 -0700)]
Merge ... /linux/kernel/git/aegl/linux-2.6.git
Marcelo Tosatti [Tue, 26 Apr 2005 20:09:35 +0000 (13:09 -0700)]
[PATCH] PC300 pci_enable_device fix
Call pci_enable_device() before looking at IRQ and resources,
and pci_disable_device() when shutting the interface down.
The driver requires this fix or the "pci=routeirq" workaround
on 2.6.10 and later kernels.
Reported and tested by Artur Lipowski.
From: Bjorn Helgaas <bjorn.helgaas@hp.com>
Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 18:26:53 +0000 (11:26 -0700)]
[PATCH] ppc64: trivial user annotations
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 18:26:53 +0000 (11:26 -0700)]
[PATCH] size_t portability fixes - drivers/usb
size_t is zu, ssize_t is zd...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Martin Hicks [Tue, 26 Apr 2005 16:04:31 +0000 (09:04 -0700)]
[IA64] re-enable preempt before page allocation for pgtable quicklist
This is a fix to the pgtable_quicklist code. There is a GFP_KERNEL
allocation in pgtable_quicklist_alloc(), which spews the usual warnings
if the kernel is under heavy VM pressure and the reclaim code is
invoked. re-enable preempt before we allocate the new page.
This patch is against 2.6.12-rc2-mm2
Signed-off-by: Martin Hicks <mort@sgi.com>
Signed-off-by: Tony Luck <tony.luckintel.com>
Linus Torvalds [Tue, 26 Apr 2005 16:02:40 +0000 (09:02 -0700)]
Merge ... /home/rmk/linux-2.6-serial.git
Linus Torvalds [Tue, 26 Apr 2005 15:58:22 +0000 (08:58 -0700)]
Merge ... kernel.org:/home/rmk/linux-2.6-rmk.git
Al Viro [Tue, 26 Apr 2005 14:43:43 +0000 (07:43 -0700)]
[PATCH] qla trivial iomem annotation
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:42 +0000 (07:43 -0700)]
[PATCH] oprofile trivial user annotations
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:42 +0000 (07:43 -0700)]
[PATCH] amd64 rt_sigframe user annotation
->pretcode in struct rt_sigframe is a userland pointer (and already
treated as such by code using that field).
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:42 +0000 (07:43 -0700)]
[PATCH] drivers/scsi NULL noise removal
NULL noise in sbus scsi drivers got missed
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:42 +0000 (07:43 -0700)]
[PATCH] imsttfb missing iomem annotations
write_reg_le32() and read_reg_le32() expect iomem pointers...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:41 +0000 (07:43 -0700)]
[PATCH] ppc-opc NULL noise removal
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:41 +0000 (07:43 -0700)]
[PATCH] savagefb iomem annotations
trivial iomem annotations + memset() replaced with memset_io() in a
place that deals with ioremapped area.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:41 +0000 (07:43 -0700)]
[PATCH] pegasus NULL noise removal
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:41 +0000 (07:43 -0700)]
[PATCH] tpm 64bit fixes (size_t)
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 14:43:40 +0000 (07:43 -0700)]
[PATCH] fix SND_POWERMAC dependencies
This beast is pmac-only; moreover, it won't build on other
subarchitectures.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Russell King [Tue, 26 Apr 2005 14:37:45 +0000 (15:37 +0100)]
[PATCH] Serial: Convert 8250_hp300 to use serial8250_{un,}register_port
Convert 8250_hp300 to use serial8250_register_port() and
serial8250_unregister_port().
Tested by Kars de Jong, 4/4/2005.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:32:00 +0000 (15:32 +0100)]
[PATCH] Serial: Move error path processing inline
With unlikely() there's no need for the error path to
use gotos.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:29:44 +0000 (15:29 +0100)]
[PATCH] Serial: Ensure error paths are marked with unlikely()
Ensure ARM serial driver error paths are marked with the
unlikely() compiler hint.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Linus Torvalds [Tue, 26 Apr 2005 14:22:55 +0000 (07:22 -0700)]
Merge ... /linux/kernel/git/gregkh/usb-2.6.git/
Russell King [Tue, 26 Apr 2005 14:21:02 +0000 (15:21 +0100)]
[PATCH] ARM: make entry*.S includes more logical
Move common includes to entry-header, and file specific includes
to the relevant file.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:20:34 +0000 (15:20 +0100)]
[PATCH] ARM: Remove single-use user save/restore macros
Assembly macros are pointless if they're only used once. Move
them inline.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:20:12 +0000 (15:20 +0100)]
[PATCH] ARM: remove PT_TRACESYS
PT_TRACESYS is unused, remove it.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:19:48 +0000 (15:19 +0100)]
[PATCH] ARM: Remove SVC_MODE definition
SVC_MODE reflects the MODE_SVC definition in asm/ptrace.h. Use
the asm/ptrace.h definition instead, and remove SVC_MODE.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:19:24 +0000 (15:19 +0100)]
[PATCH] ARM: Use __NR_SYSCALL_BASE and __ARM_NR_BASE in asm code
Don't define our own local constants, but use those already defined
in asm/unistd.h instead.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Linus Torvalds [Tue, 26 Apr 2005 14:19:05 +0000 (07:19 -0700)]
Merge ... /linux/kernel/git/davem/net-2.6.git
Russell King [Tue, 26 Apr 2005 14:18:59 +0000 (15:18 +0100)]
[PATCH] ARM: pt_regs offsets
Generate pt_regs S_xx offsets from the structure itself instead
of #defining them.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:18:26 +0000 (15:18 +0100)]
[PATCH] ARM: Remove argument for disable_irq/enable_irq
Since we do not require a register for these operations, we can
remove this unnecessary argument.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Russell King [Tue, 26 Apr 2005 14:17:42 +0000 (15:17 +0100)]
[PATCH] ARM: remove some entry initialisation asm code
Convert the trivial vector entry initialisation code to C code.
Signed-off-by: Russell King <rmk@arm.linux.org.uk>
Al Viro [Tue, 26 Apr 2005 04:40:39 +0000 (21:40 -0700)]
[NET]: kill gratitious includes of major.h
A lot of places in there are including major.h for no reason
whatsoever. Removed. And yes, it still builds.
The history of that stuff is often amusing. E.g. for net/core/sock.c
the story looks so, as far as I've been able to reconstruct it: we used to
need major.h in net/socket.c circa 1.1.early. In 1.1.13 that need had
disappeared, along with register_chrdev(SOCKET_MAJOR, "socket", &net_fops)
in sock_init(). Include had not. When 1.2 -> 1.3 reorg of net/* had moved
a lot of stuff from net/socket.c to net/core/sock.c, this crap had followed...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
James Morris [Tue, 26 Apr 2005 04:39:29 +0000 (21:39 -0700)]
[TCP]: Trivial tcp_data_queue() cleanup
This patch removes a superfluous intialization from tcp_data_queue().
Signed-off-by: James Morris <jmorris@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Al Viro [Tue, 26 Apr 2005 01:32:13 +0000 (18:32 -0700)]
[PATCH] kill gratitious includes of major.h under net/*
A lot of places in there are including major.h for no reason whatsoever.
Removed. And yes, it still builds.
The history of that stuff is often amusing. E.g. for net/core/sock.c
the story looks so, as far as I've been able to reconstruct it: we used
to need major.h in net/socket.c circa 1.1.early. In 1.1.13 that need
had disappeared, along with register_chrdev(SOCKET_MAJOR, "socket",
&net_fops) in sock_init(). Include had not. When 1.2 -> 1.3 reorg of
net/* had moved a lot of stuff from net/socket.c to net/core/sock.c,
this crap had followed...
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 01:32:12 +0000 (18:32 -0700)]
[PATCH] isofs includes sanitized
fs/isofs includes trimmed down to something resembling sanity.
Kernel-only parts of linux/iso_fs.h and entire linux/iso_fs_{sb,i}.h
moved to fs/isofs/isofs.h.
A lot of useless #include in fs/isofs/*.c killed.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 01:32:12 +0000 (18:32 -0700)]
[PATCH] ppc annotations: i2c-mpc
Usual iomem annotations and NULL noise removal.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Tue, 26 Apr 2005 01:32:12 +0000 (18:32 -0700)]
[PATCH] ppc annotations: mpsc
Usual iomem annotations + NULL noise removal.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Mon, 25 Apr 2005 23:19:32 +0000 (16:19 -0700)]
Automated merge of /home/rmk/linux-2.6-rmk.git
Deepak Saxena [Mon, 25 Apr 2005 22:40:05 +0000 (23:40 +0100)]
[PATCH] ARM: 2653/1: Fix memset and memzero macro double-reference of parameters
Patch from Deepak Saxena
The current memset() and memzero() macros on ARM reference the
incoming parameters more than once and this can cause uninted
side-effects. The issue was found while debugging SCTP protocol
and with the specific usage of memzero(skb_put(skb,size),size).
This call would call skb_put(skb,size) twice leading to badness.
The fixed version copies the incoming parameters into local
variables and uses those instead.
Signed-off-by: Deepak Saxena
Signed-off-by: Russell King
Jeff Lackey [Mon, 25 Apr 2005 22:38:55 +0000 (23:38 +0100)]
[PATCH] ARM: 2650/1: PXA27x sleep - workaround Errata 39 & 50 (Patch 2667)
Patch from Jeff Lackey
This patch updates arch/arm/mach-pxa/sleep.S to support
the PXA270 CPU. It works around Errata 39 & 50 from the
Intel(R) PXA27x Processor Family Specification Update.
Signed-off-by: Jeff Lackey
Signed-off-by: Russell King
Michael Chan [Mon, 25 Apr 2005 22:17:17 +0000 (15:17 -0700)]
[TG3]: Fix tg3_restart_ints()
tg3_restart_ints() is called to re-enable interrupts after tg3_poll()
has finished all the work. It calls tg3_cond_int() to force an interrupt
if the status block updated bit is set. The updated bit will be set if
there is a new status block update sometime during tg3_poll() and it can
be very often. The worst part is that even if all the work has been
processed, the updated bit remains set and an interrupt will be forced
unnecessarily.
The fix is to call tg3_has_work() instead to determine if new work is
posted before forcing an interrupt. The way to force an interrupt is
also changed to use "coalesce_now" instead of "SETINT". The former is
generally a safer way to force the interrupt.
Also deleted the first parameter to tg3_has_work() which is unused.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Mon, 25 Apr 2005 22:14:32 +0000 (15:14 -0700)]
[TG3]: Refresh hw index in tg3_rx()
This patch refreshes the hw rx producer in tg3_rx() so that additional
work posted by the hardware can be processed.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Michael Chan [Mon, 25 Apr 2005 22:14:03 +0000 (15:14 -0700)]
[TG3]: Fix bug in tg3_rx()
This patch fixes a bug that causes tg3_has_work() to always return 1.
rx work is determined by comparing tp->rx_rcb_ptr with the current hw
producer index. The hw producer index is modulo the ring size, but tp-
>rx_rcb_ptr is a free running counter that goes up beyond the ring size.
After the ring wraps around once, tg3_has_work() will always return 1.
The fix is to always do modulo arithmetic on tp->rx_rcb_ptr.
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Lucas Correia Villa Real [Mon, 25 Apr 2005 22:13:15 +0000 (23:13 +0100)]
[PATCH] ARM: 2645/1: Adds IIS definitions for the S3C2400
Patch from Lucas Correia Villa Real
Adds IISFCON definitions for the S3C2400 at
include/asm-arm/arch-s3c2400/regs-iis.h.
Signed-off-by: Lucas Correia Villa Real
Signed-off-by: Ben Dooks
Signed-off-by: Russell King
Lucas Correia Villa Real [Mon, 25 Apr 2005 22:12:50 +0000 (23:12 +0100)]
[PATCH] ARM: 2644/1: Adds S3C2400 support to uncompress.h
Patch from Lucas Correia Villa Real
The S3C2400 doesn't have a cpuid information stored anywhere. This patch adds
support to the S3C2400 at include/asm-arm/arch-s3c2400/uncompress.h by
initializing the cpuid variable to the S3C2410, as they share the same
routine. The GSTATUS1 pin is then used only if not compiling for the S3C2400.
Signed-off-by: Lucas Correia Villa Real
Signed-off-by: Ben Dooks
Signed-off-by: Russell King
Jesse Barnes [Mon, 25 Apr 2005 20:31:04 +0000 (13:31 -0700)]
From: jbarnes@sgi.com
[IA64] fix ia64 Kconfig to allow CONFIG_PM on sn2
This probably should have been fixed when I fixed up the generic build for
discontig+numa machines, but oh well.
CONFIG_PM is allowable for generic builds but not for sn2 builds, which
doesn't make much sense, and in fact breaks the build if recent ACPI bits are
added to the tree. It looks like the only arch that needs to prevent
CONFIG_PM stuff is the ski simulator (though those options could probably use
some cleanup as well), so remove the big conditional and replace it with a
simple test for IA64_HP_SIM instead.
Signed-off-by: Jesse Barnes <jbarnes@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Greg Howard [Mon, 25 Apr 2005 20:29:46 +0000 (13:29 -0700)]
[IA64-SGI] snsc_event.c new file
Forgot the "bk new" to add this file. Part of the patch
from Greg Howard
Signed-off-by: Tony Luck <tony.luck@intel.com>
Greg Howard [Mon, 25 Apr 2005 20:28:52 +0000 (13:28 -0700)]
[IA64] Altix system controller event handling
The following is an update of the patch I sent yesterday
(3/9/05) incorporating suggestions from Christoph Hellwig and
Andreas Schwab. It allows Altix and Altix-like systems to
handle environmental events generated by the system controllers,
and should apply on top of Jack Steiner's patch of 3/1/05 ("New
chipset support for SN platform") and Mark Goodwin's patch of
3/8/05 ("Altix SN topology support for new chipsets and pci
topology").
Signed-off-by: Greg Howard <ghoward@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Kenji Kaneshige [Mon, 25 Apr 2005 20:27:48 +0000 (13:27 -0700)]
[IA64] iosapic.c: typo ... s/spin_unlock_irq/spin_unlock/
vector sharing patch had a typo ... mismatched spin_lock() with
a spin_unlock_irq(). Fix from Kenji Kaneshige.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tony Luck [Mon, 25 Apr 2005 20:27:12 +0000 (13:27 -0700)]
[IA64] print "siblings" before {physical,core,thread} id
Rohit and Suresh changed their mind about the order to print things
in /proc/cpuinfo, but didn't include the change in the version of
the patch they sent to me.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Kenji Kaneshige [Mon, 25 Apr 2005 20:26:23 +0000 (13:26 -0700)]
[IA64] vector sharing (Large I/O system support)
Current ia64 linux cannot handle greater than 184 interrupt sources
because of the lack of vectors. The following patch enables ia64 linux
to handle greater than 184 interrupt sources by allowing the same
vector number to be shared by multiple IOSAPIC's RTEs. The design of
this patch is besed on "Intel(R) Itanium(R) Processor Family Interrupt
Architecture Guide".
Even if you don't have a large I/O system, you can see the behavior of
vector sharing by changing IOSAPIC_LAST_DEVICE_VECTOR to fewer value.
Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Suresh Siddha [Mon, 25 Apr 2005 20:25:06 +0000 (13:25 -0700)]
[IA64] multi-core/multi-thread identification
Version 3 - rediffed to apply on top of Ashok's hotplug cpu
patch. /proc/cpuinfo output in step with x86.
This is an updated MC/MT identification patch based on the
previous discussions on list.
Add the Multi-core and Multi-threading detection for IPF.
- Add new core and threading related fields in /proc/cpuinfo.
Physical id
Core id
Thread id
Siblings
- setup the cpu_core_map and cpu_sibling_map appropriately
- Handles Hot plug CPU
Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Gordon Jin <gordon.jin@intel.com>
Signed-off-by: Rohit Seth <rohit.seth@intel.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Keith Owens [Mon, 25 Apr 2005 20:23:47 +0000 (13:23 -0700)]
[IA64] __copy_user breaks on unaligned src
memcpy_mck.S::__copy_user breaks in the prefetch code under these conditions :-
* src is unaligned and
* dst is near the end of a page and
* the page after dst is unmapped.
Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tony Luck [Mon, 25 Apr 2005 20:22:44 +0000 (13:22 -0700)]
[IA64] Need to handle lfetch in "no_context" case.
Thanks to Mark for tracking down this one. Users of __copy_from_user_inatomic()
will be sad if we don't handle lfetch faults for the "no_context" case.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Goodwin [Mon, 25 Apr 2005 20:21:54 +0000 (13:21 -0700)]
[IA64-SGI] Altix SN add support for slots in geoid_t locator
This patch against ia64-test-2.6.12 is needed for forthcoming
Altix chipsets. It renames geoid_any_t to geoid_common_t and
splits the 8bit 'slab' field into two 4bit fields for 'slab'
and 'slot'. Similar changes in the Altix SAL will retain backward
compatibility for old kernels.
Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
David Mosberger-Tang [Mon, 25 Apr 2005 20:20:38 +0000 (13:20 -0700)]
[IA64] fix syscall-optimization goof
Sadly, I goofed in this syscall-tuning patch:
ChangeSet 1.1966.1.40 2005/01/22 13:31:05 davidm@hpl.hp.com
[IA64] Improve ia64_leave_syscall() for McKinley-type cores.
Optimize ia64_leave_syscall() a bit better for McKinley-type cores.
The patch looks big, but that's mostly due to renaming r16/r17 to r2/r3.
Good for a 13 cycle improvement.
The problem is that the size of the physical stacked registers was
loaded into the wrong register (r3 instead of r17). Since r17 by
coincidence always had the value 1, this had the effect of turning
rse_clear_invalid into a no-op. That poses the risk of leaking kernel
state back to user-land and is hence not acceptable.
The fix below is simple, but unfortunately it costs us about 28 cycles
in syscall overhead. ;-(
Unfortunately, there isn't much we can do about that since those
registers have to be cleared one way or another.
--david
Signed-off-by: Tony Luck <tony.luck@intel.com>
Russ Anderson [Mon, 25 Apr 2005 20:19:52 +0000 (13:19 -0700)]
[IA64-SGI] Shub2 BTE support - BTE recovery code
patch 2:
Shub2 BTE recovery code will be implemented in SAL.
Define the SAL interface.
Modify bte_error to call SAL for shub2.
Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Russ Anderson [Mon, 25 Apr 2005 20:19:11 +0000 (13:19 -0700)]
[IA64-SGI] Add new MMR definitions/Modify BTE initialiation©.
patch 1:
Add new MMR definitions.
Modify BTE initialiation.
Modify BTE copy.
Signed-off-by: Russ Anderson <rja@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Maule [Mon, 25 Apr 2005 20:18:02 +0000 (13:18 -0700)]
[IA64-SGI] disable TIOCA GART TLB prefetching
Patch to disable SGI TIOCA GART TLB prefetching due to hw bug.
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tony Luck [Mon, 25 Apr 2005 20:16:59 +0000 (13:16 -0700)]
[IA64] MAX_PGT_FREES_PER_PASS must be 'L' to avoid warning
'min' is very picky about types of arguments, make it happy
Signed-off-by: Tony Luck <tony.luck@intel.com>
Tony Luck [Mon, 25 Apr 2005 20:16:16 +0000 (13:16 -0700)]
[IA64] fix: warning: `ql_size' might be used uninitialized
Oops. Should have caught this before I checked it in.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Alex Williamson [Mon, 25 Apr 2005 20:14:36 +0000 (13:14 -0700)]
[IA64] sba_iommu bug fixes
This fixes a couple of bugs in the zx1/sx1000 sba_iommu. These are
all pretty low likelihood of hitting. The first problem is a simple off
by one, deep in the sba_alloc_range() error path. Surrounding that was
a lock ordering problem that could have potentially deadlocked with the
order the locks are grabbed in sba_unmap_single(). I moved the resource
locking into sba_search_bitmap() to prevent this. Finally, there's a
potential race between unmapping pdir entries and marking incoming DMA
pages clean. If you see any oddities, please let me know, but I've
tested it pretty thoroughly here. Tony, please apply. Thanks,
BTW, many of the options in this driver not on by default are becoming
more and more broken. I'll be working on some patches to clean them
out, but I wanted to get this bug fix out first.
Signed-off-by: Alex Williamson <alex.williamson@hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Robin Holt [Mon, 25 Apr 2005 20:13:16 +0000 (13:13 -0700)]
[IA64] Percpu quicklist for combined allocator for pgd/pmd/pte.
This patch introduces using the quicklists for pgd, pmd, and pte levels
by combining the alloc and free functions into a common set of routines.
This greatly simplifies the reading of this header file.
This patch is simple but necessary for large numa configurations.
It simply ensures that only pages from the local node are added to a
cpus quicklist. This prevents the trapping of pages on a remote nodes
quicklist by starting a process, touching a large number of pages to
fill pmd and pte entries, migrating to another node, and then unmapping
or exiting. With those conditions, the pages get trapped and if the
machine has more than 100 nodes of the same size, the calculation of
the pgtable high water mark will be larger than any single node so page
table cache flushing will never occur.
I ran lmbench lat_proc fork and lat_proc exec on a zx1 with and without
this patch and did not notice any change.
On an sn2 machine, there was a slight improvement which is possibly
due to pages from other nodes trapped on the test node before starting
the run. I did not investigate further.
This patch shrinks the quicklist based upon free memory on the node
instead of the high/low water marks. I have written it to enable
preemption periodically and recalculate the amount to shrink every time
we have freed enough pages that the quicklist size should have grown.
I rescan the nodes zones each pass because other processess may be
draining node memory at the same time as we are adding.
Signed-off-by: Robin Holt <holt@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Bruce Losure [Mon, 25 Apr 2005 20:12:02 +0000 (13:12 -0700)]
[IA64-SGI]
Missed the "bk new" for this file in the last commit.
Signed-off-by: Bruce Losure <blosure@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Aaron J Young [Mon, 25 Apr 2005 20:11:14 +0000 (13:11 -0700)]
[IA64-SGI] Altix: enable poweroff
This patch adds the necessary "hook" to allow SGI/SN
machines to perform a system power off upon a
'init 0', 'halt -p', 'poweroff' or 'shutdown -h'.
The "hook" is to set the pm_power_off callback
to ia64_sn_power_down(). pm_power_off is checked
in machine_power_off()/do_poweroff() and, if set, is executed.
ia64_sn_power_down() is a function already present (but not
used currently) in the sn kernel.
ia64_sn_power_down() makes a SAL call to execute the
power off.
Signed-off-by: Aaron J Young <ayoung@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Bruce Losure [Mon, 25 Apr 2005 20:09:41 +0000 (13:09 -0700)]
[IA64-SGI] Bus driver for the CX port of SGI's TIO chip.
This patch is to provide CX port infrastructure for SGI TIO-based
h/w. Also a 'core services' driver for SGI FPGA-based h/w.
Signed-off-by: Bruce Losure <blosure@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Stephane Eranian [Mon, 25 Apr 2005 20:08:30 +0000 (13:08 -0700)]
[IA64] perfmon: make pfm_sysctl a global, and other cleanup
- make pfm_sysctl a global such that it is possible
to enable/disable debug printk in sampling formats
using PFM_DEBUG.
- remove unused pfm_debug_var variable
- fix a bug in pfm_handle_work where an BUG_ON() could
be triggered. There is a path where pfm_handle_work()
can be called with interrupts enabled, i.e., when
TIF_NEED_RESCHED is set. The fix correct the masking
and unmasking of interrupts in pfm_handle_work() such
that we restore the interrupt mask as it was upon entry.
signed-off-by: stephane eranian <eranian@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Colin Ngam [Mon, 25 Apr 2005 20:07:00 +0000 (13:07 -0700)]
[IA64-SGI] support variable length nasids in shub2
This patch enables our TIO IO chipset to support variable length nasids in
Shub2 chipset.
Signed-off-by: Colin Ngam <cngam@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Colin Ngam [Mon, 25 Apr 2005 20:06:28 +0000 (13:06 -0700)]
[IA64-SGI] Shub2 provides an addition of 2 External Interrupt events.
Signed-off-by: Colin Ngam <cngam@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Goodwin [Mon, 25 Apr 2005 20:05:08 +0000 (13:05 -0700)]
[IA64-SGI] Altix SN topology fix potential infinite loop
Fix infinite loop if sn_hwperf_location_to_bpos() fails.
Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Goodwin [Mon, 25 Apr 2005 20:04:22 +0000 (13:04 -0700)]
[IA64-SGI] Altix SN topology support for new chipsets and pci topology
please accept this patch to the Altix SN platform topology export
interface to support new chipsets and to export PCI topology.
This follows on top of Jack Steiner's patch dated March 1st
("New chipset support for SN platform").
Signed-off-by: Mark Goodwin <markgw@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
David Mosberger-Tang [Mon, 25 Apr 2005 20:03:16 +0000 (13:03 -0700)]
[IA64] speed up syscall path a bit more
Recently I noticed that clearing ar.ssd/ar.csd right before srlz.d is
causing significant stalling in the syscall path. The patch below
fixes that by moving the register-writes after srlz.d. On a Madison,
this drops break-based getpid() from 241 to 226 cycles (-15 cycles).
Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
David S. Miller [Mon, 25 Apr 2005 19:15:01 +0000 (12:15 -0700)]
[PKT_SCHED]: Eliminate unnecessary includes in simple.c
Noted by Al Viro.
Signed-off-by: David S. Miller <davem@davemloft.net>
Patrick McHardy [Mon, 25 Apr 2005 19:01:07 +0000 (12:01 -0700)]
[NETFILTER]: Drop conntrack reference when packet leaves IP
In the event a raw socket is created for sending purposes only, the creator
never bothers to check the socket's receive queue. But we continue to
add skbs to its queue until it fills up.
Unfortunately, if ip_conntrack is loaded on the box, each skb we add to the
queue potentially holds a reference to a conntrack. If the user attempts
to unload ip_conntrack, we will spin around forever since the queued skbs
are pinned.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Yasuyuki KOZAKAI [Mon, 25 Apr 2005 19:00:04 +0000 (12:00 -0700)]
[NETFILTER]: Fix truncated sequence numbers in FTP helper
Signed-off-by: Yasuyuki KOZAKAI <yasuyuki.kozkaai@toshiba.co.jp>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Keith Owens [Mon, 25 Apr 2005 18:45:26 +0000 (11:45 -0700)]
[IA64] Tighten up unw_unwind_to_user check
Detect user space by the unwind frame with predicate PRED_USER_STACK
set, instead of a user space IP. Tighten up the last ditch check for
running off the top of the kernel stack.
Based on a suggestion by David Mosberger, reworked to fit the current
tree. This survives my stress test which used to break 2.6.9 kernels.
Unlike 2.6.11, the stress test now unwinds to the correct point, so
gdb can get the user space registers.
Signed-off-by: Keith Owens <kaos@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
David Mosberger-Tang [Mon, 25 Apr 2005 18:44:02 +0000 (11:44 -0700)]
[IA64] add missing cpu_relax() in ITC syncing code
Call cpu_relax() in busy-waiting loops of the ITC-syncing code.
Signed-off-by: David Mosberger-Tang <davidm@hpl.hp.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Jack Steiner [Mon, 25 Apr 2005 18:42:39 +0000 (11:42 -0700)]
[IA64-SGI] Change SAL call request code for SN systems
Change the value of the SAL call number for a new SAL request. The
initial implementation in the PROM did not match what the OS expected.
Since the OS can run on PROMs that do not implement the new call,
changing the call number avoids the issue. New PROMs will implement
the new call number. (This avoids problems with the 4.05 PROM).
Signed-off-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Maule [Mon, 25 Apr 2005 18:35:54 +0000 (11:35 -0700)]
[IA64-SGI] altix: tioca chip driver (agp)
Provide a driver for the altix TIOCA AGP chipset. An agpgart backend will
be provided as a separate patch.
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Maule [Mon, 25 Apr 2005 18:32:16 +0000 (11:32 -0700)]
[IA64-SGI] sn2-move-pci-headers.patch
Move a couple of headers out of arch/ia64/sn/include/pci and into
include/asm-ia64/sn.
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Mark Maule [Mon, 25 Apr 2005 18:26:03 +0000 (11:26 -0700)]
[IA64-SGI] sn2-pci-dma-abstraction.patch
Provide an abstraction of the altix pci dma runtime layer so that multiple
pci-based bridges can be supported.
Signed-off-by: Mark Maule <maule@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Lucas Correia Villa Real [Mon, 25 Apr 2005 17:40:31 +0000 (18:40 +0100)]
[PATCH] ARM: 2641/1: Adds S3C2400_SPPIN_nCS to arch-s3c2410/regs-spi.h
Patch from Lucas Correia Villa Real
Adds a define to the SPI Card Select bit on the S3C2400 into
include/asm-arm/arch-s3c2410/regs-spi.h
Signed-off-by: Lucas Correia Villa Real
Signed-off-by: Russell King
Lucas Correia Villa Real [Mon, 25 Apr 2005 17:36:50 +0000 (18:36 +0100)]
[PATCH] ARM: 2640/1: Adds DRAM/BANKSIZE_MASK definitions for S3C2400
Patch from Lucas Correia Villa Real
Adds DRAM refresh definitions and sets the BANKSIZE_MASK for the S3C2400 on
include/asm-arm/arch-s3c2400/regs-mem.h
Signed-off-by: Lucas Correia Villa Real
Signed-off-by: Ben Dooks
Signed-off-by: Russell King
Adrian Bunk [Mon, 25 Apr 2005 15:18:14 +0000 (08:18 -0700)]
[PATCH] fs/aio.c: make some code static
This patch makes some needlessly global code static.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Acked-by: Benjamin LaHaise <bcrl@kvack.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:59 +0000 (07:55 -0700)]
[PATCH] ppc user annotations: debug_setconetext(2)
3rd argument of sys_debug_setcontext() is also a userland pointer.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: mv643xx_eth
void * __iomem replaced with intended void __iomem *.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc sparse annotations: emulate_string_inst()
replaced declaration of EA from u32 to unsigned long - this beast is
used only to cast it to (userland) pointer and proper integer type for
that is unsigned long.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: pmac_low_i2c
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:58 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: ebony_setup_pcix()
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:57 +0000 (07:55 -0700)]
[PATCH] ppc iomem annotations: ->io_base_virt
* ->io_base_virt in struct pci_controller is iomem pointer. Marked as such.
Most of the places that used it are already annotated to expect iomem.
* places that did gratitious (and wrong) casts a-la
isa_io_base = (unsigned long)ioremap(...);
hose->io_base_virt = (void *)isa_io_base;
turned into
hose->io_base_virt = ioremap(...);
isa_io_base = (unsigned long)hose->io_base_virt;
* pci_bus_io_base() annotated as returning iomem pointer.
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Al Viro [Mon, 25 Apr 2005 14:55:57 +0000 (07:55 -0700)]
[PATCH] ppc user annotations: sigcontext
sigcontext.regs is a userland pointer
Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Linus Torvalds [Mon, 25 Apr 2005 14:42:22 +0000 (07:42 -0700)]
Merge ... /linux/kernel/git/davem/sparc-2.6.git
David S. Miller [Mon, 25 Apr 2005 04:04:02 +0000 (21:04 -0700)]
[SPARC64]: Fix SMP build.
Kill build failures in the SMP+!PREEMPT case introduced
by Al Viro's spinlock.h changes.
Signed-off-by: David S. Miller <davem@davemloft.net>
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:46:49 +0000 (20:46 -0700)]
[SPARC]: dump_stack for sparc
Bob Breuer wrote a patch to add dump_stack for sparc. Supposedly, this
was applied, but it doesn't exist in 2.6.11.
This is the same patch, rediffed against 2.6.11.
Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:46:00 +0000 (20:46 -0700)]
[SPARC]: Fix mxcc warning
Peter Jones uncovered this one while we were debugging the framebuffer
issues. There are some references to -1 in the mxcc asm code, which
should be 0xffffffff.
This patch gets rid of the -1s.
Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Tom 'spot' Callaway [Mon, 25 Apr 2005 03:45:06 +0000 (20:45 -0700)]
[SPARC]: More sparc32 ksyms cleanups
The sparc32 ksyms is missing a few more symbols, these are primarily
related to SMP, and will be needed as SMP gets beaten back into
functionality.
Specifically, add __cpu_data (PER_CPU), cpu_online_map, and
phys_cpu_present_map.
This patch assumes that the earlier "linux-2.6.11-sparc-fixksyms.patch"
is applied, otherwise, it will apply with fuzz.
Signed-off-by: Tom 'spot' Callaway <tcallawa@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bob Breuer [Mon, 25 Apr 2005 03:42:45 +0000 (20:42 -0700)]
[SPARC]: Enable sun logo on sparc32
This enables the sun linux logo to be selected on sparc32.
Signed-off-by: Bob Breuer <breuerr@mc.net>
Signed-off-by: David S. Miller <davem@davemloft.net>