Flames bad, info good

On the freebsd-hackers mailing list, a slight flamewar erupted over discussion of checkpointing code from DragonFly. Amidst the dumbness that normally ensues in a flamewar, there’s some interesting descriptions on what work has been done/will be done on DragonFly. Check out the archive, mostly in the “FreeBSD mail list etiquette” thread. Matt Dillon’s posts here, here, and here are all info-packed.

ATAng discussion

Kip Macy brought up the idea of moving FreeBSD’s ataNG into DragonFly; the consensus so far is to bring it in separately from the existing ata support, since ataNG’s not yet completely stable.

Routing reading

Jeroen Ruigrok posted a whole pile of links to routing information for anyone wanting to work on it:

Basics:

TCP Vegas: End to End Congestion Avoidance on a Global Internet
http://citeseer.nj.nec.com/brakmo95tcp.html

Evaluation of TCP Vegas: Emulation and Experiment
http://citeseer.nj.nec.com/ahn95evaluation.html

TCP and Successive Fast Retransmits
http://citeseer.nj.nec.com/floyd95tcp.html

Congestion Avoidance and Control
http://citeseer.nj.nec.com/jacobson88congestion.html

Performance Problems in BSD4.4 TCP
http://citeseer.nj.nec.com/brakmo95performance.html

Comparison of Tahoe, Reno, and SACK
http://citeseer.nj.nec.com/fall95comparisons.html

TCP Vegas: New Techniques for Congestion Detection and Avoidance
http://citeseer.nj.nec.com/brakmo94tcp.html

A Tree-based Packet Routing Table for Berkeley Unix
http://www.cs.berkeley.edu/~sklower/routing.ps

Newer:

TCP Vegas Revisited
http://citeseer.nj.nec.com/hengartner00tcp.html

Analysis on TCP Vegas and TCP Reno
http://citeseer.nj.nec.com/hellal00analysis.html

Scalable Timers for Soft State Protocols
http://citeseer.nj.nec.com/48810.html

End-to-End Internet Packet Dynamics
http://citeseer.nj.nec.com/paxson97endtoend.html

End-to-End Routing Behavior in the Internet
http://citeseer.nj.nec.com/3573.html

Routing with a Clue
http://citeseer.nj.nec.com/afek99routing.html

IP Lookups using Multiway and Multicolumn Search
http://citeseer.nj.nec.com/lampson98ip.html

Fast and Scalable Layer Four Switching
http://citeseer.nj.nec.com/srinivasan98fast.html

High-Speed Policy-based Packet Forwarding Using Efficient
Multi-dimensional Range Matching
http://citeseer.nj.nec.com/lakshman98highspeed.html

Fast Address Lookups using Controlled Prefix Expansion
http://citeseer.nj.nec.com/srinivasan99fast.html

Slab, multicast, sysinstall, SysV

The memory slab allocator is now on by default, and the old system is gone.

Man pages for pim(4) and multicast(4) for “Protocol Independent Multicasting”, are in.

Sysinstall has been modified with changes for NFS; you can pick NFSv3 (default) and TCP protocol (not default), now, along with some internal changes.

The SysV IPC regression test suite has been added, in src/tools/regression/

Checkpointing is in

Kip Macy’s checkpointing code has been committed; I’m pasting Matt Dillon’s post about it as there’s a lot of issues to consider.

For those of you late to the party, checkpointing allows you to “freeze” a copy of an application so that, in theory, you can restore the program to that running state at a later point in time. Useful, for instance, if you have a program that takes a long time to complete and you don’t want to have to restart from the beginning if there’s an interruption.
Continue reading “Checkpointing is in”

Doxygen don’t

David Cuthbert brought up the idea of Doxygen headers for the source; Matt Dillon didn’t care for the idea, pointing at this for an example. Hiten Pandya noted that he’d like to have a separate by-hand handbook, for which Eirik Nygaard posted a possible example. Matthew Fuller added that he is working on a SGML application for library documentation as part of another project.

wmake

While noting that he has made a number of changes to the scheduler, Matt Dillon described a new tool called ‘wmake’. wmake allows you to run make in a subdirectory simulating a buildworld environment, without actually having to build world.

(quoted from his post, using libkvm for an example:)
cd /usr/lib/libkvm
wmake obj
wmake
make install