From owner-freebsd-net@freebsd.org Wed Jun 8 01:25:43 2016 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6E123B6FCD7 for ; Wed, 8 Jun 2016 01:25:43 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from reviews.nyi.freebsd.org (reviews.nyi.freebsd.org [IPv6:2610:1c1:1:607c::16:b]) by mx1.freebsd.org (Postfix) with ESMTP id 396C3173F for ; Wed, 8 Jun 2016 01:25:43 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id D3B1317F42; Wed, 8 Jun 2016 01:25:42 +0000 (UTC) Date: Wed, 8 Jun 2016 01:25:42 +0000 To: freebsd-net@freebsd.org From: "sepherosa_gmail.com (Sepherosa Ziehau)" Reply-to: D6689+325+6c89ed8b7a9bc66d@reviews.freebsd.org Subject: [Differential] D6689: tcp/lro: Implement hash table for LRO entries. Message-ID: <4897e404e91ca8ff9cf04a6e55432783@localhost.localdomain> X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: Thread-Topic: D6689: tcp/lro: Implement hash table for LRO entries. X-Herald-Rules: <64> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: ZGRkYTdkZDNmZDVlODIxOWE3MGU3NDg3NmVjIFdXdBY= MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="utf-8" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.22 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jun 2016 01:25:43 -0000 sepherosa_gmail.com added a comment. In https://reviews.freebsd.org/D6689#142118, @gallatin wrote: > Looks good in terms of not killing perf. for the sorted case, and I'm fine with it as-is. However, maybe an else would be better than a goto? Yeah, sure, I can move the bucket assignment into the {}, and use if-elseif-else to avoid goto. And as for performance, I am running the test using hash table currently. The result of nginx+wrk test is quite promising (web object sizes range from 1KB~40KB; for 4reqs/conn, 4~10K concurrent connection, I am getting 12%~14% performance improvement :). 14reqs/conn nginx+wrk test is still running. REVISION DETAIL https://reviews.freebsd.org/D6689 EMAIL PREFERENCES https://reviews.freebsd.org/settings/panel/emailpreferences/ To: sepherosa_gmail.com, rrs, glebius, gnn, bz, rwatson, #transport, hselasky, gallatin Cc: freebsd-net-list