Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b2cbbd8e0e8093fbf115ac2669482b016d781c78
Commit:     b2cbbd8e0e8093fbf115ac2669482b016d781c78
Parent:     4c44fd009ae79fc04e2c049f708792ad83400dde
Author:     Don Fry <[EMAIL PROTECTED]>
AuthorDate: Mon Mar 5 18:13:09 2007 -0800
Committer:  Jeff Garzik <[EMAIL PROTECTED]>
CommitDate: Tue Mar 6 06:14:54 2007 -0500

    pcnet32: Fix PCnet32 performance bug on non-coherent architecutres
    
    The PCnet32 driver always passed the the size of the largest possible packet
    to the pci_dma_sync_single_for_cpu and pci_dma_sync_single_for_device.
    This results in a fairly large "colateral damage" in the caches and makes
    the flush operation itself much slower.  On a system with a 40MHz CPU this
    patch increases network bandwidth by about 12%.
    
    Signed-off-by: Ralf Baechle <[EMAIL PROTECTED]>
    Acked-by: Don Fry <[EMAIL PROTECTED]>
    Signed-off-by: Jeff Garzik <[EMAIL PROTECTED]>
---
 drivers/net/pcnet32.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c
index 36f9d98..4d94ba7 100644
--- a/drivers/net/pcnet32.c
+++ b/drivers/net/pcnet32.c
@@ -1234,14 +1234,14 @@ static void pcnet32_rx_entry(struct net_device *dev,
                skb_put(skb, pkt_len);  /* Make room */
                pci_dma_sync_single_for_cpu(lp->pci_dev,
                                            lp->rx_dma_addr[entry],
-                                           PKT_BUF_SZ - 2,
+                                           pkt_len,
                                            PCI_DMA_FROMDEVICE);
                eth_copy_and_sum(skb,
                                 (unsigned char *)(lp->rx_skbuff[entry]->data),
                                 pkt_len, 0);
                pci_dma_sync_single_for_device(lp->pci_dev,
                                               lp->rx_dma_addr[entry],
-                                              PKT_BUF_SZ - 2,
+                                              pkt_len,
                                               PCI_DMA_FROMDEVICE);
        }
        lp->stats.rx_bytes += skb->len;
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to