From owner-freebsd-current@FreeBSD.ORG Mon Jun 28 08:56:15 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id BB2A0106564A for ; Mon, 28 Jun 2010 08:56:15 +0000 (UTC) (envelope-from lstewart@freebsd.org) Received: from lauren.room52.net (lauren.room52.net [210.50.193.198]) by mx1.freebsd.org (Postfix) with ESMTP id 4B9F18FC1A for ; Mon, 28 Jun 2010 08:56:14 +0000 (UTC) Received: from lstewart.caia.swin.edu.au (lstewart.caia.swin.edu.au [136.186.229.95]) by lauren.room52.net (Postfix) with ESMTPSA id 9FD7D7E84A for ; Mon, 28 Jun 2010 18:56:12 +1000 (EST) Message-ID: <4C2863AB.50003@freebsd.org> Date: Mon, 28 Jun 2010 18:56:11 +1000 From: Lawrence Stewart User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.1.10) Gecko/20100625 Thunderbird/3.0.5 MIME-Version: 1.0 To: freebsd-current@freebsd.org References: <4C1492D0.6020704@freebsd.org> <4C1C3922.2050102@freebsd.org> In-Reply-To: <4C1C3922.2050102@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [CFT] SIFTR - Statistical Information For TCP Research: Uncle Lawrence needs YOU! X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jun 2010 08:56:15 -0000 Hi again, After my most recent appeal for testers, I received some excellent feedback and thank everyone that has tried the patch. I've ironed out a couple of bugs and have what I hope is the import-ready candidate patch available for a final round of testing. Please read on if you are able and willing to (re)test the code. On 06/19/10 13:27, Lawrence Stewart wrote: > Amount of feedback received thus far: nichts, nil, nada > > *sings "I'm so ronery" in his best Kim Jong-il voice* [4] > > Just like Uncle Sam [5], Uncle Lawrence needs you too - yes, I'm > pointing at YOU! > > More specifically, people out there running current with 10-15 mins to > spare for some testing, please read on. > > On 06/13/10 18:12, Lawrence Stewart wrote: >> Hi all, >> >> The time has come to solicit some external testing for my SIFTR tool. >> I'm hoping to commit it within a week or so unless problems are >> discovered. >> >> SIFTR is a kernel module that logs a range of statistics on active TCP >> connections to a log file. It provides the ability to make highly >> granular measurements of TCP connection state, aimed at system >> administrators, developers and researchers. You can use the data to find >> bugs in the stack, understand why connections are performing badly and >> test new code to name a few uses. >> >> Development has been made possible in part by grants from the Cisco >> University Research Program Fund at Community Foundation Silicon Valley, >> and the FreeBSD Foundation. Bringing it into FreeBSD proper is being >> carried out under the auspices of the "Enhancing the FreeBSD TCP >> Implementation" FreeBSD Foundation project. More details are available >> at [1,2,3]. >> >> If you can help out, please read on! [snip] Latest patch which fixes 2 bugs reported by testers and adds a bit more discussion to the man page is available here: http://people.freebsd.org/~lstewart/patches/tcp_ffcaia2008/siftr_9.x.r209558.patch Fixed bugs: - Running SIFTR on an INVARIANTS enabled kernel with a large number of TCP flows terminating on the machine would lead to a KASSERT triggering in the ALQ framework when SIFTR was disabled. - The "SACK enabled" data log message field was not being set correctly. If you would like to test on a kernel revision older then r209558, make sure you have my r209325 diff to applied. It is safe to apply r209325 stand alone as it is self contained and not used by any code in the tree other than SIFTR. Please adapt the following instructions as appropriate based on the patch version you're testing. >> Copy it to the root of your source tree and run the following: >> >> patch -p1 < siftr_9.x.r209119.patch >> >> It's a loadable kernel module so you can build it for testing like so: >> >> cd /sys/modules/siftr >> make >> kldload ./siftr.ko >> (don't forget to "make cleandir" to remove cruft when finished testing) It turns out that the above instructions to build the module can produce a .ko that is out of sync with your kernel in such a way that the module can load, but may blow up unexpectedly. This was observed when KTR was enabled in the running kernel. To be safe, please use the following procedure instead: - Ensure is the source tree that the kernel you are currently running was built from. cd make buildkernel cp /usr/obj//sys//modules//sys/modules/siftr/siftr.ko /tmp kldload /tmp/siftr.ko Alternatively for the last 2 steps, you can "make installkernel ; shutdown -r now" after the kernel build completes and then simply "kldload siftr" as the module will be installed to /boot/kernel/ as per usual. >> After applying the patch, you can read the man page by running: >> >> man -M /share/man siftr >> >> If I've done a decent job, all the info you need to understand what it >> does and how to use it should be in the man page. >> >> I'm interested in all feedback and reports of success/failure, along >> with details of the architecture tested and number of CPUs if you would >> be so kind. >> >> That should be enough to get the ball rolling. Thanks and I look forward >> to hearing from you! >> >> Cheers, >> Lawrence >> >> [1] http://caia.swin.edu.au/freebsd/etcp09/ >> >> [2] http://www.freebsdfoundation.org/projects.shtml#Swinburne >> >> [3] http://caia.swin.edu.au/urp/newtcp/ > > [4] http://www.youtube.com/watch?v=xh_9QhRzJEs (language warning) > > [5] http://www.sonofthesouth.net/uncle-sam/images/uncle-sam-wants-you.jpg Cheers, Lawrence