aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Leech <christopher.leech@intel.com>2006-05-23 21:02:55 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-06-18 00:25:54 -0400
commit9593782585e0cf70babe787a8463d492a68b1744 (patch)
tree149401a3973036452a07bed899e70d3b92abe1bf
parent624d1164730d58a494cc5aa4afa37d02c41e83a7 (diff)
[I/OAT]: Add a sysctl for tuning the I/OAT offloaded I/O threshold
Any socket recv of less than this ammount will not be offloaded Signed-off-by: Chris Leech <christopher.leech@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/linux/sysctl.h1
-rw-r--r--include/net/tcp.h1
-rw-r--r--net/core/user_dma.c4
-rw-r--r--net/ipv4/sysctl_net_ipv4.c10
4 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h
index 76eaeff76f82..cd9e7c0825ad 100644
--- a/include/linux/sysctl.h
+++ b/include/linux/sysctl.h
@@ -403,6 +403,7 @@ enum
403 NET_TCP_MTU_PROBING=113, 403 NET_TCP_MTU_PROBING=113,
404 NET_TCP_BASE_MSS=114, 404 NET_TCP_BASE_MSS=114,
405 NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115, 405 NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
406 NET_TCP_DMA_COPYBREAK=116,
406}; 407};
407 408
408enum { 409enum {
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 578cccf275d3..f1f472746e6c 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -219,6 +219,7 @@ extern int sysctl_tcp_adv_win_scale;
219extern int sysctl_tcp_tw_reuse; 219extern int sysctl_tcp_tw_reuse;
220extern int sysctl_tcp_frto; 220extern int sysctl_tcp_frto;
221extern int sysctl_tcp_low_latency; 221extern int sysctl_tcp_low_latency;
222extern int sysctl_tcp_dma_copybreak;
222extern int sysctl_tcp_nometrics_save; 223extern int sysctl_tcp_nometrics_save;
223extern int sysctl_tcp_moderate_rcvbuf; 224extern int sysctl_tcp_moderate_rcvbuf;
224extern int sysctl_tcp_tso_win_divisor; 225extern int sysctl_tcp_tso_win_divisor;
diff --git a/net/core/user_dma.c b/net/core/user_dma.c
index 9eee91bcbf3f..b7c98dbcdb81 100644
--- a/net/core/user_dma.c
+++ b/net/core/user_dma.c
@@ -30,6 +30,10 @@
30#include <linux/rtnetlink.h> /* for BUG_TRAP */ 30#include <linux/rtnetlink.h> /* for BUG_TRAP */
31#include <net/tcp.h> 31#include <net/tcp.h>
32 32
33#define NET_DMA_DEFAULT_COPYBREAK 4096
34
35int sysctl_tcp_dma_copybreak = NET_DMA_DEFAULT_COPYBREAK;
36
33/** 37/**
34 * dma_skb_copy_datagram_iovec - Copy a datagram to an iovec. 38 * dma_skb_copy_datagram_iovec - Copy a datagram to an iovec.
35 * @skb - buffer to copy 39 * @skb - buffer to copy
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 6b6c3adfcf00..6a6aa537b7aa 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -688,6 +688,16 @@ ctl_table ipv4_table[] = {
688 .mode = 0644, 688 .mode = 0644,
689 .proc_handler = &proc_dointvec 689 .proc_handler = &proc_dointvec
690 }, 690 },
691#ifdef CONFIG_NET_DMA
692 {
693 .ctl_name = NET_TCP_DMA_COPYBREAK,
694 .procname = "tcp_dma_copybreak",
695 .data = &sysctl_tcp_dma_copybreak,
696 .maxlen = sizeof(int),
697 .mode = 0644,
698 .proc_handler = &proc_dointvec
699 },
700#endif
691 { .ctl_name = 0 } 701 { .ctl_name = 0 }
692}; 702};
693 703