From owner-freebsd-net@FreeBSD.ORG Thu Jan 10 15:33:10 2008 Return-Path: <owner-freebsd-net@FreeBSD.ORG> Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 17AE216A469; Thu, 10 Jan 2008 15:33:10 +0000 (UTC) (envelope-from rrs@cisco.com) Received: from sj-iport-1.cisco.com (sj-iport-1-in.cisco.com [171.71.176.70]) by mx1.freebsd.org (Postfix) with ESMTP id DF22013C458; Thu, 10 Jan 2008 15:33:09 +0000 (UTC) (envelope-from rrs@cisco.com) X-IronPort-AV: E=Sophos;i="4.24,267,1196668800"; d="scan'208";a="6682633" Received: from sj-dkim-1.cisco.com ([171.71.179.21]) by sj-iport-1.cisco.com with ESMTP; 10 Jan 2008 07:05:08 -0800 Received: from sj-core-4.cisco.com (sj-core-4.cisco.com [171.68.223.138]) by sj-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m0AF58U7013328; Thu, 10 Jan 2008 07:05:08 -0800 Received: from xbh-sjc-231.amer.cisco.com (xbh-sjc-231.cisco.com [128.107.191.100]) by sj-core-4.cisco.com (8.12.10/8.12.6) with ESMTP id m0AF58tg020190; Thu, 10 Jan 2008 15:05:08 GMT Received: from xfe-sjc-212.amer.cisco.com ([171.70.151.187]) by xbh-sjc-231.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 10 Jan 2008 07:05:07 -0800 Received: from [127.0.0.1] ([171.68.225.134]) by xfe-sjc-212.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Thu, 10 Jan 2008 07:05:06 -0800 Message-ID: <4786338D.5050801@cisco.com> Date: Thu, 10 Jan 2008 10:02:37 -0500 From: Randall Stewart <rrs@cisco.com> User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.13) Gecko/20070601 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Robert Watson <rwatson@freebsd.org> References: <20071219123305.Y95322@fledge.watson.org> In-Reply-To: <20071219123305.Y95322@fledge.watson.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 10 Jan 2008 15:05:07.0052 (UTC) FILETIME=[2FB502C0:01C8539A] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=6785; t=1199977508; x=1200841508; c=relaxed/simple; s=sjdkim1004; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=rrs@cisco.com; z=From:=20Randall=20Stewart=20<rrs@cisco.com> |Subject:=20Re=3A=20Coordinating=20TCP=20projects |Sender:=20; bh=xASVwf4yxlw0TpW7wsy7fFFUREOxmnZArXsC1tPpVJk=; b=PJTto/Ip0qIWS6nG4SKQ8wHZ8BqoGJ/i/mwo8QwygJHTdjExMa+HxYs7CD 3UH2WOAlaq6v8ENEoa/0/UW2PxoQXyCHeN7f312Th0Ru5M65tuqfke1AzKgg uFOk0RM/cZIQb/njOZ9sD9RKq9ABlh2zjIwJrSypadq0K2evhHx4U=; Authentication-Results: sj-dkim-1; header.From=rrs@cisco.com; dkim=pass ( sig from cisco.com/sjdkim1004 verified; ); Cc: James Healy <jhealy@swin.edu.au>, arch@freebsd.org, Lawrence Stewart <lastewart@swin.edu.au>, net@freebsd.org Subject: Re: Coordinating TCP projects X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD <freebsd-net.freebsd.org> List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>, <mailto:freebsd-net-request@freebsd.org?subject=unsubscribe> List-Archive: <http://lists.freebsd.org/pipermail/freebsd-net> List-Post: <mailto:freebsd-net@freebsd.org> List-Help: <mailto:freebsd-net-request@freebsd.org?subject=help> List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/freebsd-net>, <mailto:freebsd-net-request@freebsd.org?subject=subscribe> X-List-Received-Date: Thu, 10 Jan 2008 15:33:10 -0000 Robert: One thing I would like to point out for one of Lawrence's project is that SCTP is also hanging around in the kernel and as part of one of our URP's (which is also where Lawrence's project came from.. if I remember right)... we added "selectable" congestion control to SCTP.. well it was not really a URP come to think of it.. but what I kept an intern busy doing last summer :-) Now, the SCTP code DID NOT do kernel loadable CC modules like Lawrences... which is cool.. so .. I wonder.. Would it be possible to take what Lawrence did and generalize it so that *ANY* transport could use it.. i.e. both TCP and SCTP. This would yeild an interesting advantage in that any time one added a CC algorithm all transports would have access to them. Not having looked at the patches yet, what may be missing in the TCP code is to select amongst multiple CC algorithms... we actually have this down to the SCTP association level.. So I can in theory have different associations out of the same box using different CC modules... There might be some good ideas we can harvest from both approaches and make available to all transports... Just some thoughts mind you :-) R Robert Watson wrote: > > Dear all, > > It is rapidly becoming clear that quite a few of us have Big Plans for > the TCP implementation over the next 12-18 months. It's important that > we get the plans out on the table now so that everyone working on these > projects is aware of the larger context. This will encourage > collaboration, but also allow us to manage the risks inevitably > associated with having several simultaneous projects going on in a very > complex software base. With that in mind, here are the large projects > I'm currently aware of: > > Project Flag Wavers Status > ------- ----------- ------ > TCP offload Kip Macy Moving to CVS and under > review and testing; one > supporting device driver. > > TCP congestion control Sam Leffler, At least one prototype > Rui Paulo, implementation, to move to p4 > Andre Oppermann, > Kip Macy, > Lawrence Stewart, > James Healy > > TCP overhaul Andre Oppermann Glimmer in eye, to move to > p4. > > TCP lock granularity/ Robert Watson Glimmer in eye, to occur in > increased parallelism p4. > > TCP timer unification Andre Oppermann, Previously committed, and to > Mike Silbersack be reintroduced via p4. > > Monitoring ABI cleanup Robert Watson Glimmer in eye, to occur in > p4. > > Looking at the above, it sounds like a massive amount of work taking > place, so we will need to coordinate carefully. I'd like to encourage > people to avoid creating unnecessary dependencies between changes, and > to be especially careful in coordinating potentially MFCable changes. > There are (at least) two conflicting scheduling desires in play here: > > - A desire to merge MFCable changes early, so that they aren't entangled > with > un-mergeable changes. This will simplify merging and also maximize the > extent to which testing in HEAD will apply to them once merged to > RELENG_7. > > - A desire to merge large-scale infrastructural changes early so that > they see > the greatest exposure, and so that they can be introduced > incrementally over > a longer period of time to shake each out. > > Both of these are valid perspectives, and will need to be balanced. I > have a few questions, then, for people involved in these or other projects: > > (0) Is your project in the above list? If not, could you send out a reply > talking a bit about the project, who's involved, where it's taking > place, > etc. > > (1) What is your availability to shepherd the project through its entire > cycle, including early prototyping, design review, development, > implementation review, testing, and the inevitable long debugging tail > that all TCP projects have. > > (2) When do you think your implementation will reach a prototype phase > appropriate for an expanded circle of reviewers? When do you think it > might be ready for commit? Keep in mind that we're now a month or > so into > the 18-month cycle for 8.0, and that all serious TCP work should be > completed at least six months before the end of the cycle. > > (3) What potential interactions of note exist between your project and the > others being planned. Are there explicit dependencies? > > (4) Do you anticipate an MFC cycle for your work to RELENG_7? > > I'd like for us to create a wiki page tracking these various projects, > and pointing at per-project resources. Once the discussion has settled > a bit, I can take responsibility for creating such a page, but will need > everyone involved to help maintain it, as well as to maintain pages (on > the wiki or elsewhere) regarding the status of the projects. I think it > also makes a lot of sense for participants in the projects to send > occasional updates and reports to net@/arch@ in order to keep people who > can't track things day-to-date in the loop, and to invite review. > > At the end of the day, we must be clear: the only way even a fraction of > these projects can happen in time for 8.0 is if there is careful > planning, coordination, and exception care taken in the review and > testing of the changes. We cannot have the 8.0 release cycle put at > risk the way the 7.0 cycle was due to inadequately reviwed and tested > patches entering the tree under the assumption that problems would > somehow be magically found and fixed before the release by the > relatively small population of -CURRENT users. Experience tells us that > changes must be extensively reviewed and tested before they enter the tree. > > I'm really looking forward to the 8 development cycle, and the work > that's in the pipeline is really very exciting. It will take quite a > bit of dedication to make it all happen, but if even only a small part > of it happens, it will still be very good news. > > Robert N M Watson > Computer Laboratory > University of Cambridge > _______________________________________________ > freebsd-arch@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org" > -- Randall Stewart NSSTG - Cisco Systems Inc. 803-345-0369 <or> 803-317-4952 (cell)