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 <sys/pcpu.h> 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 <path/to/src>/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 <path/to/src> is the source tree that the kernel you are currently running was built from.

cd <path/to/src>
make buildkernel
cp /usr/obj/<path/to/src>/sys/<KERNCONF>/modules/<path/to/src>/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 <path/to/src>/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
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to