diff options
Diffstat (limited to 'en_US.ISO8859-1/htdocs/news/status/report-2005-01-2005-03.xml')
-rw-r--r-- | en_US.ISO8859-1/htdocs/news/status/report-2005-01-2005-03.xml | 2147 |
1 files changed, 2147 insertions, 0 deletions
diff --git a/en_US.ISO8859-1/htdocs/news/status/report-2005-01-2005-03.xml b/en_US.ISO8859-1/htdocs/news/status/report-2005-01-2005-03.xml new file mode 100644 index 0000000000..86e3a63a41 --- /dev/null +++ b/en_US.ISO8859-1/htdocs/news/status/report-2005-01-2005-03.xml @@ -0,0 +1,2147 @@ +<?xml version="1.0" encoding="ISO-8859-1" ?> +<!DOCTYPE report PUBLIC "-//FreeBSD//DTD FreeBSD XML Database for Status Report//EN" + "http://www.FreeBSD.org/XML/www/share/sgml/statusreport.dtd"> + +<report> + <date> + <month>January-April</month> + + <year>2005</year> + </date> + + <section> + <title>Introduction</title> + + <p>The first quarter of 2005 has been extremely active in both + FreeBSD-CURRENT and -STABLE. With FreeBSD 5.4 in the final RC stage + and an anticipated branch of FreeBSD-6 this summer we have seen a lot + of performance improvements in 5 and a couple of exciting new + features in 6.</p> + + <p>The report turnout was extremely good and it seems that the + webform provided by Julian Elischer has made it more enjoyable to + write reports. Many thanks to Julian for providing this. We also + like to get your attention to the open tasks section provided in some + reports.</p> + + <p>On special note, please take a look at the report about the + upcoming BSDCan in Ottawa. There will be lots of interesting FreeBSD + related talks and activities. If you enjoy reading these reports, you + will love the conference. See you there!</p> + + <p>Thanks to all the reporters, we hope you enjoy reading.</p> + </section> + + <category> + <name>proj</name> + + <description>Projects</description> + </category> + + <category> + <name>doc</name> + + <description>Documentation</description> + </category> + + <category> + <name>kern</name> + + <description>Kernel</description> + </category> + + <category> + <name>net</name> + + <description>Network infrastructure</description> + </category> + + <category> + <name>bin</name> + + <description>Userland programs</description> + </category> + + <category> + <name>arch</name> + + <description>Architectures</description> + </category> + + <category> + <name>ports</name> + + <description>Ports</description> + </category> + + <category> + <name>vendor</name> + + <description>Vendor / 3rd Party Software</description> + </category> + + <category> + <name>misc</name> + + <description>Miscellaneous</description> + </category> + + <project cat='proj'> + <title>Secure Updating</title> + + <contact> + <person> + <name> + <given>Colin</given> + + <common>Percival</common> + </name> + + <email>cperciva@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.daemonology.net/portsnap/" /> + + <url href="http://www.daemonology.net/freebsd-update/" /> + </links> + + <body> + <p>Shortly before the ports freeze for FreeBSD 5.4, I released a + new version of Portsnap. In addition to being secure and more + efficient than CVSup, this latest version distributes INDEX, + INDEX-5, and INDEX-6 files, thereby eliminating the need to run + "make fetchindex" and ensuring that the ports INDEX will match the + existing ports tree. In addition, portsnap builds have now moved + onto hardware managed by the FreeBSD project, thereby sharply + increasing portsnap's chances of survival if I get hit by a + bus.</p> + + <p>In early February hardware problems caused both FreeBSD Update + and Portsnap to stop functioning for a few days, but those were + resolved thanks to a server donated by layeredtech.com.</p> + + <p>I intend bring Portsnap into the FreeBSD base system before the + end of the month, followed by FreeBSD Update a few months + later.</p> + </body> + </project> + + <project cat='project'> + <title>if_bridge from NetBSD</title> + + <contact> + <person> + <name> + <given>Andrew</given> + + <common>Thompson</common> + </name> + + <email>andy@fud.org.nz</email> + </person> + </contact> + + <links> + <url href="http://www.fud.org.nz/~andy/if_bridge.diff" /> + </links> + + <body> + <p>This project aims to import the bridging code and interface from + NetBSD and OpenBSD. The bridge is a cloned interface which can be + modified by ifconfig and brconfig. It supports assigning an IP + address directly to the bridge (e.g. bridge0) instead of one of the + member interfaces, and can be used with tcpdump to inspect the + bridged packets. The code also supports spanning tree (802.1D) for + loop detection and link redundancy. Any pfil(9) packet filter can + be used to filter the bridged packets.</p> + </body> + + <help> + <task>Testing performance and functionality against the existing + bridge code. Testers welcome!</task> + </help> + </project> + + <project cat='arch'> + <title>ARM Support for TS-7200</title> + + <contact> + <person> + <name> + <given>John-Mark</given> + + <common>Gurney</common> + </name> + + <email>jmg@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.embeddedarm.com/epc/ts7200-spec-h.html"> + TS-7200 Board</url> + + <url + href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/jmg/arm&HIDEDEL=NO"> + Perforce Code Location</url> + + <url href="http://people.freebsd.org/~jmg/dmesg.ts7200">FreeBSD/arm + TS-7200 dmesg output</url> + </links> + + <body> + <p>I have been working on getting FreeBSD/arm running on the + TS-7200. So far the board boots, and has somewhat working ethernet + (some unexplained packet loss). I can netboot from a FreeBSD/i386 + machine, and I can also mount msdosfs's on CF.</p> + </body> + + <help> + <task>Figuring out why some small packets transmit with + error</task> + + <task>EP93xx identification information to properly attach various + onboard devices</task> + </help> + </project> + + <project cat='ports'> + <title>Update of the Linux userland infrastructure</title> + + <contact> + <person> + <name> + <given>Alexander</given> + + <common>Leidinger</common> + </name> + + <email>netchild@FreeBSD.org</email> + </person> + + <person> + <name> + <given>Emulation</given> + + <common>Mailinglist</common> + </name> + + <email>freebsd-emulation@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>The update to RedHat 8 as discussed in the last status report + went smoothly (just some minor glitches which got resolved + fast).</p> + + <p>As a next step a cleanup/streamlining and the possibility of + overriding the default Linux base is in progress. This depends on + changes which need at least one testrun on the ports build cluster, + so the final date for those changes depends upon the availability + of the cluster resources.</p> + </body> + + <help> + <task>Refactoring the common RPM code into bsd.rpm.mk.</task> + + <task>Determining which up-to-date Linux distribution to use as the + next default Linux base. Important criteria: + <ul> + <li>RPM based (to be able to use the existing + infrastructure)</li> + + <li>good track record regarding availability of security + fixes</li> + + <li>packages available from several mirror sites</li> + + <li>available for several hardware architectures (e.g. i386, + amd64, sparc64; Note: not all architectures have a working + linuxolator for their native bit with, but as long as there are + no userland bits available, no motivation regarding writing the + kernel bits will arise)</li> + </ul> + </task> + + <task>Moving the linuxolator userland to an up-to-date version (see + above).</task> + </help> + </project> + + <project cat='bin'> + <title>Pipe namespace added to portalfs</title> + + <contact> + <person> + <name> + <given>Diomidis</given> + + <common>Spinellis</common> + </name> + + <email>dds@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.spinellis.gr/blog/20050413/index.html" /> + </links> + + <body> + <p>A new sub-namespace, called pipe, has been added to portalfs. + The pipe namespace executes the named command, starting back at the + root directory. The command's arguments can be provided after the + command's name, by separating them with spaces or tabs. Files + opened for reading in the pipe namespace will receive their input + from the command's standard output; files opened for writing will + send the data of write operations to the command's standard input. + The pipe namespace allows us to perform scatter gather operations + without using temporary files, create non-linear pipelines, and + implement file views using symbolic links.</p> + </body> + </project> + + <project cat='kern'> + <title>Low-overhead performance monitoring for FreeBSD</title> + + <contact> + <person> + <name> + <given>Joseph</given> + + <common>Koshy</common> + </name> + + <email>jkoshy@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://people.freebsd.org/~jkoshy/projects/perf-measurement"> + Project home page</url> + </links> + + <body> + <p>Many modern CPUs have on-chip performance monitoring counters + (PMCs) that can be used to count low-level hardware events like + instruction retirals, branch mispredictions, cache and TLB misses + and the like. PMC architectures and capabilities vary between CPU + vendors and between CPU generations from the same vendor, making + the creation of portable applications difficult. This project + attempts to provide a uniform API for applications to use, and the + necessary infrastructure to "virtualize" and manage the available + PMC hardware resources. The creation of performance analysis tools + that use this infrastructure is also part of the project's + goals.</p> + + <p>Work since the last status report:</p> + + <ul> + <li>Support for Intel + Pentium-Pro/Pentium-II/Pentium-III/Pentium-M/Celeron style PMCs + has been added.</li> + + <li>The Pentium-4/HTT machine dependent layer has been + overhauled.</li> + + <li>A Python language interface to the C library interface pmc(3) + has been written.</li> + + <li>Many bugs have been fixed and documentation has been + updated.</li> + </ul> + </body> + + <help> + <task>The code needs to be tested on Intel Pentium-M, Celeron, + Pentium II and Pentium Pro CPUs.</task> + </help> + </project> + + <project cat='proj'> + <title>GELI - GEOM class for providers encryption</title> + + <contact> + <person> + <name> + <given>Pawel Jakub</given> + + <common>Dawidek</common> + </name> + + <email>pjd@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/pjd/geom%5fclasses/sys/geom/eli&HIDEDEL=NO"> + Kernel module.</url> + + <url + href="http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/pjd/geom%5fclasses/sbin/geom/class/eli&HIDEDEL=NO"> + Userland configuration utility.</url> + </links> + + <body> + <p>GELI is a GEOM class used for GEOM providers encryption. I + decided to work on this, as I needed some feature, which cannot be + found in similar projects. Here is the list of features, I found + interesting:</p> + + <ul> + <li>makes use of crypto(9)</li> + + <li>if there is a crypto hardware available, GELI will run + cryptography on it automatically; if not, it starts dedicated + kernel thread and do crypto software work in there</li> + + <li>supports many cryptographic algorithms (AES, Blowfish, + 3DES)</li> + + <li>is able to take key components from many sources at once + (user entered passphrase, random bits from a file, etc.)</li> + + <li>allows to encrypt root partition</li> + + <li>user will be asked for the passphrase before root file system + is mounted</li> + + <li>uses "PKCS #5: Password-Based Cryptography Specification + Version 2.0" for user passphrase protection (optional)</li> + + <li>allows to use two independent keys (e.g. "user key" and + "company key")</li> + + <li>is fast</li> + + <li>GELI does simple sector-to-sector encryption</li> + + <li>allows to backup/restore Master Keys, so when user have to + quickly destroy keys, it is able to get the data back by + restoring keys from the backup</li> + + <li>provider can be configured at attach time to automatically + detach on last close (so user don't have to remember to detach + after unmounting file system)</li> + + <li>allows to attach provider with a random, one-time keys</li> + + <li>useful for swap partitions and temporary file systems</li> + </ul> + </body> + + <help> + <task>Code audit/review is more than welcome!</task> + </help> + </project> + + <project cat='doc'> + <title>FreeBSD Dutch Documentation Project</title> + + <contact> + <person> + <name> + <given>Remko</given> + + <common>Lodder</common> + </name> + + <email>remko@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.freebsd.org/doc/nl/books/handbook">FreeBSD + Dutch Handbook</url> + + <url href="http://www.evilcoder.org/freebsd_html/">FreeBSD Dutch + Handbook preview</url> + + <url href="http://www.evilcoder.org/content/section/6/39/">The + Project Page</url> + </links> + + <body> + <p>The FreeBSD Dutch Documentation Project is a ongoing project in + translating the English documentation to the Dutch language. + Currently we have translated almost the entire handbook, and more + to come. If you want to help out by review the Dutch documents, or + you want to help translating the remainders of the handbook or + other documents, feel free to contact me at + <a href="mailto:remko@FreeBSD.org">remko@FreeBSD.org</a> + </p> + </body> + + <help> + <task>Translate the English handbook, then review the Dutch + handbook</task> + + <task>Translate the English FAQ, then review the Dutch FAQ</task> + + <task>Translate the English Articles, then review the Dutch + Articles</task> + </help> + </project> + + <project cat='proj'> + <title>FreeBSD Java Project</title> + + <contact> + <person> + <name> + <given>Greg</given> + + <common>Lewis</common> + </name> + + <email>glewis@FreeBSD.org</email> + </person> + + <person> + <name> + <given>Alexey</given> + + <common>Zelkin</common> + </name> + + <email>phantom@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.FreeBSD.org/java/" /> + </links> + + <body> + <p>The FreeBSD Java Project released its initial support for JDK + 1.5.0 with patch set 1 "Sabretooth" in January. The initial release + featured support for both FreeBSD 5.3/i386 and 5.3/amd64. Since + then preliminary support for FreeBSD 4.11/i386 has been added and + several bug fixes have been made. Updates in the coming months will + add support for the browser plug in and Java Web Start, which were + not in the initial release.</p> + </body> + + <help> + <task>Volunteers to look into some serious problems with JDK 1.5.0 + on FreeBSD 4.x</task> + </help> + </project> + + <project cat='proj'> + <title>Common Address Redundancy Protocol - CARP</title> + + <contact> + <person> + <name> + <given>Max</given> + + <common>Laier</common> + </name> + + <email>mlaier@FreeBSD.org</email> + </person> + </contact> + + <contact> + <person> + <name> + <given>Gleb</given> + + <common>Smirnoff</common> + </name> + + <email>glebius@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://www.freebsd.org/cgi/man.cgi?query=carp&manpath=FreeBSD+6.0-current" /> + + <url href="http://people.freebsd.org/~mlaier/CARP/" /> + </links> + + <body> + <p>CARP is an alternative to VRRP. In contrast to VRRP it has full + support for IPv6 and uses crypto to protect the advertisements. It + was developed by OpenBSD due to concerns that the HSRP patent might + cover VRRP and CISCO might defend its patent. CARP has, since then, + improved a lot over VRRP.</p> + + <p>CARP has been committed to HEAD and MFCed to RELENG_5. It will + be available in upcoming 5.4-RELEASE.</p> + + <p>Big thanks to all users who provided testing and reported bugs + to Max and Gleb. Daniel Seuffert has donated hardware to Max for + this project. Gleb's work was sponsored by + <a href="http://www.rambler.ru">Rambler</a> + + .</p> + </body> + + <help> + <task>Improve vlan(4) support. Test ng_eiface(4).</task> + + <task>Improve locking, consider removing interface layer.</task> + </help> + </project> + + <project cat='net'> + <title>netgraph(4) status report</title> + + <contact> + <person> + <name> + <given>Gleb</given> + + <common>Smirnoff</common> + </name> + + <email>glebius@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://www.freebsd.org/cgi/man.cgi?query=ng_netflow&manpath=FreeBSD+6.0-current"> + ng_netflow(4)</url> + + <url + href="http://www.freebsd.org/cgi/man.cgi?query=ng_ipfw&manpath=FreeBSD+6.0-current"> + ng_ipfw(4)</url> + + <url href="http://people.freebsd.org/~glebius/totest/ng_nat/"> + ng_nat work in progress</url> + </links> + + <body> + <p>This report covers period since August 2004 until April + 2005.</p> + + <p>New nodes. Two new nodes have been added to base FreeBSD + distribution. ng_netflow(4) node, which implements NetFlow version + 5 accounting of IPv4 packets. ng_ipfw(4) node, which diverts + packets from ipfw(4) to netgraph(4) and back. A well known + ng_ipacct node has been added to ports tree.</p> + + <p>SMP. Nodes, which need to allocate unique names have been + protected with mutex in RELENG_5, and subr_unit allocator in HEAD. + Nodes, which need to run periodical jobs were reworked to use + mpsafe ng_callout() API. ng_tty(4) node has been overhauled to be + compatible with debug.mpsafenet=1. NetGraph ISR and callout are now + declared MPSAFE in HEAD.</p> + + <p>NetGraph flow control. Two nodes ng_ether(4) and ng_cisco(4) + have been improved to emit flow control messages to upstream node, + when state of link changes. New link failure detection method have + been introduced in ng_one2many(4) node - listening to these flow + control messages from downstream.</p> + </body> + + <help> + <task>more SMP testing of many nodes</task> + + <task>review locking of graph restructuring</task> + + <task>ng_nat node - an in-kernel natd(8)</task> + + <task>make ng_bridge(4) multithreaded</task> + </help> + </project> + + <project cat='kern'> + <title>drm</title> + + <contact> + <person> + <name> + <given>Eric</given> + + <common>Anholt</common> + </name> + + <email>anholt@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://r300.sourceforge.net/">ATI R300 DRI project</url> + </links> + + <body> + <p>A DRM update was finally committed to -current on 2005-04-15, + after jhb@ did the necessary fix to vm_mmap. New development + drivers were added for mach64 and r300 (see URL for info). The + nearly-finished code for savage and i915 were also added, but left + disconnected from the build. However, the most visible change is + likely the support for texture tiling, color tiling, and HyperZ on + Radeons, which (with updated userland) likely provide a 50-75% + framerate increase in many applications.</p> + </body> + + <help> + <task>Find someone with newbus knowledge to figure out why the i915 + won't attach to drmsub0.</task> + + <task>Finish porting the savage driver.</task> + + <task>Integrate busdma code from Tonnerre (NetBSD).</task> + </help> + </project> + + <project cat='kern'> + <title>Storage driver SMPng locking</title> + + <contact> + <person> + <name> + <given>Scott</given> + + <common>Long</common> + </name> + + <email>scottl@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>Several storage drivers have been taken out from under the Giant + mutex in the past few months. Thanks to sponsorship from + <a href="http://www.freebsdsystems.com">FreeBSD Systems, Inc</a> + + and + <a href="http://www.imp.ch">ImproWare, AG, Switzerland</a> + + , the LSI MegaRAID (AMR) and IBM/Adaptec ServeRAID (IPS) drivers + have been locked. SMPng locking is a key step in improving the + performance of system drivers in FreeBSD 5.x and beyond, and both + of these drivers are showing the benefits of this. FreeBSD 5.4 will + contains these improvements when it is released.</p> + + <p>Similar work is ongoing with the 3WARE Escalade (TWE) driver, + and preliminary patches have been made available to testers. I hope + to have this driver complete in time for the next FreeBSD + release.</p> + + <p>Unfortunately, most benefits can only be gained from pure block + storage drivers such as the ones mentioned here due to the SCSI + subsystem in FreeBSD (CAM) not be locked itself at this time. It is + possible, however, to lock a CAM sub-driver and bring the driver's + interrupt handler out from under Giant for a partial gain. The Sun + FAS366 SCSI driver (ESP) operates like this. Volunteers to lock + other drivers or to tackle locking CAM are gladly accepted, so + please contact me if you are interested.</p> + </body> + </project> + + <project cat='kern'> + <title>Filesystem journalling for UFS</title> + + <contact> + <person> + <name> + <given>Scott</given> + + <common>Long</common> + </name> + + <email>scottl@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://repoman.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/user/scottl/ufsj" /> + </links> + + <body> + <p>It's time to bite the bullet and admit that fsck is no longer + scalable for modern storage capacities. While a healthy debate can + still be had on the merits and data integrity guarantees of + journalling vs. SoftUpdates, the fact that SoftUpdates still + requires a fsck to ensure consistency of the filesystem metadata + after an unclean shutdown means uptime is lost. While background + fsck is available, it saps system performance and stretched the + fsck time out to hours.</p> + + <p>Journalling provides a way to record transactions that might not + have fully been written to disk before the system crashed, and then + quickly recover the system back to a consistent state by replaying + these transactions. It doesn't guarantee that no data will be lost, + but it does guarantee that the filesystem will be back to a + consistent state after the replay is performed. This contrasts to + SoftUpdates that re-arranges metadata updates so that + inconsistencies are minimized and easy to recover from, though + recovery still requires the traditional full filesystem scan.</p> + + <p>Journalling is a key feature of many modern filesystems like + NTFS, XFS, JFS, ReiserFS, and Ext3, so the ground is well covered + and the risks for UFS/FFS are low. I'm aware that groups from CMU + and RPI have attempted similar work in the past, but unfortunately + the work is either very outdates, or I haven't had any luck in + contacting the groups. Is this absence, I've decided to work on + this project myself in hopes of having a functional prototype in + time for FreeBSD 6.0.</p> + + <p>The approach is simple and journals full metadata blocks instead + of just deltas or high-level operations. This greatly simplifies + the replay code at the cost of requiring more disk space for the + journal and more work within the filesystem to identify discreet + update points. An important design consideration is whether to make + the journal data and code compatible with the UFS2 filesystem, or + to start a new UFS3 derivative. Since the latter presents a very + high barrier to adoption for most people, I'm going to try to make + it a compatible option for UFS2. This means that the journal blocks + will likely appear as an unlinked file to legacy filesystem and + fsck code, and will be treated as such. This will allow seamless + fallback to using fsck, though once the unlinked journal data + blocks are reclaimed by fsck, the user will have to take action to + re-create the journal file again.</p> + + <p>One key piece of journalling is ensuring that each journal + transaction is fully written to disk before the associated metadata + blocks are written to the filesystem. I plan to adopt the buffer + 'pinning' mechanism from Alexander Kabaev's XFS work to assist with + this. This will allow the journalling subsystem fine-grained + control over which blocks get flushed to disk by the buffer daemon + without having to further complicate the UFS/FFS code. One + consideration is how Softupdates falls into this and whether it is + mutually exclusive of journalling or if it can help provide + transaction ordering functionality to the journal. Research here is + on-going.</p> + + <p>Some preliminary work can be found in Perforce in the + //depot/user/scottl/ufsj/... tree or at the URL provided. Hopefully + this will quickly accelerate.</p> + </body> + </project> + + <project cat='kern'> + <title>Status Report for FreeBSD ATA driver project</title> + + <contact> + <person> + <name> + <given>Søren</given> + + <common>Schmidt</common> + </name> + + <email>sos@FreeBSD.org</email> + </person> + </contact> + + <body> + <p>ATA mkIII has been committed to -current after a couple of month + testing as patches post on -current and 5-stable. I will continue + to provide patches for 5-stable for those that need up-to-date ATA + support there.</p> + + <p>Here a short rehash of what mkIII brings:</p> + + <p>ATA is now fully modular so each part can be loaded/unloaded at + will to provided the wanted functionality.</p> + + <p>Much improved SATA support that support hotplug events on + controllers that support it (Promise, SiS, nVidia so far) ie the + system will automagically detect when SATA devices come and go and + add/delete device entries etc.</p> + + <p>Much improved ATA RAID support. The ata-raid driver has been + largely rewritten to take advantage of the features the improved + infrastructure provides, including composite ATA operations etc. + The rebuild functionality has been changed to rebuild on userland + reads, so a simple dd of the entire array will get it rebuild (what + atacontrol now does). This means that the resources used for this + can be better tailored to the actually usage pattern if needed. ATA + RAID now supports 10+ different RAID metadata formats, so most BIOS + defined ATA RAID arrays can be picked up and used. The number of + metadata formats that can be created from within FreeBSD is still + limited though and is not a high priority feature right now.</p> + + <p>The lowlevel infrastructure of the ATA driver has been refined + even further to support "strange" chipsets much more easily and in + most case transparent to the higher levels. This to easy ports to + new platforms where ATA controllers doesn't necessarily have the + x86 legacy layout.</p> + + <p>Lots of bug fixes and corrections all over the driver proper. + The rework of the infrastructure has revealed bugs and deficiencies + that has been fixed in the process of modulerising ATA and making + the infrastructure more generic, and hopefully easier to + understand.</p> + + <p>The work continues to keep ATA on top of new chipsets and other + advancements in the ATA camp. SATA ATAPI support is in the works + and so are support for NCA/TCQ (tags). Donations of unsupported + hardware is the way to get it supported as I'm way out of my budget + for new hardware for the next decade or so according to my wife + :)</p> + </body> + + <help> + <task>Lots of testing wanted, especially SATA and RAID + support</task> + </help> + </project> + + <project cat='proj'> + <title>GSHSEC - GEOM class for handling shared secret</title> + + <contact> + <person> + <name> + <given>Pawel Jakub</given> + + <common>Dawidek</common> + </name> + + <email>pjd@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://www.freebsd.org/cgi/man.cgi?query=gshsec&apropos=0&sektion=0&manpath=FreeBSD+6.0-current&format=html"> + Manual page.</url> + </links> + + <body> + <p>GSHSEC is a GEOM class used for handling shared secret data + between multiple GEOM providers. For every write request, SHSEC + class splits the data using XOR operation with random data, so N-1 + providers gets just random data and one provider gets the data + XORed with the random data from the other providers. All of the + configured providers must be present in order to reveal the secret. + The class is already committed to HEAD and RELENG_5 branches.</p> + </body> + </project> + + <project cat='kern'> + <title>ATAPI/CAM</title> + + <contact> + <person> + <name> + <given>Thomas</given> + + <common>Quinot</common> + </name> + + <email>thomas@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>ATAPI/CAM integration with the new ATA (mkIII) framework is now + completed. ATAPI/CAM is now available as a loadable module + (atapicam.ko). It is also independent from the native ATAPI drivers + again, as was the case before mkIII.</p> + + <p>Thanks to Scott Long and Søren Schmidt for their + participation in the integration work.</p> + </body> + </project> + + <project cat='vendor'> + <title>twa driver</title> + + <contact> + <person> + <name> + <given>Vinod</given> + + <common>Kashyap</common> + </name> + + <email>vkashyap at amcc.com</email> + </person> + </contact> + + <links> + <url href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/dev/twa/"> + source code</url> + + <url + href="http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/modules/twa/"> + source code</url> + </links> + + <body> + <p>A newly re-architected twa(4) driver was committed to 6 -CURRENT + on 04/12/2005. Highlights of this release are:</p> + + <ol> + <li>The driver has been re-architected to use a "Common Layer" + (all tw_cl* files), which is a consolidation of all + OS-independent parts of the driver. The FreeBSD OS specific + portions of the driver go into an "OS Layer" (all tw_osl* files). + This re-architecture is to achieve better maintainability, + consistency of behavior across OS's, and better portability to + new OS's (drivers for new OS's can be written by just adding an + OS Layer that's specific to the OS, by complying to a "Common + Layer Programming Interface (CLPI)" API. If there's interest in + porting the 3ware driver to any other OS, you may contact ctchu + at amcc.com to get a copy of the CLPI specifications.</li> + + <li>The driver takes advantage of multiple processors. It does + not need to be Giant protected anymore.</li> + + <li>The driver has a new firmware image bundled, the new features + of which include Online Capacity Expansion and multi-lun support, + among others. More details about 3ware's 9.2 release can be found + here: + <a + href="http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf"> + http://www.3ware.com/download/Escalade9000Series/9.2/9.2_Release_Notes_Web.pdf</a> + </li> + </ol> + </body> + </project> + + <project cat='net'> + <title>IPv6 Support for IPFW</title> + + <contact> + <person> + <name> + <given>Brooks</given> + + <common>Davis</common> + </name> + + <email>brooks@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://lists.freebsd.org/pipermail/cvs-all/2005-April/116671.html" /> + </links> + + <body> + <p>In April 18th, I committed support for IPv6 to IPFW. This + support was written by two student of Luigi's, Mariano Tortoriello + and Raffaele De Lorenzo. I updated it to use PFIL_HOOKS and fixed a + few minor issues. As of this commit, IP6FW should be considered + deprecated in favor of IPFW. It should be possible to MFC this + change to 5.x, but that is not currently planned.</p> + </body> + + <help> + <task>Testing.</task> + + <task>IP6FW to IPFW migration guide.</task> + + <task>Patches relative to 5-STABLE.</task> + </help> + </project> + + <project cat='net'> + <title>Removable interface improvements.</title> + + <contact> + <person> + <name> + <given>Brooks</given> + + <common>Davis</common> + </name> + + <email>brooks@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://people.freebsd.org/~brooks/pubs/eurobsdcon2004/" /> + + <url href="http://www.freebsd.org/projects/dingo/" /> + </links> + + <body> + <p>This project is an attempt to clean up handling of network + interfaces in order to allow interfaces to be removed reliably. + Current problems include panics if Dummynet is delaying packets to + an interface when it is removed.</p> + + <p>I am currently working to remove struct ifnet's from device + driver structures to allow them to be managed properly upon device + removal. I believe I have removed all known instances of casting a + struct ifnet pointer to something else (except that that are just + magic values and not real struct ifnets.) I will begin committing + these changes to the tree shortly and will then add a new function + if_alloc() that will allocate struct ifnets. if_detach() will be + modified to destroy them.</p> + </body> + </project> + + <project cat='kern'> + <title>cpufreq</title> + + <contact> + <person> + <name> + <given>Nate</given> + + <common>Lawson</common> + </name> + + <email>njl</email> + </person> + </contact> + + <links> + <url + href="http://www.freebsd.org/cgi/man.cgi?query=cpufreq&manpath=FreeBSD+6.0-current&format=html"> + cpufreq man page</url> + </links> + + <body> + <p>The cpufreq project was committed to 6-CURRENT in early February + and has undergone bugfixes and updates. It will soon be MFCd to + 5-STABLE.</p> + + <p>The cpufreq driver provides a unified kernel and user interface + to CPU frequency control drivers. It combines multiple drivers + offering different settings into a single interface of all possible + levels. Users can access this interface directly via sysctl(8), by + indicating to power_profile that it should switch settings when the + AC line state changes, or by using powerd(8).</p> + + <p>For example, an absolute driver offering frequencies of 1000 Mhz + and 750 Mhz combined with a relative driver offering settings of + 100% and 50% would result in cpufreq providing levels of 1000, 750, + 500, and 375 Mhz.</p> + + <p>Colin Percival helped with powerd(8), which provides automatic + control of CPU frequencies. The adaptive mode is especially + interesting since it attempts to respond to changes in system load + while reducing power consumption.</p> + + <p>Current hardware drivers include acpi_perf (ACPI CPU performance + states), est (Intel Enhanced SpeedStep for Pentium-M), ichss + (Intel's original SpeedStep for ICH), and powernow (AMD Powernow! + K7 and K8 support). Other drivers for relative hardware include + acpi_throttle (ACPI CPU throttling) and p4tcc (Pentium 4 Thermal + Control Circuitry)</p> + + <p>Thanks to Bruno Ducrot for the powernow driver, Colin Percival + for the est driver, and the many testers who have sent in + feedback.</p> + </body> + + <help> + <task>We'd appreciate someone with a Transmeta CPU converting the + existing longrun driver to the cpufreq framework. It would also be + good if someone wrote a VIA Longhaul driver. See the Linux + arch/i386/kernel/cpu/cpufreq directory for examples.</task> + + <task>Various other architectures, including ARM, have CPU power + control that could be implemented as a cpufreq driver.</task> + + <task>The powerd(8) algorithm is rather simple and we'd appreciate + more help in testing it and alternative algorithms with various + workloads. The -v flag causes powerd to report frequency + transitions and print a summary of total energy used upon + termination. This should help testers profile their + algorithms.</task> + </help> + </project> + + <project cat='net'> + <title>Move ARP out of routing table</title> + + <contact> + <person> + <name> + <given>Qing</given> + + <common>Li</common> + </name> + + <email>qingli@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://people.freebsd.org/~qingli/">containing the + patch</url> + </links> + + <body> + <p>I have finished the basic functionality for both IPv4 and IPv6. + The userland utilities ("arp" and "ndp") have been updated. I have + tested the changes with "make buildworld". I have been testing the + new code in a production environment and things appear to be + stable. Gleb Smirnoff (glebius@FreeBSD.org) has provided review + comments and I have incorporated these feedback into the patch. I + have discussed the IPv6 changes with two of the core KAME + developers during the last IETF meeting in March 2005. They + indicated that these changes may result in divergence from the KAME + project but that is not necessarily a bad thing.</p> + </body> + + <help> + <task>I am waiting for review feedback from my mentor Andre. I need + locking experts to help me fix my giant-lock shortcut. I am hoping + to send out the code for wider review soon.</task> + </help> + </project> + + <project cat='net'> + <title>Support for telephone hardware (aka Zaptel)</title> + + <contact> + <person> + <name> + <given>Maxim</given> + + <common>Sobolev</common> + </name> + + <email>sobomax@FreeBSD.org</email> + </person> + + <person> + <name> + <given>Oleksandr</given> + + <common>Tymoshenko</common> + </name> + + <email>gonzo@pbxpress.com</email> + </person> + + <person> + <name> + <given>Max</given> + + <common>Khon</common> + </name> + + <email>fjoe@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://www.digium.com/index.php?menu=hardware_products" /> + </links> + + <body> + <p>During the last 2 months lot of progress has been made. Existing + support for TDM400 (FXO/FXS) has been significantly improved. + Drivers for PRI and BRI cards have been added and now should be + considered beta-quality.</p> + </body> + + <help> + <task>More testing of PRI/BRI drivers.</task> + + <task>Add support for channelized DS3 card(s).</task> + </help> + </project> + + <project cat='ports'> + <title>FreshPorts</title> + + <contact> + <person> + <name> + <given>Dan</given> + + <common>Langille</common> + </name> + + <email>dan@langille.org</email> + </person> + </contact> + + <links> + <url href="http://www.freshports.org/">FreshPorts</url> + </links> + + <body> + <p>This is the first status report for FreshPorts. FreshPorts + started in early 2000 and now contains over 170,000 commits. + FreshPorts is primarily concerned with port commits, but actually + processes and records all commits to the FreeBSD source tree. Its + sister site, + <a href="http://www.freshsource.org/">FreshSource</a> + + uses the same database as FreshPorts but has a wider reporting + scope. In recent months, FreshPorts has been enhanced to process + and include + <a href="http://www.vuxml.org/freebsd/">VuXML</a> + + information. In addition, RESTRICTED and NO_CDROM have been added + to list of things that FreshPorts keeps track of. For unmaintained + ports, we recently added this message: + <p> + <em>There is no maintainer for this port. + <br /> + + Any concerns regarding this port should be directed to the + FreeBSD Ports mailing list via ports@FreeBSD.org</em> + </p> + + FreshPorts, with direct and indirect support from the FreeBSD + community, continues to evolve and to provide a great tool for + users and developers alike.</p> + </body> + + <help> + <task>Provide a copy/paste method for updating watch lists</task> + + <task>improvement of query times for "People watching this port, + also watch"</task> + + <task>pagination of commits within a port</task> + + <task>pagination of watch lists</task> + + <task>create an RSS feed for individual watch lists</task> + </help> + </project> + + <project cat='misc'> + <title>BSDCan</title> + + <contact> + <person> + <name> + <given>Dan</given> + + <common>Langille</common> + </name> + + <email>dan@langille.org</email> + </person> + </contact> + + <links> + <url href="http://www.bsdcan.org/" /> + </links> + + <body> + <p>BSDCan made a strong debut in + <a href="http://www.bsdcan.org/2004/">2004</a> + + . The favorable reception gave us a strong incentive for + <a href="http://www.bsdcan.org/2005/">2005</a> + + . We have been rewarded with a very interesting + <a href="http://www.bsdcan.org/2005/schedule.php">program</a> + + and a higher rate of registrations. Percentage-wise, we have more + Europeans than last year as they have decided that the trip across + the Atlantic is worth taking. We know they won't be disappointed. + See you at BSDCan 2005!</p> + </body> + + <help> + <task>volunteers needed for the conference</task> + </help> + </project> + + <project cat='ports'> + <title>Ports Collection</title> + + <contact> + <person> + <name> + <given>Mark</given> + + <common>Linimon</common> + </name> + + <email>linimon@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.freebsd.org/ports/">The FreeBSD ports + collection</url> + + <url href="http://portsmon.firepipe.net/index.html">FreeBSD ports + monitoring system</url> + + <url href="http://www.freebsd.org/portmgr/index.html">The FreeBSD + Ports Management Team</url> + </links> + + <body> + <p>As this report was being written, the 5.4 release was + ongoing.</p> + + <p>A new charter for the Ports Management (portmgr) team was + approved by core and has been posted at the URL above. In addition, + two other new pages describe the policies of the team, and the + range of QA activities both during and between releases.</p> + + <p>Due to being absent from email discussions for some time, Oliver + Eikemeier (eik) was moved to non-voting status on portmgr.</p> + + <p>We have added several new and very active committers recently; + this is helping us to keep the PR count low even with the large + numbers of new ports that have been added.</p> + + <p>Several more iterations of infrastructure changes have been + tested on the cluster and committed; see /usr/ports/CHANGES for + details.</p> + + <p>Updates have occurred to x.org, GNOME, KDE, and perl.</p> + + <p>There have been some updates to the Porter's Handbook, but more + sections are still in need of updates to include recent changes in + practices.</p> + + <p>The ports collection now contains almost 12,750 ports.</p> + </body> + + <help> + <task>Further progress has been made in cracking down on ports that + install files outside the approved directories and/or do not + deinstall cleanly (see "Extra files not listed in PLIST" on + <a href="http://pointyhat.freebsd.org/errorlogs/">pointyhat</a> + + ) and this will remain a focus area. We appreciate everyone who has + sent in PRs or committed fixes.</task> + + <task>Demand for new features and revisions for bsd.port.mk is + still very high and the portmgr team is trying to work through them + all.</task> + + <task>We still have a large number of PRs that have been assigned + to committers for some time (in fact, they constitute the + majority). One goal of portmgr in the coming months is to try to + reduce this number, and we would like to ask our committers to help + us out as much as possible.</task> + </help> + </project> + + <project cat='arch'> + <title>PowerPC Port</title> + + <contact> + <person> + <name> + <given>Peter</given> + + <common>Grehan</common> + </name> + + <email>grehan@FreeBSD.org</email> + </person> + </contact> + + <body> + <p>Progress continues. X.Org 6.8.1 server has been up and running + on a number of different Macs, and the work is being merged into + 6.8.2. There have been successful installs on Mac Minis</p> + </body> + </project> + + <project cat='vendor'> + <title>OpenBSD packet filter - pf</title> + + <contact> + <person> + <name> + <given>Max</given> + + <common>Laier</common> + </name> + + <email>mlaier@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://pf4freebsd.love2party.net/">pf4FreeBSD + Homepage</url> + + <url href="http://people.freebsd.org/~mlaier/pf37/">pf 3.7 patches</url> + </links> + + <body> + <p>OpenBSD is about to release + <a href="http://www.openbsd.org/37.html">version 3.7</a> + + . There are + <a href="http://people.freebsd.org/~mlaier/pf37/">patches</a> + + available to catch up with the development done in OpenBSD 3.6 and + 3.7. These patches are in an early stage, but ready for testing, + please help.</p> + + <p>Otherwise there was not much activity on pf, as it already is + quite stable. Other work, such as CARP and if_bridge are having + impact on pf in FreeBSD however, please see the respective + reports.</p> + </body> + + <help> + <task>Alpha/Betatesting of the 3.7 import</task> + + <task>Testing with if_bridge</task> + </help> + </project> + + <project cat='bin'> + <title>libthread</title> + + <contact> + <person> + <name> + <given>David</given> + + <common>Xu</common> + </name> + + <email>davidxu@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>libthread is a pure 1:1 threading library, it had stayed in my + perforce branch for a long time, recent it was imported into source + tree and replaced libthr. The purpose of the work is to improve 1:1 + threading on FreeBSD, the library is designed in mind that simplest + is best, currently it can run almost all of the applications + libpthread can run, but gives you better SMP performance. The + library size is smaller than libpthread.</p> + + <p>Currently it supports i386, AMD64, sparc64 and ia64 and may + support alpha, powerpc and arm. I didn't do many tests on sparc64 + and ia64, I only tested it on FreeBSD cluster machines. For i386, I + always used LDT, but know that Peter committed GDT code, and now + there is no 8191 threads limitation anymore.</p> + + <p>libthread_db was updated to support debugging the new libthr. It + is an assistant library used by gdb to debug threaded process, that + understands internal detail of thread libraries. I have improved it + a bit to support event reports for libthr, currently it can report + thread creation and death events. That means a thread that was + created and died will be reported to the user regardless if you are + tracking it or not.</p> + </body> + + <help> + <task>I am working on thread creation performance, currently it + needs considerable number of libc functions and syscalls to create + a thread, I would like to introduce a syscall to create a thread in + atomically. That means one syscall will setup thread entry, tls, and + signal mask and PTHREAD_SCOPE_PROCESS/SYSTEM; in future maybe even + CPU affinity masks, when userland entry code is executed, the + thread is already fully setup.</task> + + <task>Process shareable synchronization objects. In Current FreeBSD + does not support this specification. The idea about the shareable + mutex and others is like other systems did, one can use mmap() to + create a shared memory page, and put a pthread synchronization + object in the page, multiple processes use the shared object to + control resource access. I am not working on it, if someone is + interested, please let me know.</task> + </help> + </project> + + <project cat='kern'> + <title>Coverity Code Analysis</title> + + <contact> + <person> + <name> + <given>Sam</given> + + <common>Leffler</common> + </name> + + <email>sam@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.coverity.com/" /> + </links> + + <body> + <p>There has been an ongoing effort to review the kernel source + code using Coverity's source code analysis tools + (http://www.coverity.com). These tools check for a variety of + problems such as null pointer dereference, use-after-free of + allocated variables, invalid array references, etc. This work is a + joint project between FreeBSD and Coverity.</p> + + <p>Two passes have been completed over the 6-current kernel source + code base and all significant problems have been corrected. These + runs were done in February and March of this year. A few reports of + minor problems await response from outside groups and will be + resolved in time for the first 6.x release. Another analysis run + over the kernel will happen soon. We are looking for a way to use + these tools on a regular basis as they have been helpful in + improving the code base.</p> + + <p>Thanks to Coverity for their help and especially Ted Unangst. + Several developers have been especially helpful in resolving + reports: Poul-Henning Kamp, David Schultz, Pawel Jakub Dawidek, + George V. Neville-Neil, and Matthew Dodd.</p> + </body> + </project> + + <project cat='net'> + <title>Wireless Networking Support</title> + + <contact> + <person> + <name> + <given>Sam</given> + + <common>Leffler</common> + </name> + + <email>sam@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>Several new drivers by by Damien Bergamini were brought into the + tree: iwi, ipw, ral, and ural.</p> + + <p>WPA-PSK support for the ndis driver was contributed by Arvind + Srinivasa.</p> + + <p>A new tx rate control algorithm for the ath driver was + contributed by John Bicket. It will become the default algorithm + shortly.</p> + + <p>Work on multi-bss support is going on outside the cvs tree. A + presentation on this work will be given at BSDCan 2005 and the + slides for the talk will be made available after.</p> + </body> + + <help> + <task>Drivers other than ath and ndis need updates to support the + new security protocols.</task> + + <task>hostapd needs work to support the IAPP and 802.11i + preauthentication protocols (these are simple conversions of + existing Linux code).</task> + + <task>The OpenBSD dhclient program has been ported but needs a + developer that will maintain it once it is brought into cvs.</task> + </help> + </project> + + <project cat='kern'> + <title>Many subdirs for UFS</title> + + <contact> + <person> + <name> + <given>David</given> + + <common>Malone</common> + </name> + + <email>dwmalone@FreeBSD.org</email> + </person> + </contact> + + <links> + <url + href="http://groups-beta.google.com/group/muc.lists.freebsd.fs/browse_frm/thread/a36d1143d695287e/40cad00cf2c0823b?hl=en#40cad00cf2c0823b"> + Thread on freebsd-fs</url> + </links> + + <body> + <p>I'm currently looking at the limit on the number of + subdirectories a directory can have in UFS. There is currently a + limit of 32K subdirectories because of the 16 bit link count field + in both struct stat and the on-disk inode format. The thread above + shows that dirhash provides acceptable performance for directories + with 100k subdirectories using a prototype patch. Two options for + allowing many subdirectories seem to exist: changing the link + counting scheme for directories and expanding the link count field. + The prototype patch implements the first scheme and there are plans + to investigate the second scheme (which may require an ABI + change).</p> + </body> + </project> + + <project cat='misc'> + <title>IMUNES - a FreeBSD based kernel-level network topology + emulator</title> + + <contact> + <person> + <name> + <given>Miljenko</given> + + <common>Mikuc</common> + </name> + + <email>miljenko@tel.fer.hr</email> + </person> + + <person> + <name> + <given>Marko</given> + + <common>Zec</common> + </name> + + <email>zec@tel.fer.hr</email> + </person> + </contact> + + <links> + <url href="http://www.imunes.net/" /> + </links> + + <body> + <p>IMUNES is a scalable kernel-level network topology emulator + based on FreeBSD. In IMUNES each virtual node operates on its + private instance of network stack state variables, such as routing + tables, interface addresses, sockets, ipfw rules etc. Most if not + all existing FreeBSD application binaries, including routing + protocol daemons such as quagga or XORP, can run unmodified within + the context of virtual nodes with no noticeable performance + penalty. Complex network topologies can be constructed by + connecting the virtual nodes through netgraph-based link-layer + paths. A GUI tool allows for simple and intuitive network topology + specification, deployment and management. The current version of + IMUNES is based on FreeBSD 4.11-RELEASE and supports IPv4.</p> + </body> + </project> + + <project cat='arch'> + <title>XenFreeBSD - FreeBSD on Xen</title> + + <contact> + <person> + <name> + <given>Kip</given> + + <common>Macy</common> + </name> + + <email>kmacy@fsmware.com</email> + </person> + </contact> + + <links> + <url href="http://www.cl.cam.ac.uk/Research/SRG/netos/xen/">Xen + project page</url> + + <url href="http://xen.bkbits.net/">Xen changeset logs</url> + </links> + + <body> + <p>FreeBSD 5.3 runs on the stable and the development branches of + xen and is now checked into both trees. Over the next couple of + weeks I will be adding improvements for better batching of page + table updates and SMP support.</p> + </body> + + <help> + <task>FreeBSD support for running as Domain 0, i.e. running as the + hosting operating system.</task> + + <task>FreeBSD support for VM checkpoint and migration.</task> + </help> + </project> + + <project cat='net'> + <title>Dingo</title> + + <contact> + <person> + <name> + <given>George</given> + + <common>Neville-Neil</common> + </name> + + <email>gnn@neville-neil.com</email> + </person> + </contact> + + <links> + <url href="http://people.freebsd.org/~gnn/Dingo/notebook/60.html"> + Project page (out of date)</url> + + <url href="http://zoo.unixdaemons.com/index.php?blog=7">Blog + covering test framework</url> + </links> + + <body> + <p>On the protocol conformance tool I have finally made some + progress getting a scriptable packet library using libnet, and + SWIG. This will hopefully become a port that can then be used to do + conformance testing on protocol stack changes. Qing Li has + separately taken up the ARP rewrite and that will be taken out of + the Dingo project pages.</p> + </body> + + <help> + <task>Many :-)</task> + </help> + </project> + + <project cat='kern'> + <title>Interrupt Latency</title> + + <contact> + <person> + <name> + <given>Warner</given> + + <common>Losh</common> + </name> + + <email>imp@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>I've setup a test system to measure interrupt latency on FreeBSD + 5.3 and current. So far I've measured the baseline latency for a + 300MHz embedded cyrix based single board computer. I've tried a + number of different strategies to optimize the interrupt path. Most + of these strategies resulted in some improvement of the time it + takes to get from the start of the interrupt servicing to the + driver's ISR. These improvements turned out to be about 1-2% of the + processing times on this single board computer, but a wash on + faster machines. However, the time between when the interrupt + should happen, and when FreeBSD starts to service the interrupt is + the dominant factor in these measurements. Despite the fact that + these are fast interrupt handlers (so the scheduler is out of the + loop), I routinely see average latencies of 18us, with large + variations (on the order of 5us standard deviation).</p> + </body> + + <help> + <task>I need to measure the latencies with 4.x and current to + characterize the differences more precisely. I'm especially + interested in the effects on interrupt latency that the elimination + of mixed mode will cause.</task> + + <task>I need to characterize different parts of our ISR routines to + see if some of the variation I've seen so far can be reduced by + improved coding techniques.</task> + + <task>I need to re-run my tests with 5.4 and summarize my results + in a paper.</task> + </help> + </project> + + <project cat='kern'> + <title>Infrastructure Cleanup</title> + + <contact> + <person> + <name> + <given>Warner</given> + + <common>Losh</common> + </name> + + <email>imp@FreeBSD.org</email> + </person> + + <person> + <name> + <given>Takahashi</given> + + <common>Yoshihiro</common> + </name> + + <email>nyan@FreeBSD.org</email> + </person> + </contact> + + <links> + </links> + + <body> + <p>Unglamorous cleanup of the code base continues. The focus of + recent efforts have been to reduce the number of machine #ifdefs + that are in the machine independent code. In addition, we're also + trying to increase code sharing between pc98 and i386 ports and + reduce the number of #ifdef PC98 instances in the tree.</p> + + <p>In addition, a number of cleanup tasks are underway for + different parts of the kernel that are more complicated than + necessary. Recently, the pccard code's allocation routines were + simplified to reassign ownership of resources more directly than + before. The search is on for other areas that can benefit from + cleanup.</p> + </body> + + <help> + <task>On pc98, there's no such thing as an ISA bus. It is desirable + to move to having cbus appear in the probe messages. This would + also allow for additional segregation of pc98 specific code in the + drivers and eliminate many ifdefs. Ideally, isa and cbus would + share a common newbus ancestor class so their similarities can be + exploited (they both have PNPBIOS enumeration methods, for + example).</task> + + <task>cbus devices can have complicated resources. There's support + for vectors of resources. Yet there's no support for populating a + vector of resources from the plug and play information. Doing so + would help the complex world of pc98 a lot, and the odd edge cases + in i386 (floppy, ata) a little.</task> + + <task>The hints mechanism provides a way to associate hardware with + drivers and resource that would otherwise be completely unknown to + the system. A refinement in the hints mechanism to allow matching + of driver instances to resources is desirable. This would allow one + to hardwire sio0 to 0x2f8, even when the serial device in the plug + and play resource list (or acpi resource list) is listed second. A + further refinement could also be wiring sio0 to "port B" as defined + by acpi or some other enumeration method. Chances are good that + these seemingly related concepts may need separate implementations + due to the decision points for unit assignment.</task> + + <task>Pccard, cardbus and usb probe their devices after interrupts + are enabled. It would be desirable to hook into new kernel APIs to + allow the mounting of root to be put off until those systems know + that they are done with their initial probe of the devices present + at boot.</task> + </help> + </project> + + <project cat='misc'> + <title>FreeBSD Security Officer and Security Team</title> + + <contact> + <person> + <name> + <given>Security</given> + + <common>Officer</common> + </name> + + <email>security-officer@FreeBSD.org</email> + </person> + + <person> + <name> + <given>Security</given> + + <common>Team</common> + </name> + + <email>security-team@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.freebsd.org/security/" /> + + <url + href="http://www.freebsd.org/administration.html#t-secteam" /> + + <url href="http://vuxml.freebsd.org/" /> + </links> + + <body> + <p>In January 2005, Warner Losh (Security Officer Emeritus) stepped + down from the FreeBSD Security Team in order to better devote his + time to other projects. In March, Colin Percival was named as a + second Deputy Security Officer, joining Dag-Erling Smørgrav in + that position. The current Security Team membership is published on + the web site.</p> + + <p>So far in 2005, four security advisories have been issued + concerning problems in the base system of FreeBSD, three of which + were specific to FreeBSD. The Vulnerabilities and Exposures Markup + Language (VuXML) document has continued to be updated by the + Security Team and the Ports Committers documenting new + vulnerabilities in the FreeBSD Ports Collection. As of April 17, + 127 entries have been added in 2005 bringing the FreeBSD VuXML file + up to a total of 422 entries.</p> + + <p>In the past months both the + <a href="http://vuxml.FreeBSD.org/">VuXML web site</a> + + and the + <a href="http://www.FreshPorts.org/">FreshPorts</a> + + VuXML integration have been improved. The VuXML web site has had a + face lift and, among other things, each package now has a separate + web page which lists all documented vulnerabilities for the + particular package. + <a href="http://cve.mitre.org/">CVE</a> + + information is now also included directly on the VuXML web + site.</p> + + <p>Finally, the first few months of 2005 also saw FreeBSD 4.8 -- + the first release to be offered "extended support" -- reach its + designated End of Life. The currently supported releases are + FreeBSD 4.10, 4.11, and 5.3.</p> + </body> + </project> + + <project cat='proj'> + <title>FreeBSD Release Engineering</title> + + <contact> + <person> + <name> + <given>RE</given> + <common>Team</common> + </name> + <email>re@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://www.freebsd.org/releng" /> + </links> + + <body> + <p>FreeBSD 4.11, the final formal release of the 4.x series, was + released on 25 Jan 2005. Many thanks to the all of the developers + and users over the past 5 years who made it successful. While no + more releases are planned, the security team will continue to + support it through security update patches until 2007. Developers + are also free to commit bug fixes and low-risk features to the + RELENG_4 branch for the foreseeable future.</p> + <p>FreeBSD 5.4 is going through its final release candidate stages + and is expected to be released in late April. Its focus is mostly + bug fixes and minor feature and performance improvements, so it is + an excellent target for those looking to upgrade from previous + versions or to give FreeBSD a try for the first time. FreeBSD 5.5 + will be release in about 4-6 months after 5.4.</p> + <p>FreeBSD 6.0 is rapidly approaching also. In contrast to FreeBSD + 5.0, the goal is to take a more incremental approach to major + changes, and not wait for years to get as many features in as + possible. FreeBSD 6.0 will largely be an evolutionary change from + the 5.x series, with the largest changes centered around + multi-threading and streamlining the filesystem and device layers. + Feature freeze and code freeze for 6.0 are coming up in May and + June, and we hope to have 6.0 stable and ready for release in July + or August.</p> + <p>The release engineering team has also started doing monthly + informal snapshots of the 6-CURRENT and 5-STABLE trees. These are + intended to increase the exposure of new features and get more + users involved in testing and providing feedback. Snapshots can + be found at <a href="http://www.freebsd.org/snapshots"> + http://www.freebsd.org/snapshots</a>.</p> + </body> + </project> + + <project cat='net'> + <title>New Wireless Drivers</title> + + <contact> + <person> + <name> + <given>Damien</given> + + <common>Bergamini</common> + </name> + + <email>damien@FreeBSD.org</email> + </person> + </contact> + + <links> + <url href="http://ipw2100.sourceforge.net/firmware.php?fid=4" /> + + <url href="http://ralink.rapla.net/" /> + </links> + + <body> + <p>Four new wireless drivers were imported:</p> + + <p> + <em>ipw</em> + + : driver for Intel PRO/Wireless 2100 adapters (MiniPCI). + <br /> + + <em>iwi</em> + + : driver for Intel PRO/Wireless 2200BG/2225BG/2915ABG adapters (PCI + or MiniPCI). + <br /> + + <em>ral</em> + + : driver for Ralink RT2500 wireless adapters (PCI or CardBus). + <br /> + + <em>ural</em> + + : driver for Ralink RT2500USB wireless USB 2.0 adapters.</p> + + <p>The ipw and iwi drivers require firmwares to operate. + <br /> + + These firmwares can't be redistributed with the base system due to + license restrictions. + <br /> + + See firmware licensing terms here: + <a href="http://ipw2100.sourceforge.net/firmware.php?fid=4"> + http://ipw2100.sourceforge.net/firmware.php?fid=4</a> + + . + <br /> + </p> + + <p>Ports which include the firmware images as well as the firmware + loader are being worked on. + <br /> + + A list of adapters supported by ral and ural can be found here: + <a href="http://ralink.rapla.net/">http://ralink.rapla.net/</a> + + .</p> + </body> + + <help> + <task>Create ports for ipw and iwi firmwares.</task> + + <task>Add IBSS support to iwi.</task> + + <task>Add WPA (802.11i) support to ipw and iwi.</task> + + <task>Add hardware encryption (WEP, TKIP and CCMP) support in ral + and ural.</task> + + <task>Add automatic rate adaptation support to ural.</task> + </help> + </project> +</report> + |