Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

I/OAT: set tcp_dma_copybreak to 256k for I/OAT ver.3

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>

authored by

Maciej Sosnowski and committed by
Dan Williams
5de22343 2b8a6bf8

+3 -1
+3 -1
drivers/dma/ioatdma.h
··· 135 135 #ifdef CONFIG_NET_DMA 136 136 switch (dev->version) { 137 137 case IOAT_VER_1_2: 138 - case IOAT_VER_3_0: 139 138 sysctl_tcp_dma_copybreak = 4096; 140 139 break; 141 140 case IOAT_VER_2_0: 142 141 sysctl_tcp_dma_copybreak = 2048; 142 + break; 143 + case IOAT_VER_3_0: 144 + sysctl_tcp_dma_copybreak = 262144; 143 145 break; 144 146 } 145 147 #endif