From patchwork Sat Feb 28 14:44:27 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Ilpo_J=C3=A4rvinen?= X-Patchwork-Id: 23880 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id BDD23DDDB2 for ; Sun, 1 Mar 2009 01:44:59 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752770AbZB1Oov (ORCPT ); Sat, 28 Feb 2009 09:44:51 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752665AbZB1Oou (ORCPT ); Sat, 28 Feb 2009 09:44:50 -0500 Received: from courier.cs.helsinki.fi ([128.214.9.1]:58368 "EHLO mail.cs.helsinki.fi" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752524AbZB1Oop (ORCPT ); Sat, 28 Feb 2009 09:44:45 -0500 Received: from wrl-59.cs.helsinki.fi (wrl-59.cs.helsinki.fi [128.214.166.179]) (AUTH: PLAIN cs-relay, TLS: TLSv1/SSLv3,256bits,AES256-SHA) by mail.cs.helsinki.fi with esmtp; Sat, 28 Feb 2009 16:44:43 +0200 id 0008C1B4.49A94DDB.00003558 Received: by wrl-59.cs.helsinki.fi (Postfix, from userid 50795) id E5867A00A4; Sat, 28 Feb 2009 16:44:42 +0200 (EET) From: "=?ISO-8859-1?Q?Ilpo_J=E4rvinen?=" To: David Miller Cc: netdev@vger.kernel.org, "=?utf-8?q?Ilpo=20J=C3=A4rvinen?=" Subject: [PATCH net-next 02/17] tcp: don't backtrack to sacked skbs Date: Sat, 28 Feb 2009 16:44:27 +0200 Message-Id: <1235832282317-git-send-email-ilpo.jarvinen@helsinki.fi> X-Mailer: git-send-email 1.5.2.2 In-Reply-To: <12358322821434-git-send-email-ilpo.jarvinen@helsinki.fi> References: <12358322821815-git-send-email-ilpo.jarvinen@helsinki.fi> <12358322821434-git-send-email-ilpo.jarvinen@helsinki.fi> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Ilpo Järvinen Backtracking to sacked skbs is a horrible performance killer since the hint cannot be advanced successfully past them... ...And it's totally unnecessary too. In theory this is 2.6.27..28 regression but I doubt anybody can make .28 to have worse performance because of other TCP improvements. Signed-off-by: Ilpo Järvinen --- net/ipv4/tcp_output.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index f6f61b3..2471cd4 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -2065,7 +2065,7 @@ begin_fwd: goto begin_fwd; } else if (!(sacked & TCPCB_LOST)) { - if (hole == NULL && !(sacked & TCPCB_SACKED_RETRANS)) + if (hole == NULL && !(sacked & (TCPCB_SACKED_RETRANS|TCPCB_SACKED_ACKED))) hole = skb; continue;