- 06 2月, 2007 8 次提交
-
-
由 Auke Kok 提交于
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
The driver was still mis-calculating the number of bytes sent during transmit, now the driver computes what appears to be exactly 100% correct byte counts (not including CRC) when figuring out how many bytes and frames were sent during the current transmit packet.
-
由 Bruce Allan 提交于
Since the driver sets the IP checksum insertion bit (IXSM in Status field) in transmit context descriptors, it should clear the IP checksum bits of any garbage so as not to confuse the hardware. Signed-off-by: NBruce Allan <bruce.w.allan@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Print RX/TX flow control setting at link up time to display the actual link FC properties instead of the advertised values. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
This fix attempts to solve a customer (IBM) reported issue with NAPI enabled e1000 having bad performance when transmitting simultaneously on four ports. The issue comes down to an interaction between NAPI, hardware interrupt balancing, and the driver rescheduling poll on the same processor. Try to fix by allowing the driver to re-enable interrupts sooner instead of polling one more time, when there was recently all the work completed in cleanup. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Unfortunately the read-free MSI interrupt handler needs to flush write the icr register and thus we can't be read-free. Our MSI irq routine thus becomes a lot more simpler since we don't need to track link state anymore. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Remove unused MSGOUT macro and add "\n" to function debug output. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Remvoe duplicate code handling erraneous user supplied wrong case of gigabit speed with half duplex. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
- 08 1月, 2007 1 次提交
-
-
由 Jeff Garzik 提交于
This reverts commit 72f3ab74, which was superceded by commit 683a2aa3 ("e1000: Do not truncate TSO TCP header with 82544 workaround"), which fixed the real problem. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 27 12月, 2006 16 次提交
-
-
由 Herbert Xu 提交于
The e1000 driver has a workaround for 82544 on PCI-X where if the terminating byte of a buffer is at addresses 0-3 mod 8, then 4 bytes are shaved off it and defered to a new segment. This is due to an erratum that could otherwise cause TX hangs. Unfortunately this breaks TSO because it may cause the TCP header to be split over two segments which itself causes TX hangs. The solution is to pull 4 bytes of data up from the next segment rather than pushing 4 bytes off. This ensures the TCP header remains in one piece and works around the PCI-X hang. This patch is based on one from Jesse Brandeburg. This bug has been trigered by both CONFIG_DEBUG_SLAB as well as Xen. Note that the only reason we don't see this normally is because the TCP stack starts writing from the end, i.e., it writes the TCP header first then slaps on the IP header, etc. So the end of the TCP header (skb->tail - 1 here) is always aligned correctly. Had we made the start of the IP header (e.g., IPv6) 8-byte aligned instead, this would happen for normal TCP traffic as well. Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au> Acked-by: NJesse Brandeburg <jesse.brandeburg@intel.com> -- Visit Openswan at http://www.openswan.org/ Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
Currently after an interface up, the link state is detected 2 seconds later when the first watchdog timer runs. This patch changes that by triggering the hardware to generate a link-change interrupt from the up() function instead. This has the result that the link state gets detected immediately and without races. This has the potential to speed up booting since a normal distribution boot process waits for a link before DHCP is attempted. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
Add 3 extra packet redirect counters for tracking purposes to make sure we can test that all packets arrive properly. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
Allow the user to vary the size that copybreak works. Currently cb is enabled for packets < 256 bytes, but various tests indicate that this should be configurable for specific use cases. In addition, this parameter allows us to force never/always during testing to get full and predictable coverage of both code paths. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Bruce Allan 提交于
Assign the PBA to be large enough to contain at least 2 jumbo frames on all adapters. This dramatically increases performance on several adapters and fixes TX performance degradation issues where the PBA was misallocated in the old algorithm. Signed-off-by: NBruce Allan <bruce.w.allan@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
the driver has (ancient) code for messing with TIPG from the 82542 days. Unfortunately this code was running on our current adapters and setting TIPG for fiber to be +1 over the copper value. This caused 1.45Mpps to be sent instead of 1.487Mpps. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Kirsher 提交于
For older adapters we know that they are of the PCI bus type, so we can just set this. Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Bruce Allan 提交于
This bugfix makes sure that the driver data reflects the full new situation before the adapter is reinitialized. Signed-off-by: NBruce Allan <bruce.w.allan@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
In rare occasions, ESB2 systems would end up started without the RX unit being turned on. Add a check that runs post-init to work around this issue. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
CONFIG_DEBUG_SLAB changes alignments of the data structures the slab allocators return. These break certain workarounds for TSO on the 82544. Since DEBUG_SLAB is relatively rare and not used for performance sensitive cases, the simplest fix is to disable TSO in this special situation. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
If the user has forced gigabit speed, phy power management must be disabled; otherwise the NIC would try to negotiate to a linkspeed of 10/100 mbit on shutdown, which would lead to a total loss of link. This loss of link breaks Wake-on-Lan and IPMI. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
Several bugs existed in how we handle manageability issues all over the driver. This patch consolidates all the managability release and init code in two single functions and call them from appropriate locations. This fixes several BMC packet redirect issues and powerup/down hiccups. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
The 82543 chip does not count tx_carrier_errors properly in FD mode; report zeros instead of garbage. Originally from Jesse Brandeburg <jesse.brandeburg@intel.com>, rewritten to use feature flags by me. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jeff Garzik 提交于
Makes future changes a bit more readable. Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
The dynamic interrupt rate control patches omitted proper counting for jumbo's and TSO resulting in suboptimal interrupt mitigation strategies. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Jesse Brandeburg 提交于
The lower 2 bits of a user-supplied itr setting (via ethtool) need to be masked off: These lower two bits are used as control bits. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NArjan van de Ven <arjan@linux.intel.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 03 12月, 2006 1 次提交
-
-
由 Al Viro 提交于
... into anonymous union of __wsum and __u32 (csum and csum_offset resp.) Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 02 12月, 2006 14 次提交
-
-
由 Andrew Morton 提交于
ia64: drivers/built-in.o(.text+0xd9a72): In function `e1000_xmit_frame': : undefined reference to `csum_ipv6_magic' Cc: Auke Kok <auke-jan.h.kok@intel.com> Cc: "David S. Miller" <davem@davemloft.net> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Auke Kok 提交于
Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Add a new dynamic itr algorithm, with 2 modes, and make it the default operation mode. This greatly reduces latency and increases small packet performance, at the "cost" of some CPU utilization. Bulk traffic throughput is unaffected. The driver can limit the amount of interrupts per second that the adapter will generate for incoming packets. It does this by writing a value to the adapter that is based on the maximum amount of interrupts that the adapter will generate per second. Setting InterruptThrottleRate to a value greater or equal to 100 will program the adapter to send out a maximum of that many interrupts per second, even if more packets have come in. This reduces interrupt load on the system and can lower CPU utilization under heavy load, but will increase latency as packets are not processed as quickly. The default behaviour of the driver previously assumed a static InterruptThrottleRate value of 8000, providing a good fallback value for all traffic types,but lacking in small packet performance and latency. The hardware can handle many more small packets per second however, and for this reason an adaptive interrupt moderation algorithm was implemented. Since 7.3.x, the driver has two adaptive modes (setting 1 or 3) in which it dynamically adjusts the InterruptThrottleRate value based on the traffic that it receives. After determining the type of incoming traffic in the last timeframe, it will adjust the InterruptThrottleRate to an appropriate value for that traffic. The algorithm classifies the incoming traffic every interval into classes. Once the class is determined, the InterruptThrottleRate value is adjusted to suit that traffic type the best. There are three classes defined: "Bulk traffic", for large amounts of packets of normal size; "Low latency", for small amounts of traffic and/or a significant percentage of small packets; and "Lowest latency", for almost completely small packets or minimal traffic. In dynamic conservative mode, the InterruptThrottleRate value is set to 4000 for traffic that falls in class "Bulk traffic". If traffic falls in the "Low latency" or "Lowest latency" class, the InterruptThrottleRate is increased stepwise to 20000. This default mode is suitable for most applications. For situations where low latency is vital such as cluster or grid computing, the algorithm can reduce latency even more when InterruptThrottleRate is set to mode 1. In this mode, which operates the same as mode 3, the InterruptThrottleRate will be increased stepwise to 70000 for traffic in class "Lowest latency". Setting InterruptThrottleRate to 0 turns off any interrupt moderation and may improve small packet latency, but is generally not suitable for bulk throughput traffic. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Cc: Rick Jones <rick.jones2@hp.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Add a generic MSI interrupt routine that is IO read-free, speeding up MSI interrupt handling. Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
This file needs some cleanups and reordering - logically order it so that relevant defines and code are together with properly quoted defaults. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Spec fix: don't set IDE unless we are actually setting the tx int delay time. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
-
由 Jeff Kirsher 提交于
ICH8 will soon be followed by newer chipsets bearing the same acronym, thus we remove the '8' and make it independent of the version number in the platform name. Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
Add a netif_wake/start_queue counter to the ethtool statistics to indicated to the user that their transmit ring could be too small for their workload. Signed-off-by: NJesse brandeburg <jesse.brandeburg@intel.com> Cc: Jamal Hadi <hadi@cyberus.ca> Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Auke Kok 提交于
Add support for a Low Profile quad-port PCI-E adapter and 2 variants of the ICH8 systems' onboard NIC's. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jesse Brandeburg 提交于
This memsetting was added in a paranoid rage debugging TX hangs, but are no longer of importance. We can beef up the performance quite a bit removing them. Make sure to fill in next_to_watch to allow this. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
-
由 Auke Kok 提交于
Simplify two calls to skb_put by removing one call to it. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com>
-
由 Jeff Kirsher 提交于
Order pci-e capability struct according to bus/pci bus width ordering preserving the hard pci spec numbers. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
-
由 Jeff Kirsher 提交于
On ich systems during PHY power down to D3, the voltage regulators were left on. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
-
由 Jesse Brandeburg 提交于
IA64 SMP systems were seeing TX issues with multiple cpu's attempting to write tail registers unordered. This mmiowb() fixes the issue. Signed-off-by: NAuke Kok <auke-jan.h.kok@intel.com> Signed-off-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
-