Re: [PATCH] avoid atomic xchg() for non-error case

2005-12-09 Thread David S. Miller
From: Benjamin LaHaise <[EMAIL PROTECTED]> Date: Fri, 9 Dec 2005 17:53:02 -0500 > Similar to the previous patch, the atomic xchg in sock_error() results in > extra pipeline flushes due to the need to perform full synchronization as > a memory barrier. Avoid calling sock_error() in a couple of p

Re: [PATCH] remove superfluous reference counting in unix_stream_sendmsg

2005-12-09 Thread David S. Miller
From: Benjamin LaHaise <[EMAIL PROTECTED]> Date: Fri, 9 Dec 2005 17:31:48 -0500 > AF_UNIX stream socket performance on P4 CPUs tends to suffer due to a lot > of pipeline flushes from atomic operations. The patch below removes the > sock_hold() and sock_put() in unix_stream_sendmsg(). This shou

Re: Resend [PATCH netdev-2.6 2/8] e1000: Performance Enhancements

2005-12-09 Thread David S. Miller
From: jamal <[EMAIL PROTECTED]> Date: Fri, 09 Dec 2005 16:30:24 -0500 > indeed sounds interesting until you start hitting clones ;-> > so dont run a sniffer or do anything of the sort if you want to see > some good numbers - otherwise I suspect you will get worse numbers than > the case of current

[PATCH] avoid atomic xchg() for non-error case

2005-12-09 Thread Benjamin LaHaise
Similar to the previous patch, the atomic xchg in sock_error() results in extra pipeline flushes due to the need to perform full synchronization as a memory barrier. Avoid calling sock_error() in a couple of places where it is safe to do a racy version of the test. Combined with the refcountin

[PATCH] remove superfluous reference counting in unix_stream_sendmsg

2005-12-09 Thread Benjamin LaHaise
AF_UNIX stream socket performance on P4 CPUs tends to suffer due to a lot of pipeline flushes from atomic operations. The patch below removes the sock_hold() and sock_put() in unix_stream_sendmsg(). This should be safe as the socket still holds a reference to its peer which is only released a

Re: Resend [PATCH netdev-2.6 2/8] e1000: Performance Enhancements

2005-12-09 Thread jamal
On Thu, 2005-08-12 at 21:25 +0100, Robert Olsson wrote: > David S. Miller writes: > > > > BTW, this is all related to SKB recycling. > > > > For example, if this is just a TCP ACK, we can do better than > > copybreak and just let the driver use the SKB again upon > > return from netif_recei

Re: Resend [PATCH netdev-2.6 2/8] e1000: Performance Enhancements

2005-12-09 Thread jamal
On Thu, 2005-08-12 at 17:57 +0100, Eric Dumazet wrote: > > right, after i did this code, i realized that, and it is demonstrable > > that #4 hurts, if only a little. > > I'm sticking with my suggestion we go to #1,#2,#5 > > I would try another thing : #1,#2,#4bis > > #4bis prefetch(&nex

Re: [PATCH] hostap: avoid calling kmalloc while holding spinlock

2005-12-09 Thread John W. Linville
On Fri, Dec 09, 2005 at 09:08:47PM +0100, Francois Romieu wrote: > John W. Linville <[EMAIL PROTECTED]> : > [...] > > __prism2_translate_scan uses kmalloc to dynamically allocates a buffer > > for holding some textual diagnostic output, and it does so while holding a > > spinlock. With CONFIG_DEBU

Re: [PATCH] hostap: avoid calling kmalloc while holding spinlock

2005-12-09 Thread Francois Romieu
John W. Linville <[EMAIL PROTECTED]> : [...] > __prism2_translate_scan uses kmalloc to dynamically allocates a buffer > for holding some textual diagnostic output, and it does so while holding a > spinlock. With CONFIG_DEBUG_SPINLOCK_SLEEP defined, this causes debug > messages to appear in /var/lo

[PATCH 14/20] sky2: interrupt coalescing tuning

