Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 1 Sep 2016 08:01:13 +0000 (UTC)
From:      Sepherosa Ziehau <sephe@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r305189 - stable/10/sys/netinet
Message-ID:  <201609010801.u8181D3l056625@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: sephe
Date: Thu Sep  1 08:01:13 2016
New Revision: 305189
URL: https://svnweb.freebsd.org/changeset/base/305189

Log:
  MFC 304202
      tcp/lro: Make # of LRO entries tunable
  
      Reviewed by:    hps, gallatin
      Obtained from:  rrs, gallatin
      Sponsored by:   Netflix (rrs, gallatin), Microsoft (sephe)
      Differential Revision:  https://reviews.freebsd.org/D7499

Modified:
  stable/10/sys/netinet/tcp_lro.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/tcp_lro.c
==============================================================================
--- stable/10/sys/netinet/tcp_lro.c	Thu Sep  1 07:53:59 2016	(r305188)
+++ stable/10/sys/netinet/tcp_lro.c	Thu Sep  1 08:01:13 2016	(r305189)
@@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/mbuf.h>
 #include <sys/kernel.h>
 #include <sys/socket.h>
+#include <sys/sysctl.h>
 
 #include <net/if.h>
 #include <net/if_var.h>
@@ -53,6 +54,7 @@ __FBSDID("$FreeBSD$");
 #include <netinet/ip_var.h>
 #include <netinet/tcp.h>
 #include <netinet/tcp_lro.h>
+#include <netinet/tcp_var.h>
 
 #include <netinet6/ip6_var.h>
 
@@ -67,6 +69,14 @@ __FBSDID("$FreeBSD$");
 #define	TCP_LRO_INVALID_CSUM	0x0000
 #endif
 
+SYSCTL_NODE(_net_inet_tcp, OID_AUTO, lro,  CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
+    "TCP LRO");
+
+static unsigned	tcp_lro_entries = LRO_ENTRIES;
+SYSCTL_UINT(_net_inet_tcp_lro, OID_AUTO, entries,
+    CTLFLAG_RDTUN | CTLFLAG_MPSAFE, &tcp_lro_entries, 0,
+    "default number of LRO entries");
+
 int
 tcp_lro_init(struct lro_ctrl *lc)
 {
@@ -81,7 +91,7 @@ tcp_lro_init(struct lro_ctrl *lc)
 	SLIST_INIT(&lc->lro_active);
 
 	error = 0;
-	for (i = 0; i < LRO_ENTRIES; i++) {
+	for (i = 0; i < tcp_lro_entries; i++) {
 		le = (struct lro_entry *)malloc(sizeof(*le), M_DEVBUF,
 		    M_NOWAIT | M_ZERO);
                 if (le == NULL) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609010801.u8181D3l056625>