Jeff Kirsher [Fri, 13 Jan 2006 00:50:55 +0000 (16:50 -0800)]
[PATCH] e1000: Fix Desc. Rings and Jumbo Frames
This patch contains two fixes. The first fix is to the tx and rx descriptor rings clean up process. The second fix is to jumbo frames, which cleans up the code logic and removes most of the fifo related limitations on jumbo frames. This is because the driver code now supports splitting a packet across multiple descriptors.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Kirsher [Fri, 13 Jan 2006 00:50:53 +0000 (16:50 -0800)]
[PATCH] e1000: Fix TX queue length based on link speed
10/100 speeds seem to have some problems reporting false tx timeouts especially at half duplex. Fixed by using a timeout factor to attempt to mitigate the false timeouts.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Kirsher [Fri, 13 Jan 2006 00:50:39 +0000 (16:50 -0800)]
[PATCH] e1000: Fix adapter structure and prepare for multique fix
Fix adapter structure to handle multiple queues and prepping the driver for full multiple queue support, some changes are ifdef'd our unless you define CONFIG_E1000_MQ.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Jeff Kirsher [Fri, 13 Jan 2006 00:50:23 +0000 (16:50 -0800)]
[PATCH] e1000: Fix TSO
Fixed the TSO workaround for 82571/2 controllers.
Fixed TSO issue where a non-tso packet in a linear SKB which followed a TSO packet would get written back prematurely.
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: John Ronciak <john.ronciak@intel.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Arnd Bergmann [Thu, 12 Jan 2006 22:16:44 +0000 (17:16 -0500)]
[PATCH] spidernet: performance optimizations
Performance optimizations, changes in these areas:
- RX and TX checksum offload
- correct maximum MTU
- don't use TX interrupts anymore, use a timer instead
- remove some superfluous barriers
- improve RX RAM full handling
Arnd Bergmann [Thu, 12 Jan 2006 22:16:42 +0000 (17:16 -0500)]
[PATCH] spidernet: read firmware from the OF device tree
request_firmware() is sometimes problematic, especially
in initramfs, reading the firmware from Open Firmware
is much preferrable.
We still try to get the firmware from the file system
first, in order to support old SLOF releases and to allow
updates of the spidernet firmware without reflashing
the system.
Dale Farnsworth [Tue, 17 Jan 2006 00:00:24 +0000 (17:00 -0700)]
[PATCH] mv643xx_eth: Remove needless mask of extended intr register
All interrupts controlled by the extended mask register are also
masked by a bit in the main mask register, so there is no need to
directly manipulate the extended mask register.
Wolfram Joost [Mon, 16 Jan 2006 23:57:41 +0000 (16:57 -0700)]
[PATCH] mv643xx_eth: Request HW checksum generation only for IPv4
This patch removes the NETIF_F_HW_CSUM flag to be able to use other protocols
than IPv4. Hardware checksums for IPv4 should continue to work because
NETIF_F_IP_CSUM is still set. The sanity-check has been enhanced to check
the used protocol and to not access skb->iph for non-ipv4-packets.
Dale Farnsworth [Mon, 16 Jan 2006 23:56:30 +0000 (16:56 -0700)]
[PATCH] mv643xx_eth: Hold spinlocks only where needed
This driver has historically held a spin_lock during the entire open
and stop functions and while receiving multiple packets. This is
unecessarily long and holds locks during calls that may sleep.
This patch reduces the size of windows where locks are held.
The Marvell mv643xx ethernet hardware requires that DMA buffers be
aligned to 8-byte boundaries. This patch satisfies this requirement.
Buffers allocated by dev_alloc_skb() only have 4-byte alignment when
slab debugging is enabled.
Also, document that the 2-byte offset to align the IP packets on
receive is a hardware feature and is not tied to NET_IP_ALIGN.
Patch fixes a build problem with CONFIG_X86_VSMP. The vSMP bits probably
gathered some fuzz on its way to mainline, and safe_halt() which was outside
the #endif (CONFIG_X86_VSMP) somehow got inside the !CONFIG_X86_VSMP condition,
hence being undefined and breaking CONFIG_X86_VSMP builds. Patch takes
safe_halt() and halt() macros out of the #endif
Matt Tolentino [Tue, 17 Jan 2006 06:03:44 +0000 (07:03 +0100)]
[PATCH] x86_64: add __meminit for memory hotplug
Add __meminit to the __init lineup to ensure functions default
to __init when memory hotplug is not enabled. Replace __devinit
with __meminit on functions that were changed when the memory
hotplug code was introduced.
Matt Tolentino [Tue, 17 Jan 2006 06:03:41 +0000 (07:03 +0100)]
[PATCH] x86_64: add x86-64 support for memory hot-add
Add x86-64 specific memory hot-add functions, Kconfig options,
and runtime kernel page table update functions to make
hot-add usable on x86-64 machines. Also, fixup the nefarious
conditional locking and exports pointed out by Andi.
Tested on Intel and IBM x86-64 memory hot-add capable systems.
Andi Kleen [Tue, 17 Jan 2006 06:03:38 +0000 (07:03 +0100)]
[PATCH] x86_64: Flexmap for 32bit and randomized mappings for 64bit
Another try at this.
For 32bit follow the 32bit implementation from Ingo -
mappings are growing down from the end of stack now
and vary randomly by 1GB.
Randomized mappings for 64bit just vary the normal mmap break
by 1TB. I didn't bother implementing full flex mmap for 64bit
because it shouldn't be needed there.
... as they are no longer needed. Since there were hard-coded numbers in the
file, the patch also adds a mechanism to avoid these (otherwise potential
future changes would again and again require adjusting these numbers).
NeilBrown [Tue, 17 Jan 2006 06:14:57 +0000 (22:14 -0800)]
[PATCH] md: Clear clevel whenever level is set.
The 'level' of an md array can be set as either a number of a string. When
one is set, the other must be marked 'undefined'. This wasn't being done
in one place: where new arrays are created.
Result: if md1 is a raid1, it is stopped and a raid5 is created there, it
might still appear to be a raid1.
Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Miklos Szeredi [Tue, 17 Jan 2006 06:14:52 +0000 (22:14 -0800)]
[PATCH] fuse: fix bitfield race
Fix race in setting bitfields of fuse_conn. Spotted by Andrew Morton.
The two fields ->connected and ->mounted were always changed with the
fuse_lock held. But other bitfields in the same structure were changed
without the lock. In theory this could lead to losing the assignment of
even the ones under lock. The chosen solution is to change these two
fields to be a full unsigned type. The other bitfields aren't "important"
enough to warrant the extra complexity of full locking or changing them to
bitops.
For all bitfields document why they are safe wrt. concurrent
assignments.
Also make the initialization of the 'num_waiting' atomic counter explicit.
Miklos Szeredi [Tue, 17 Jan 2006 06:14:46 +0000 (22:14 -0800)]
[PATCH] fuse: use asynchronous READ requests for readpages
This patch changes fuse_readpages() to send READ requests asynchronously.
This makes it possible for userspace filesystems to utilize the kernel
readahead logic instead of having to implement their own (resulting in double
caching).
Miklos Szeredi [Tue, 17 Jan 2006 06:14:41 +0000 (22:14 -0800)]
[PATCH] fuse: add connection aborting
Add ability to abort a filesystem connection.
With the introduction of asynchronous reads, the ability to interrupt any
request is not enough to dissolve deadlocks, since now waiting for the request
completion (page unlocked) is independent of the actual request, so in a
deadlock all threads will be uninterruptible.
The solution is to make it possible to abort all requests, even those
currently undergoing I/O to/from userspace. The natural interface for this is
'mount -f mountpoint', but that only works as long as the filesystem is
attached. So also add an 'abort' attribute to the sysfs view of the
connection.
Miklos Szeredi [Tue, 17 Jan 2006 06:14:38 +0000 (22:14 -0800)]
[PATCH] fuse: add number of waiting requests attribute
This patch adds the 'waiting' attribute which indicates how many filesystem
requests are currently waiting to be completed. A non-zero value without any
filesystem activity indicates a hung or deadlocked filesystem.
Miklos Szeredi [Tue, 17 Jan 2006 06:14:31 +0000 (22:14 -0800)]
[PATCH] fuse: introduce list for requests under I/O
Create a new list for requests in the process of being transfered to/from
userspace. This will be needed to be able to abort all requests even those
currently under I/O