2005-12-09 Thread Stephen Hemminger
Adjust interrupt deferral values for better performance and avoid starvation issues under stress. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -2115,9 +2115,8 @@ static int sky2_reset(struct sky2_hw *hw

[PATCH 15/20] sky2: handle tx timeout

2005-12-09 Thread Stephen Hemminger
Put more logic in to try and handle transmit timeout recovery. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -661,7 +661,7 @@ static void sky2_qset(struct sky2_hw *hw /* Setup prefetch unit registers. This is t

[PATCH 03/20] sky2: copy threshold as module parameter

2005-12-09 Thread Stephen Hemminger
Make the copy threshold a module parameter for those who may want to turn it off. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -76,7 +76,6 @@ #define RX_LE_BYTES(RX_LE_SIZE*sizeof(struct sky2_rx_le)

[PATCH 05/20] sky2: phy processing in workqueue rather than tasklet

2005-12-09 Thread Stephen Hemminger
Do phy processing in a work queue rather than a tasklet. This means we can let bottom halves run. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -43,6 +43,7 @@ #include #include #include +#include #includ

[PATCH 09/20] sky2: tx/rx ring data structure split

2005-12-09 Thread Stephen Hemminger
Split Tx and Rx ring into two different data structures. Tx needs the next value (to handle partial status), and Rx always needs the mapaddr (to handle resubmitting same buffer). Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/

[PATCH 10/20] sky2: transmit logic fixes

2005-12-09 Thread Stephen Hemminger
Some transmit side small fixes: * When computing number of list elements per transmit, do full comparision to check for checksuming. * Get rid of racy check for tx_complete * Change stop test to match wake condition. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig

[PATCH 13/20] sky2: interrupt/poll optimization

2005-12-09 Thread Stephen Hemminger
Optimize poll routine by not clearing interrupt till after processing, and checking for more work before re-enable. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -1736,7 +1736,6 @@ static int sky2_poll(struct ne

[PATCH 12/20] sky2: transmit complete routine optimization

2005-12-09 Thread Stephen Hemminger
Hand optimize transmit completion routine. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -1227,6 +1227,8 @@ out_unlock: static void sky2_tx_complete(struct sky2_port *sky2, u16 done) { struct net_device

[PATCH 04/20] sky2: ethtool get/set interrupt coalescing

2005-12-09 Thread Stephen Hemminger
Add support for get/set the interrupt coalescing settings. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-2.6.orig/drivers/net/sky2.c +++ sky2-2.6/drivers/net/sky2.c @@ -24,9 +24,6 @@ */ /* - * TODO - * - coalescing setting? - * * TOTEST * - speed setting *

[PATCH 16/20] sky2: quiet ring full message in case of race

2005-12-09 Thread Stephen Hemminger
Don't print ring full message if we lose race. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -1081,11 +1081,16 @@ static int sky2_xmit_frame(struct sk_buf return NETDEV_TX_LOCKED; if (un

[PATCH 07/20] sky2: ring distance optimization

2005-12-09 Thread Stephen Hemminger
Faster way to compute ring distance. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -1039,7 +1039,7 @@ err_out: /* Modular subtraction in ring */ static inline int tx_dist(unsigned tail, unsigned head) { -

[PATCH 18/20] sky2: turn on tx flow control

2005-12-09 Thread Stephen Hemminger
Turn symmetric flow control on by default. This was an oversight in the initial versions. Signed-off-by: Stephen HEmminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -2921,7 +2921,7 @@ static __devinit struct net_device *sky2 spin_loc

[PATCH 11/20] sky2: transmit complete index optimization

2005-12-09 Thread Stephen Hemminger
Change transmit complete handling to use the status values in the poll list because they are in-cache, rather than reading non-cached memory for chips status. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -1274,

[PATCH 00/20] sky2:

2005-12-09 Thread Stephen Hemminger
Update to sky2 driver incorporating a number of bug fixes for stress test failures and other small optimizations. Includes new ethtool interrupt coalescing support. -- Stephen Hemminger <[EMAIL PROTECTED]> OSDL http://developer.osdl.org/~shemminger - To unsubscribe from this list: send the line "

[PATCH 17/20] sky2: prefetch tuning

2005-12-09 Thread Stephen Hemminger
Add a couple more prefetches to where we walk the rings. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -45,6 +45,7 @@ #include #include #include +#include #include #include @@ -1248,6 +1249,7 @@ sta

[PATCH 01/20] sky2: don't die if we see chip rev 0xb5

2005-12-09 Thread Stephen Hemminger
There maybe new versions of Yukon2 in the future, so make the driver more robust to handle this. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-2.6.orig/drivers/net/sky2.c +++ sky2-2.6/drivers/net/sky2.c @@ -128,17 +128,15 @@ MODULE_DEVICE_TABLE(pci, sky2_id_table); static const

[PATCH 20/20] sky2: version 0.10

2005-12-09 Thread Stephen Hemminger
Change version number. Still don't have enough history on this to call it 1.0 yet. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -57,7 +57,7 @@ #include "sky2.h" #define DRV_NAME "sky2" -#defin

[PATCH 08/20] sky2: map length optimization

2005-12-09 Thread Stephen Hemminger
Don't need to keep track of mapping length in ring structure because we can get the same info from other info. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -729,23 +729,23 @@ static inline u32 high32(dma_addr_t

[PATCH 02/20] sky2: device structure alignment

2005-12-09 Thread Stephen Hemminger
It is a useful optimization to rearrange the structure slightly to align receive and transmit portions. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-2.6.orig/drivers/net/sky2.h +++ sky2-2.6/drivers/net/sky2.h @@ -1790,17 +1790,17 @@ struct sky2_port { unsigned

[PATCH 06/20] sky2: no irq disable needed during tx

2005-12-09 Thread Stephen Hemminger
Don't need to disable interrupts during the transmit routine. Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- sky2-netdev.orig/drivers/net/sky2.c +++ sky2-netdev/drivers/net/sky2.c @@ -868,15 +868,14 @@ static void sky2_vlan_rx_register(struct struct sky2_port *sky2 = netdev_pri

Re: [PATCH] pcnet32: use MAC address from prom also on powerpc

2005-12-09 Thread John W. Linville
On Fri, Dec 09, 2005 at 07:12:10PM +0100, Olaf Hering wrote: > > The CSR contains garbage after a coldboot on RS/6000. > One some systems (like my 44p 270) the MAC address is all FF, > on others (like my B50) it is ff:ff:ff:fd:ff:6b. > > It can eventually be fixed by loading pcnet32, set the inte

[PATCH] pcnet32: use MAC address from prom also on powerpc

2005-12-09 Thread Olaf Hering
The CSR contains garbage after a coldboot on RS/6000. One some systems (like my 44p 270) the MAC address is all FF, on others (like my B50) it is ff:ff:ff:fd:ff:6b. It can eventually be fixed by loading pcnet32, set the interface into the UP state, rmmod pcnet32 and load it again. But this worked

[PATCH] hostap: avoid calling kmalloc while holding spinlock

2005-12-09 Thread John W. Linville
From: John W. Linville <[EMAIL PROTECTED]> __prism2_translate_scan uses kmalloc to dynamically allocates a buffer for holding some textual diagnostic output, and it does so while holding a spinlock. With CONFIG_DEBUG_SPINLOCK_SLEEP defined, this causes debug messages to appear in /var/log/message

[PATCH] via-velocity: use NETIF_F_IP_CSUM (hardware only support IPv4)

2005-12-09 Thread John W. Linville
From: John W. Linville <[EMAIL PROTECTED]> At least some versions of the via-velocity hardware only support checksumming IPv4 frames in hardware. However, the driver is currently setting the NETIF_F_HW_CSUM flag, which indicates support for more than just IPv4. This results in errors when trying

Re: [PATCH][IPv6][IPsec] fix pmtu calculation of esp

2005-12-09 Thread Kazunori Miyazawa
Hello David, David S. Miller wrote: From: Kazunori Miyazawa <[EMAIL PROTECTED]> Date: Fri, 09 Dec 2005 13:20:14 +0900 I send a patch to fix pmtu calculation of IPv6 ESP. It is a simple bug which uses the wrong member. This bug does not seriously affect ordinary use of IPsec. But it is import

Re: [PATCH] natsemi: NAPI support

2005-12-09 Thread Mark Brown
On Tue, Dec 06, 2005 at 10:56:19PM +0100, Francois Romieu wrote: > netif_rx_schedule_prep return netif_running(dev) && > dev_close clear_bit(__LINK_STATE_START, &dev->state); Oh, of course - thanks for bearing wth me. Will fix that too and resubmit. -- "You grabbed my hand and we

Re: 2.6.14 (FC4) orinoco_cs issues and/with IPv6 addrconf

2005-12-09 Thread YOSHIFUJI Hideaki / 吉藤英明
In article <[EMAIL PROTECTED]> (at Fri, 9 Dec 2005 12:02:03 +0200 (EET)), Pekka Savola <[EMAIL PROTECTED]> says: > How do you differentiate between these two cases? One is valid while > the other is not, but both seem valid to me. > > default via fe80::20a:5eff:fe51:7d58 dev eth1 proto kernel

Re: 2.6.14 (FC4) orinoco_cs issues and/with IPv6 addrconf

2005-12-09 Thread YOSHIFUJI Hideaki / 吉藤英明
In article <[EMAIL PROTECTED]> (at Fri, 9 Dec 2005 11:45:04 +0200 (EET)), Pekka Savola <[EMAIL PROTECTED]> says: > 1) after reboot (card in slot), default route shows up, but does not > get renewed. After timer expiry, the expiry timer seems to wrap > around, and after a couple of seconds, the

2.6.14 (FC4) orinoco_cs issues and/with IPv6 addrconf

2005-12-09 Thread Pekka Savola
Hi, This issue has been bugging me on and off for a while, so I thought to write it up and test it a bit more extensively. I'm running FC4 on a Thinkpad laptop and an external old Orinoco WLAN card. I have observed four, probably somewhat related phenomena: A) when router lifetime is abou