I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3
authorMaciej Sosnowski <maciej.sosnowski@intel.com>
Thu, 26 Feb 2009 10:05:17 +0000 (11:05 +0100)
committerDan Williams <dan.j.williams@intel.com>
Wed, 4 Mar 2009 23:04:40 +0000 (16:04 -0700)
Upcoming server platforms from Intel based on the Nehalem performance
have significantly improved CPU based copy performance.
However, the DMA engine can still be effective at higher I/O sizes
for TCP traffic and at this time copybreak
should be set to 256k for TCP traffic only.

Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
drivers/dma/ioatdma.h

index a3306d0e1372a44b2950bc06d220d9b716f0bb00..dcf8db513c3a93af577ceec35f468d43c73c3a78 100644 (file)
@@ -135,12 +135,14 @@ static inline void ioat_set_tcp_copy_break(struct ioatdma_device *dev)
        #ifdef CONFIG_NET_DMA
        switch (dev->version) {
        case IOAT_VER_1_2:
-       case IOAT_VER_3_0:
                sysctl_tcp_dma_copybreak = 4096;
                break;
        case IOAT_VER_2_0:
                sysctl_tcp_dma_copybreak = 2048;
                break;
+       case IOAT_VER_3_0:
+               sysctl_tcp_dma_copybreak = 262144;
+               break;
        }
        #endif
 }