diff options
author | Chris Leech <christopher.leech@intel.com> | 2006-05-23 21:02:55 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-06-18 00:25:54 -0400 |
commit | 9593782585e0cf70babe787a8463d492a68b1744 (patch) | |
tree | 149401a3973036452a07bed899e70d3b92abe1bf | |
parent | 624d1164730d58a494cc5aa4afa37d02c41e83a7 (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.h | 1 | ||||
-rw-r--r-- | include/net/tcp.h | 1 | ||||
-rw-r--r-- | net/core/user_dma.c | 4 | ||||
-rw-r--r-- | net/ipv4/sysctl_net_ipv4.c | 10 |
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 | ||
408 | enum { | 409 | enum { |
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; | |||
219 | extern int sysctl_tcp_tw_reuse; | 219 | extern int sysctl_tcp_tw_reuse; |
220 | extern int sysctl_tcp_frto; | 220 | extern int sysctl_tcp_frto; |
221 | extern int sysctl_tcp_low_latency; | 221 | extern int sysctl_tcp_low_latency; |
222 | extern int sysctl_tcp_dma_copybreak; | ||
222 | extern int sysctl_tcp_nometrics_save; | 223 | extern int sysctl_tcp_nometrics_save; |
223 | extern int sysctl_tcp_moderate_rcvbuf; | 224 | extern int sysctl_tcp_moderate_rcvbuf; |
224 | extern int sysctl_tcp_tso_win_divisor; | 225 | extern 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 | |||
35 | int 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 | ||