From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753371AbbKBJiL (ORCPT ); Mon, 2 Nov 2015 04:38:11 -0500 Received: from smtp-out6.electric.net ([192.162.217.195]:55905 "EHLO smtp-out6.electric.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750873AbbKBJiH (ORCPT ); Mon, 2 Nov 2015 04:38:07 -0500 From: David Laight To: =?utf-8?B?J0JlbmRpayBSw7hubmluZyBPcHN0YWQn?= , "David S. Miller" , Alexey Kuznetsov , James Morris , Hideaki YOSHIFUJI , Patrick McHardy , Jonathan Corbet CC: Eric Dumazet , Neal Cardwell , Tom Herbert , Yuchung Cheng , "Paolo Abeni" , Erik Kline , Hannes Frederic Sowa , Al Viro , Jiri Pirko , Alexander Duyck , "Florian Westphal" , Daniel Lee , "Marcelo Ricardo Leitner" , Daniel Borkmann , "Willem de Bruijn" , =?utf-8?B?TGludXMgTMO8c3Npbmc=?= , "linux-doc@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-api@vger.kernel.org" , Andreas Petlund , "Carsten Griwodz" , =?utf-8?B?UMOlbCBIYWx2b3JzZW4=?= , Jonas Markussen , Kristian Evensen , Kenneth Klette Jonassen , =?utf-8?B?QmVuZGlrIFLDuG5uaW5nIE9wc3RhZA==?= Subject: RE: [PATCH RFC net-next 2/2] tcp: Add Redundant Data Bundling (RDB) Thread-Topic: [PATCH RFC net-next 2/2] tcp: Add Redundant Data Bundling (RDB) Thread-Index: AQHRDdVXLHW12Ns+A0OejBNOpGG5QZ6Ig7gQ Date: Mon, 2 Nov 2015 09:37:54 +0000 Message-ID: <063D6719AE5E284EB5DD2968C1650D6D1CBC86F1@AcuExch.aculab.com> References: <1445633413-3532-1-git-send-email-bro.devel+kernel@gmail.com> <1445633413-3532-3-git-send-email-bro.devel+kernel@gmail.com> In-Reply-To: <1445633413-3532-3-git-send-email-bro.devel+kernel@gmail.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.202.99.200] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Outbound-IP: 213.249.233.130 X-Env-From: David.Laight@ACULAB.COM X-PolicySMART: 3396946, 3397078 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id tA29cFi1030401 From: Bendik Rønning Opstad > Sent: 23 October 2015 21:50 > RDB is a mechanism that enables a TCP sender to bundle redundant > (already sent) data with TCP packets containing new data. By bundling > (retransmitting) already sent data with each TCP packet containing new > data, the connection will be more resistant to sporadic packet loss > which reduces the application layer latency significantly in congested > scenarios. What sort of traffic flows do you expect this to help? An ssh (or similar) connection will get additional data to send, but that sort of data flow needs Nagle in order to reduce the number of packets sent. OTOH it might benefit from including unacked data if the Nagle timer expires. Being able to set the Nagle timer on a per-connection basis (or maybe using something based on the RTT instead of 2 secs) might make packet loss less problematic. Data flows that already have Nagle disabled (probably anything that isn't command-response and isn't unidirectional bulk data) are likely to generate a lot of packets within the RTT. Resending unacked data will just eat into available network bandwidth and could easily make any congestion worse. I think that means you shouldn't resend data more than once, and/or should make sure that the resent data isn't a significant overhead on the packet being sent. David ÿôèº{.nÇ+‰·Ÿ®‰­†+%ŠËÿ±éݶ¥Šwÿº{.nÇ+‰·¥Š{±þG«�éÿŠ{ayºʇڙë,j­¢f£¢·hš�ï�êÿ‘êçz_è®(­éšŽŠÝ¢j"�ú¶m§ÿÿ¾«þG«�éÿ¢¸?™¨è­Ú&£ø§~�á¶iO•æ¬z·švØ^¶m§ÿÿà ÿ¶ìÿ¢¸?–I¥