From owner-freebsd-current@FreeBSD.ORG Sat Jun 19 08:48:42 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 BBF901065670 for ; Sat, 19 Jun 2010 08:48:42 +0000 (UTC) (envelope-from pluknet@gmail.com) Received: from mail-wy0-f182.google.com (mail-wy0-f182.google.com [74.125.82.182]) by mx1.freebsd.org (Postfix) with ESMTP id 29A348FC0C for ; Sat, 19 Jun 2010 08:48:41 +0000 (UTC) Received: by wyb33 with SMTP id 33so1713089wyb.13 for ; Sat, 19 Jun 2010 01:48:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:cc:content-type; bh=EoxhL0F2bw6IW+j1+HHz4x3B2H1sFXdDxIZOoeKeAuA=; b=GdDcDUQ1GVRSVz9Ny2l2SbJcCMSfTISzTFnLHo8/HVPkG+KLrxTrtNuSlL0LgGFxPm mXI7Jy8QxgN4Y7gMg0WWI9ttPF1SscJE+BKeyqibj//ByD3Dtf0MSHnfDZg4ecYiSXGX jvzzzGKZpHfrh2bKiVBVwnWzdAWBAr0G3OK8A= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=kryvYg1yA9u+N6q70F5infL1ghN9K+zGV8C3a1BKuAunir1m8vB3B3Bw6Ud2ayLrfJ DYRgE7spjPTqm5wwdvI9EDc5j5tMDkZ+PqxZZhfy3sAs2G5SzCoT1dhLbwdDvGoMbnhA h2mwLJa1V8YVcTkEMi9EHZB3tgYo3kH18khQE= MIME-Version: 1.0 Received: by 10.216.87.5 with SMTP id x5mr1558985wee.90.1276937320918; Sat, 19 Jun 2010 01:48:40 -0700 (PDT) Received: by 10.216.51.78 with HTTP; Sat, 19 Jun 2010 01:48:40 -0700 (PDT) In-Reply-To: <4C1492D0.6020704@freebsd.org> References: <4C1492D0.6020704@freebsd.org> Date: Sat, 19 Jun 2010 12:48:40 +0400 Message-ID: From: pluknet To: Lawrence Stewart Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-current@freebsd.org Subject: Re: [CFT] SIFTR - Statistical Information For TCP Research 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: Sat, 19 Jun 2010 08:48:42 -0000 On 13 June 2010 12: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! > > Before continuing, make sure you're running with at least svn revision > 209119 (my commit to ), or you can manually apply the r209119 > diff to to your earlier rev source tree. > > The SIFTR patch is here: > > http://people.freebsd.org/~lstewart/patches/tcp_ffcaia2008/siftr_9.x.r209119.patch > > 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) > > 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/ Hi. I'm seeing this right after enabling siftr via sysctl and changing ppl. Sorry, if that was already discussed, known or unrelated (since em is in locking chain). lock order reversal: 1st 0xffffffff80e51568 PFil hook read/write mutex (PFil hook read/write mutex) @ /usr/src/sys/net/pfil.c:77 2nd 0xffffffff80e52788 tcp (tcp) @ /usr/src/sys/modules/siftr/../../netinet/siftr.c:698 KDB: stack backtrace: db_trace_self_wrapper() at db_trace_self_wrapper+0x2a _witness_debugger() at _witness_debugger+0x2e witness_checkorder() at witness_checkorder+0x81e _rw_rlock() at _rw_rlock+0x5f siftr_chkpkt() at siftr_chkpkt+0x374 pfil_run_hooks() at pfil_run_hooks+0xcf ip_input() at ip_input+0x2ae netisr_dispatch_src() at netisr_dispatch_src+0xb8 ether_demux() at ether_demux+0x17d ether_input() at ether_input+0x175 em_rxeof() at em_rxeof+0x193 em_handle_que() at em_handle_que+0x4a taskqueue_run() at taskqueue_run+0x91 taskqueue_thread_loop() at taskqueue_thread_loop+0x3f fork_exit() at fork_exit+0x12a fork_trampoline() at fork_trampoline+0xe --- trap 0, rip = 0, rsp = 0xffffff80000bed30, rbp = 0 --- -- wbr, pluknet