LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 505|回复: 0

FreeBSD: May-June 2004 Status Report

[复制链接]
发表于 2004-7-27 14:47:51 | 显示全部楼层 |阅读模式
转自:
http://kerneltrap.org/node/view/3542

FreeBSD core team member Scott Long posted the latest bi-monthly status report, covering FreeBSD development for May and June of 2004. Scott begins:

    "May and June were yet again busy months; the Netperf project passed major milestones and can now be run with the debug.mpsafenet tunable turned on from sources in CVS. The ARM, MIPS, and PPC ports saw quite a bit of progress, as did several other SMPng and Netgraph projects. FreeBSD 5.3 is just around the corner, so don't hesitate to grab a snapshot and test the progress!"

The code freeze for FreeBSD 5.3 [story] is scheduled to begin on August 15. The current todo list can be found on the FreeBSD project website. Read on for the latest status report, covering a wide range of FreeBSD projects.

  1. From: Scott Long [email blocked]
  2. To:  freebsd-announce
  3. Subject: [FreeBSD-Announce] May-June 2004 FreeBSD Status Report
  4. Date: Mon, 26 Jul 2004 18:41:41 -0600


  5. May-June 2004 Status Report

  6.                                  Introduction

  7.    This installment of the Bi-Monthly Status Report is a few days late,
  8.    but I'm pleased to say that it is chocked full of over 30 articles.
  9.    May and June were yet again busy months; the Netperf project passed
  10.    major milestones and can now be run with the debug.mpsafenet tunable
  11.    turned on from sources in CVS. The ARM, MIPS, and PPC ports saw quite
  12.    a bit of progress, as did several other SMPng and Netgraph projects.
  13.    FreeBSD 5.3 is just around the corner, so don't hesitate to grab a
  14.    snapshot and test the progress!

  15.    On a more serious note, it's very important to remember that code
  16.    freeze for FreeBSD 5.3 will happen on August 15, 2004. This is only a
  17.    few weeks away and there is still a lot to do. The TODO list for the
  18.    release can be found at . If you are looking for a way to contribute
  19.    to the release, this TODO list has several items that are in urgent
  20.    and in need of attention. Testing is also very important. The tree has
  21.    had some stability stability problems in the past few weeks, but there
  22.    are work-arounds that should allow everyone to continue testing and
  23.    using FreeBSD. We absolutely must have FreeBSD 5.3 be a rock-solid
  24.    release, so every little bit of contributed effort helps!

  25.    Thanks,

  26.    Scott Long

  27.      * Bluetooth stack for FreeBSD (Netgraph implementation)
  28.      * ALTQ import
  29.      * Buf Junta project
  30.      * CAM Lockdown
  31.      * Cronyx Adapters Drivers
  32.      * EuroBSDCon 2004 registration now open
  33.      * FreeBSD Brazilian Documentation Project
  34.      * FreeBSD Dutch Documentation Project
  35.      * FreeBSD Handbook, 3rd Edition, Volume II: Administrator Guide
  36.      * FreeBSD ports monitoring system
  37.      * FreeBSD profile.sh
  38.      * FreeBSD/arm
  39.      * FreeBSD/MIPS Status Report
  40.      * HP Network Scanjet 5
  41.      * i386 Interrupt Code & PCI Interrupt Routing
  42.      * Improved Multibyte/Wide Character Support
  43.      * IPFilter Upgraded to 3.4.35
  44.      * KDE on FreeBSD
  45.      * kgi4BSD
  46.      * Low-overhead performance monitoring for FreeBSD
  47.      * Network interface naming changes
  48.      * Network Stack Locking
  49.      * Packet Filter - pf
  50.      * PowerPC Port
  51.      * Project Mini-Evil
  52.      * SMPng Status Report
  53.      * Sync protocols (Netgraph and SPPP)
  54.      * TTY subsystem realignment
  55.      * Various GEOM classes and geom(8) utility
  56.      * VuXML and portaudit

  57. Bluetooth stack for FreeBSD (Netgraph implementation)

  58.    Contact: Maksim Yevmenkin [email blocked]

  59.    Bluetooth code was marked as non-i386 specific. It is now possible to
  60.    build it on all supported platforms. Please help with testing. Other
  61.    then this there was not much progress during last few months. I've
  62.    been very busy with Real Life.
  63.      _________________________________________________________________

  64. ALTQ import

  65.    URL: [url]http://www.csl.sony.co.jp/person/kjc/kjc/software.html#ALTQ[/url]
  66.    URL: [url]http://www.rofug.ro/projects/freebsd-altq/[/url]
  67.    URL: [url]http://kerneltrap.org/node.php?id=505[/url]
  68.    URL: [url]http://people.freebsd.org/~mlaier/ALTQ_driver/[/url]

  69.    Contact: Max Laier [email blocked]

  70.    The ALTQ framework is part of KAME for more than 4 years and has been
  71.    adopted by Net- and OpenBSD since more than 3 years. It provides means
  72.    of managing outgoing packets to do QoS and bandwidth limitations.
  73.    OpenBSD developed a different way to interact with ALTQ using pf,
  74.    which was adopted by KAME as the "default for everyday use".

  75.    The Romanian FreeBSD Users Group has had a project to work towards
  76.    integration of ALTQ into FreeBSD, which provided a very good starting
  77.    point for the final import. The import only provides the "pf mode"
  78.    configuration and classification API as the older ALTQ3 API does not
  79.    suit to our SMP approach.

  80.    A reworked configuration API (decoupled from pf) is in the making as
  81.    are additional driver modifications. Both should be done before
  82.    5-STABLE is branched, although additional drivers can be imported
  83.    during the lifetime of 5-STABLE as well.
  84.      _________________________________________________________________

  85. Buf Junta project

  86.    Contact: Poul-Henning Kamp [email blocked]

  87.    The buf-junta project is underway, I am trying to bisect the code such
  88.    that we get a struct bufobj which is the handle and method carrier for
  89.    a buffer-cache object. All vnodes contain a bufobj, but as filesystems
  90.    get migrated to GEOM backing, bufobj's will exist which do not have an
  91.    associated vnode. The work is ongoing.
  92.      _________________________________________________________________

  93. CAM Lockdown

  94.    Contact: Scott Long [email blocked]

  95.    Not much coding has taken place on this lately, with the recent focus
  96.    being on refining the design. We are currently investigating per-CPU
  97.    completion queues and threads in order to reduce locks and increase
  98.    concurrency. Also reviewing the BSD/OS CAM lockdown to see what ideas
  99.    can be shared. Work should hopefully puck back up in late July.
  100.    Development is taking place in the FreeBSD Perforce repository under
  101.    the //depot/projects/scottl-camlock/... branch for now.
  102.      _________________________________________________________________

  103. Cronyx Adapters Drivers

  104.    URL: [url]http://www.cronyx.ru/hardware/wan.html[/url]

  105.    Contact: Roman Kurakin [email blocked]

  106.    cp(4) driver for Cronyx Tau-PCI was added. Cronyx Tau-PCI is family of
  107.    synchronous WAN adapters with various set of interfaces such as V.35,
  108.    RS-232, RS-530(449), X.21, E1, E3, T3, STS-1. This is a third family
  109.    of Cronyx adapters that is supported by FreeBSD now. Now all three
  110.    drivers cx(4), ctau(4) and cp(4) are on both major branches (HEAD and
  111.    RELENG_4).

  112.    Busdma conversion was recently finished. Current work is concentrated
  113.    on locking both for adapters drivers and for sppp (see my other report
  114.    for additional information).
  115.      _________________________________________________________________

  116. EuroBSDCon 2004 registration now open

  117.    URL: [url]http://www.eurobsdcon2004.de/[/url]

  118.    Contact: Patrick M. Hausen [email blocked]

  119.    Registration for EuroBSDCon 2004 taking place in Karlsruhe, Germany,
  120.    from Oct. 29th to 31st has just opened. An early bird discount will be
  121.    offered to all registering until Aug. 15th. Please see the conference
  122.    website for details.
  123.      _________________________________________________________________

  124. FreeBSD Brazilian Documentation Project

  125.    URL: [url]http://doc.fugspbr.org[/url]
  126.    URL: [url]http://lists.fugspbr.org/listinfo.cgi/doc-fugspbr.org[/url]
  127.    URL: [url]http://developer.berlios.de/projects/doc-br/[/url]

  128.    Contact: DOC-BR Discussion List [email blocked]

  129.    The FreeBSD Brazilian Documentation Project is an effort of the
  130.    Brazilian FreeBSD Users Group (FUG-BR) to translate the available
  131.    documentation to pt_BR. We are proud to announce that we've finished
  132.    the Handbook and FDP Primer translation and they are being revised.
  133.    Both should be integrated to the FreeBSD CVS repository shortly.

  134.    There are many other articles being translated and their status can be
  135.    checked at our website. If you want to help please create an account
  136.    at BerliOS, since our CVS repository is being hosted there, and
  137.    contact us through our mailing list. Any help is welcome!
  138.      _________________________________________________________________

  139. FreeBSD Dutch Documentation Project

  140.    URL: [url]http://www.evilcoder.org/freebsd_html[/url]
  141.    URL: [url]http://www.evilcoder.org/freebsd/handbook.tbz[/url]
  142.    URL: [url]http://www.evilcoder.org/freebsd/html.tbz[/url]

  143.    Contact: Remko Lodder [email blocked]

  144.    The FreeBSD Dutch Documentation project is a ongoing project
  145.    translating the FreeBSD handbook {and others} to the dutch language.
  146.    We are still on the look for translators and people that are willing
  147.    to check the current html documentation. If you are interested,
  148.    contact me at the email address shown above. We currently are reading
  149.    for some checkups and then insert the first documents into the
  150.    documentation tree.
  151.      _________________________________________________________________

  152. FreeBSD Handbook, 3rd Edition, Volume II: Administrator Guide

  153.    URL: [url]http://www.freebsd.org/docproj/handbook3.html[/url]

  154.    Contact: Murray Stokely [email blocked]

  155.    The Third Edition of the FreeBSD Handbook has been split into two
  156.    volumes. The first volume, the User Guide, has been published. Work is
  157.    progressing on the second volume. The following chapters are included
  158.    in the second volume : advanced-networking, network-servers, config,
  159.    boot, cutting-edge, disks, l10n, mac, mail, ppp-and-slip, security,
  160.    serialcomms, users, vinum, eresources, bibliography, mirrors. Please
  161.    see the Task List for information about what work remains to be done.
  162.    In addition to technical and grammatical review, a number of HTML
  163.    output assumptions in the document need to be corrected.
  164.      _________________________________________________________________

  165. FreeBSD ports monitoring system

  166.    URL: [url]http://portsmon.firepipe.net/index.html[/url]

  167.    Contact: Mark Linimon <linimon_at_lonesome_dot_com>

  168.    The system continues to function well. The accuracy of the automatic
  169.    classification algorithm has been improved by assigning a higher
  170.    priority to port names found in pieces of Makefiles.

  171.    Several bugs had to be fixed due to the transition from bento to
  172.    pointyhat. For about two weeks the URLs to the build errors were
  173.    wrong. This has now been corrected (but note that some of the
  174.    pointyhat summary pages themselves still show the broken links.)

  175.    A report was added to show only PRs in the 'feedback' state, so that
  176.    committers can focus on maintainer and/or responsible timeouts. (As a
  177.    reminder, the policy is 2 weeks). Another report on 'ports that are in
  178.    ports/MOVED, but still exist' has also been added to the Anomalies
  179.    page. Sometimes these are actual errors but not always.

  180.    Here are my latest observations about the trends in ports PRs:
  181.      * We were (very briefly) down to 650 ports PRs. From looking at the
  182.        graphs, this appears to be the lowest number since 2001. This is
  183.        despite the fact that between the two time periods the number of
  184.        ports had increased 70%.
  185.      * We have made a little bit of progress on the number of PRs which
  186.        apply to existing ports and have been assigned to a FreeBSD
  187.        committer, from 400 to around 350. This is partly due to some
  188.        committers going through the database, putting old PRs into the
  189.        'feedback' state, and then later invoking the 'maintainer timeout'
  190.        rule mentioned above. (In some cases the PRs are now too old to
  191.        still apply, and those are just closed.)
  192.      * A few maintainers are currently responsible for one-third of those
  193.        350. Please, if you feel that you are over committed, consider
  194.        asking for new volunteers to maintain these ports.
  195.      * In terms of build errors, there is some new breakage from the
  196.        preliminary testing with gcc3.4, which is even stricter with
  197.        respect to the code it will accept than was gcc3.3. Many of these
  198.        errors are shown as 'unknown' by the classification script. I have
  199.        submitted a patch to fix this.
  200.      * The majority of the build errors are still due to compilation
  201.        problems, primarily from the gcc upgrades. Since FreeBSD tends to
  202.        be at the forefront of gcc adaptation, this is to be expected, but
  203.        IMHO we should really try to fix as many of these as possible
  204.        before 5.3 is released.
  205.      * The next highest number of build errors are caused by code that
  206.        does not build on our 64-bit architectures due to the assumption
  207.        that "all the world's a PC". Here is the entire list; the
  208.        individual bars are clickable.
  209.      _________________________________________________________________

  210. FreeBSD profile.sh

  211.    URL: [url]https://projects.fsck.ch/profile/[/url]

  212.    Contact: Tobias Roth [email blocked]

  213.    FreeBSD profile.sh is an enhancement to the FreeBSD 5 rcng boot
  214.    system, targeted at laptops. One can configure multiple network
  215.    environments (eg, home, work, university). After this initial
  216.    configuration, the laptop detects automatically in what environment it
  217.    is started and configures itself accordingly. Not only network
  218.    settings, but almost everything from under /etc can be configured per
  219.    environment. It is also possible to suspend the machine in one
  220.    environment and wake it up in a different one, and reconfiguration
  221.    will happen automatically.
  222.      _________________________________________________________________

  223. FreeBSD/arm

  224.    Contact: Olivier Houchard [email blocked]
  225.    Not much to report, Xscale support is in progress, and should boot at
  226.    least single user really soon on an Intel IQ31244

  227.    Evaluation board.
  228.      _________________________________________________________________

  229. FreeBSD/MIPS Status Report

  230.    URL: [url]http://www.FreeBSD.org/projects/mips/[/url]
  231.    URL: [url]http://www.mdstud.chalmers.se/~md1gavan/mips64emul/[/url]

  232.    Contact: Juli Mallett [email blocked]

  233.    In the past two months, opportunities to perform a good chunk of work
  234.    on FreeBSD/MIPS have arisen and significant issues with context
  235.    switching, clocks, interrupts, and kernel virtual memory have been
  236.    resolved. A number of issues with caches were fixed, however those are
  237.    far from complete and at last check, there were issues when running
  238.    cached which would prevent booting sometimes. Due to toolchain issues
  239.    in progress, current kernels are no longer bootable on real hardware.

  240.    A 64-bit MIPS emulator has arisen giving the ability to test and debug
  241.    in an emulator, and much testing has taken place in it. It has been
  242.    added to the FreeBSD ports tree, and the port will be actively
  243.    tracking the main codebase as possible. In general, FreeBSD/MIPS
  244.    kernels should run fine in it.

  245.    Before toolchain and cache issues, the first kernel threads would run,
  246.    busses and some devices would attach, and the system would boot to a
  247.    mountroot prompt.
  248.      _________________________________________________________________

  249. HP Network Scanjet 5

  250.    URL: [url]http://berklix.com/scanjet/[/url]

  251.    Contact: Julian Stacey [email blocked]

  252.    HP Network Scanjet 5 can unobtrusively run FreeBSD inside the scanner.
  253.    Those who miss their Unix at work can have a FreeBSD box, un-noticed &
  254.    un-challenged by blinkered managers who block any non Microsoft PC in
  255.    the building. [url]http://berklix.com/scanjet/[/url]
  256.      _________________________________________________________________

  257. i386 Interrupt Code & PCI Interrupt Routing

  258.    Contact: John Baldwin [email blocked]

  259.    Support for programming the polarity and trigger mode of interrupt
  260.    sources at runtime was added. This includes a mini-driver for the ELCR
  261.    register used to control the configuration for ISA and EISA
  262.    interrupts. The atpic driver reprograms the ELCR as necessary, while
  263.    the apic driver reprograms the interrupt pin associated with an
  264.    interrupt source as necessary. The information about which
  265.    configuration to use mostly comes from ACPI. However, non-ACPI systems
  266.    also force any ISA interrupts used to route PCI interrupts to use
  267.    active-low polarity and level trigger.

  268.    Support for suspend and resume on i386 was also slightly improved.
  269.    Suspend and resume support was added to the ELCR, $PIR, and apic
  270.    drivers.

  271.    The ACPI PCI-PCI bridge driver was fixed to fall back to the PCI-PCI
  272.    bridge swizzle method for routing interrupts when a routing table was
  273.    not provided by the BIOS.

  274.    Mixed mode can now be disabled or enabled at boot time via a loader
  275.    tunable.
  276.      _________________________________________________________________

  277. Improved Multibyte/Wide Character Support

  278.    Contact: Tim Robbins [email blocked]

  279.    Many more text-processing utilities in the FreeBSD base system have
  280.    been updated to work with multibyte characters, including comm, cut,
  281.    expand, fold, join, paste, unexpand, and uniq. New versions of GNU
  282.    grep and GNU sort (from coreutils) have been imported, together with
  283.    multibyte support patches from developers at IBM and Red Hat.

  284.    Future work will focus on modifying the regular expression functions
  285.    to work with multibyte characters, improving performance of the C
  286.    library routines, and updating the remaining utilities (sed and tr are
  287.    two important ones still remaining).
  288.      _________________________________________________________________

  289. IPFilter Upgraded to 3.4.35

  290.    URL: [url]http://coombs.anu.edu.au/~avalon/ip-filter.html[/url]

  291.    Contact: Darren Reed [email blocked]

  292.    IPFilter has been upgraded in both FreeBSD-current and 4-STABLE (post
  293.    4.10) from version 3.4.31 to 3.4.35.
  294.      _________________________________________________________________

  295. KDE on FreeBSD

  296.    URL: [url]http://freebsd.kde.org[/url]

  297.    Contact: Michael Nottebrock [email blocked]

  298.    The work on converting the build switches/OPTIONS currently present in
  299.    the ports of the main KDE modules into separate ports in order to make
  300.    packages available for the software/features they provide is
  301.    progressing. Porting of KOffice 1.3.2 are nearly completed. The
  302.    swedish FreeBSD snapshot server , operated and maintained by members
  303.    of the KDE/FreeBSD team, is back up and running at full steam.
  304.    Additional amd64 hardware has been added and amd64 snapshots will be
  305.    available soon.
  306.      _________________________________________________________________

  307. kgi4BSD

  308.    URL: [url]http://www.FreeBSD.org/~nsouch/kgi4BSD[/url]

  309.    Contact: Nicholas Souchu [email blocked]

  310.    KGI is going slowly but surely. The port of the KGI/Linux accel to
  311.    FreeBSD is in progress. It's no more than a double buffering API for
  312.    graphic command passing to the HW engine.

  313.    Most of the work in the past months was about console management and
  314.    more especially dual head console. Otherwise a new driver building
  315.    tree is now ready to compile Linux and FreeBSD drivers in the same
  316.    tree.

  317.    Documentation about KGI design is in progress.
  318.      _________________________________________________________________

  319. Low-overhead performance monitoring for FreeBSD

  320.    URL:

  321.    Contact: Joseph Koshy [email blocked]

  322.    The current design attempts to support both per-process and
  323.    system-wide statistical profiling and per-process "virtual"
  324.    performance counters. The userland API libpmc(3) is somewhat stable
  325.    now, but the kernel module's design is being redone to handle MP
  326.    better. Initial development is targeting the AMD Athlon CPUs, but the
  327.    intent is to support all the CPUs that FreeBSD runs on.

  328.    An early prototype is available under Perforce [under
  329.    //depot/user/jkoshy/projects/pmc/].
  330.      _________________________________________________________________

  331. Network interface naming changes

  332.    Contact: Brooks Davis [email blocked]

  333.    An enhanced network interface cloning API has been committed. It
  334.    allows interfaces to support more complex names then the current name#
  335.    style. This functionality has been used to enable interesting cloners
  336.    like auto-configuring vlan interfaces. Other features include locking
  337.    of cloner structures and the ability of drivers to reject destroy
  338.    requests.

  339.    Work on userland support for this functionality is ongoing.
  340.      _________________________________________________________________

  341. Network Stack Locking

  342.    URL: [url]http://www.freebsd.org/smp/[/url]
  343.    URL: [url]http://www.watson.org/~robert/freebsd/netperf/[/url]

  344.    Contact: Robert Watson [email blocked]

  345.    This project is aimed at converting the FreeBSD network stack from
  346.    running under the single Giant kernel lock to permitting it to run in
  347.    a fully parallel manner on multiple CPUs (i.e., a fully threaded
  348.    network stack). This will improve performance/latency through
  349.    reentrancy and preemption on single-processor machines, and also on
  350.    multi-processor machines by permitting real parallelism in the
  351.    processing of network traffic. As of FreeBSD 5.2, it was possible to
  352.    run low level network functions, as well as the IP filtering and
  353.    forwarding plane, without the Giant lock, as well as "process to
  354.    completion" in the interrupt handler. This permitted both inbound and
  355.    outbound traffic to run in parallel across multiple interfaces and
  356.    CPUs.

  357.    Work continues to improve the maturity and completeness of the locking
  358.    (and performance) of the network stack for 5.3. The network stack
  359.    development branch has been updated to the latest CVS HEAD, as well as
  360.    the following and more. Many but not all of these changes have been
  361.    merged to the FreeBSD CVS tree as of the writing of this report.
  362.    Complete details and more minor changes are documented in the README
  363.    file on the netperf web page.
  364.      * Addition of hard-coded WITNESS lock orders for socket-related
  365.        locks, route locks, interface locks, file descriptor locks, SLIP,
  366.        and PCB locks for various protocols (UDP, TCP, UNIX domain
  367.        sockets). (Merged)
  368.      * Modifed MAC Framework to use inpcbs as the source for mbuf labels
  369.        rather than reaching up to the socket layer, avoiding the
  370.        additional acquisition of socket locks. Locked access to so_label
  371.        and so_peerlabel using the socket lock throughout; assert socket
  372.        lock in the MAC Framework where depended on. MAC Framework now
  373.        makes a copy of the socket label before externalizing to prevent a
  374.        copyout while holding the label lock (and potentially seeing an
  375.        inconsistent label). (Merged)
  376.      * Extensive annotation of locking state throughout the network
  377.        stack, especially relating to sockets.
  378.      * Several locking fixes for ng_base.c, the basic Netgraph
  379.        infrastructure. (Merged)
  380.      * Global accept filter list locking, especially during registration.
  381.        (Partially merged)
  382.      * Revise locking in socket state transition helpers, such as
  383.        soisconnecting(), soisconnected(), etc, to simplify lock handling.
  384.        (Merged)
  385.      * Fix bugs in netatalk DDP locking, merge all netatalk locking to
  386.        CVS. (Merged)
  387.      * soref() socket locking assertions and associated fixes. (Merged)
  388.      * Fifofs now uses its own mutex instead of the vnode interlock to
  389.        synchronize fifo operations, avoiding lock order issues with
  390.        socket buffer locking. (Merged)
  391.      * Cleanup of locking related to file descriptor close and Giant
  392.        requirements. Experimentation with reducing locking here.
  393.      * Review and fix several instances of socket locking in the TCP
  394.        code. (Merged)
  395.      * NFS server locking merged to FreeBSD CVS. (Merged)
  396.      * Accept locking merged to rwatson_netperf, and to FreeBSD CVS. A
  397.        new global mutex, accept_mtx, now protects all socket related
  398.        accept queue and state fields (SS_COMP, SS_INCOMP), and flags
  399.        relating to accept are moved from the generic so_state field to
  400.        so_qstate. accept1() rearranged, as with sonewconn() as a result,
  401.        and a file descriptor leak fixed. Close a variety of races in
  402.        socket referencing during accept. soabort() and other partially
  403.        connected socket related functions updated to take locking into
  404.        account. (Merged)
  405.      * Issue associated with non-atomic setting of SS_NBIO in fifofs
  406.        resolved by adding MSG_NBIO. (Merged)
  407.      * Several flags from so_state moved to sb_state so they can be
  408.        locked properly using the socket buffer mutex. (Merged)
  409.      * Socket locks are now not held over calls into the protocol
  410.        preventing many lock order issues between socket and protocol
  411.        locks, and avoiding a substantial amount of conditional locking.
  412.        (Merged)
  413.      * mbuma, the UMA-based mbuf allocator, is merged to CVS. This
  414.        reduces the kernel to one widely used memory allocator, improves
  415.        performance, and allows memory from mbufs to be reclaimed and
  416.        reused for other types of storage when pressure lowers. (Merged)
  417.      * sb_flags now properly locked. (Merged)
  418.      * Global MAC label ifnet lock introduced to protect labels on
  419.        network interfaces. (Merged)
  420.      * Rewrites of parts of soreceive() and sosend() to improve MP safety
  421.        merged to CVS, including modifications to make sure socket buffer
  422.        cache state is consistent when locks are released.
  423.        sockbuf_pushsync() added to guarantee consistency of cached
  424.        pointers. (Merged)
  425.      * UNIX domain socket locking revised to use a subsystem lock due to
  426.        inconsistencies in lock order and inconsistent coverage ofunpcb
  427.        fields. Cleanup of global variable locking in UNIX domain sockets,
  428.        Giant handling when entering VFS. All UNIX domain socket locking
  429.        merged to CVS. (Merged)
  430.      * netisr dispatch introduced in the routing code such that routing
  431.        socket message delivery is performed asynchronously from routing
  432.        events to avoid lock order issues. (Merged)
  433.      * IGMP and multicast locking merged to CVS. (Merged)
  434.      * Cleanup of lasting recursive Giant acquisition left over from
  435.        forwarding/bridging plane only locking. (Merged)
  436.      * ALTQ imported into the FreeBSD in a locked state. (Merged)
  437.      * Conditional locking in sbdrop(), sbdroprecord(), sbrelease(),
  438.        sbflush(), spappend(), sbappendstream(), sbappendrecord(),
  439.        sbinsertoob(), sbappendaddr(), sbappendcontrol() eliminated.
  440.        (Merged)
  441.      * Some cleanup of IP stack management ioctls and lock order issues.
  442.        (Merged)
  443.      * Cleanup and annotation of sorflush() use of a temporary stack held
  444.        socket buffer during flush. (Merged)
  445.      * Substantial cleanup of socket wakeup mechanisms to drop locks in
  446.        advance of wakeup, avoid holding locks over upcalls, and
  447.        assertions of proper lock state. (Merged)
  448.      * With the integration of revised ifnet cloning, cloning data
  449.        structures are now better locked. (Merged)
  450.      * Socket locking for portalfs. (Merged)
  451.      * Global so_global_mtx introduced to protect generation numbers and
  452.        socket counts. (Merged)
  453.      * KAME IPSEC and FAST_IPSEC now use rawcb_mtx to protect raw socket
  454.        list integration. More work required here. (Merged)
  455.      * Socket locking around SO_SNDLOWAT and SO_RCVLOWAT. (Merged)
  456.      * soreserve() and sbreserve() reformulation to improve locking and
  457.        consistency. Similar cleanup in the use of reservation functions
  458.        in tcp_mss(). (Merged)
  459.      * Locking cost reduction in sbappend*(). (Merged)
  460.      * Global locking for a number of Netgraph modules, including
  461.        ng_iface, ng_ppp, ng_socket, ng_pppoe, ng_frame_relay, ng_tty,
  462.        ng_eiface. (Merged)
  463.      * IPv6 inpcb locking. Resulting cleanup of inpcb locking assertions,
  464.        and enabling of inpcb locking assertions by default even with IPv6
  465.        compiled in.
  466.      * if_xl now MPSAFE. (Merged)
  467.      * soreceive() non-inline OOB support placed in its own function.
  468.        (Merged)
  469.      * NFS client socket locking. (Merged)
  470.      * SLIP now uses a asynchronous task queue to prevent Giant-free
  471.        entrance of the TTY code.
  472.      * E-mail sent to current@ providing Giant-free operation guidelines
  473.        and details.
  474.      _________________________________________________________________

  475. Packet Filter - pf

  476.    URL: [url]http://www.benzedrine.cx/pf.html[/url]

  477.    Contact: Max Laier [email blocked]
  478.    Contact: Daniel Hartmeier [email blocked]

  479.    We imported pf as of OpenBSD 3.5 stable on June, 17th which will be
  480.    the base for 5-STABLE pf (according to the current schedule). The most
  481.    important improvement in this release is the new interface handling
  482.    which makes it possible to write pf rule sets for hot-pluggable
  483.    devices and pseudo cloning devices, before they exist. The import of
  484.    the ALTQ framework enabled us to finally provide the related pf
  485.    functions as well.

  486.    Before 5-STABLE we will import some bug fixes from OpenBSD-current,
  487.    which have not been merged to their stable branch, as well as some
  488.    FreeBSD specific features. The planned ALTQ API make-over will also
  489.    affect pf.

  490.    We are (desperately) looking for non-manpage documentation for FreeBSD
  491.    pf and somebody to write it. Few things have changed so a port of the
  492.    excellent "PF FAQ" on the OpenBSD homepage should be fitting. There
  493.    are, however, a couple of points that need conversion. A simple
  494.    tutorial how to setup a NAT gateway with pf would also help. The
  495.    in-kernel NAT engine is very easy to use, we should tell people about
  496.    this alternative. This is even more true since the pf module now plugs
  497.    into GENERIC without modifications.
  498.      _________________________________________________________________

  499. PowerPC Port

  500.    Contact: Peter Grehan [email blocked]

  501.    The port has been moving along steadily. There have been reports of
  502.    buildworld running natively. Works is almost complete on make release
  503.    so there will be bootable CD images in the near future.
  504.      _________________________________________________________________

  505. Project Mini-Evil

  506.    Contact: Scott Long [email blocked]

  507.    Project Mini-Evil is an attempt to extend Bill Paul's 'Project Evil'
  508.    Windows NDIS wrapper layer to the SCSI MiniPort and StorePort layers.
  509.    While drivers exist for most storage controllers that are on the
  510.    market today, many companies are integrating software RAID into their
  511.    products but not providing any source code or design specs. Instead of
  512.    constantly reverse-engineering these raid layers and attempting to
  513.    shoehorn them into the ata-raid driver, Project Mini-Evil will run the
  514.    Windows drivers directly. It will hopefully also run most any
  515.    SCSI/ATA/RAID drivers that conform to the SCSI Miniport or Storeport
  516.    specification.

  517.    Work on this project is split between making the NDIS wrapper code
  518.    more general and implementing the new APIs. Development is taking
  519.    place in the FreeBSD Perforce repository under the
  520.    //depot/projects/sonofevil/... branch.
  521.      _________________________________________________________________

  522. SMPng Status Report

  523.    URL: [url]http://www.FreeBSD.org/smp/[/url]

  524.    Contact: John Baldwin [email blocked]
  525.    Contact: [email blocked]

  526.    Not a lot happened on the SMPng front outside of the work on locking
  527.    the network stack (which is a large amount of work). The priorities of
  528.    the various software interrupt threads were corrected and locking for
  529.    taskqueues was improved. The return value of the sema_timedwait()
  530.    function was adjusted to be more consistent with cv_timedwait(). A
  531.    small fix was made to the sleepqueue code to shorten the amount of
  532.    time that a sleepqueue chain lock is held when waking up threads. Some
  533.    simple debug code for profiling the hash tables used in the sleep
  534.    queue and turnstile code was added. This will allow developers to
  535.    measure the impact of any tweaks to the hash table sizes or the hash
  536.    algorithm.
  537.      _________________________________________________________________

  538. Sync protocols (Netgraph and SPPP)

  539.    URL: [url]http://www.freebsd.org/~rik[/url]

  540.    Contact: Roman Kurakin [email blocked]

  541.    Currently I work on two directions: if_spppfr.c and sppp locking (on
  542.    behalf of netperf). At the moment of writing this sppp locking is not
  543.    ready yet. But it would be ready in couple of days. Also you may find
  544.    as a part of this work some user space fixes for rwatson netperf code
  545.    (Only that I was able to catch while world compilation. If you know
  546.    some others let me know and I'll try to fix them too).

  547.    Since sppp code is quite big and state machine is very complicated, it
  548.    would be difficult to test all code paths. I will glad to get any help
  549.    in testing all this stuff. More tester more probability to test all
  550.    possible cases.

  551.    Work on FRF.12 (ng_frf12) is frozen since of low interest and lack of
  552.    time. Current state of stable code: support of FRF.12 End-to-End
  553.    fragmentation. Support of FRF.12 Interface (UNI and NNI) fragmentation
  554.    is not tested.
  555.      _________________________________________________________________

  556. TTY subsystem realignment

  557.    Contact: Poul-Henning Kamp [email blocked]

  558.    An effort to get the tty subsystem out from under Giant has morphed
  559.    into an more general effort to eliminate a lot of code which have been
  560.    improperly copy & pasted into device drivers. In an ideal world, tty
  561.    drivers would never get near a cdevsw, but since some drivers are more
  562.    than just tty drivers (for instance sync) a more sensible compromise
  563.    must be reached. The work is ongoing.
  564.      _________________________________________________________________

  565. Various GEOM classes and geom(8) utility

  566.    Contact: Pawel Jakub Dawidek [email blocked]

  567.    I'm working on various GEOM classes. Some of them are already
  568.    committed and ready for use (GATE, CONCAT, STRIPE, LABEL, NOP). The
  569.    MIRROR class is finished in 90% and will be committed in very near
  570.    future. Next I want to work on RAID3 and RAID5 implementations.
  571.    Userland utility to control GEOM classes (geom(8)) is already in the
  572.    tree.
  573.      _________________________________________________________________

  574. VuXML and portaudit

  575.    URL: [url]http://www.vuxml.org[/url]
  576.    URL: [url]http://vuxml.FreeBSD.org[/url]
  577.    URL: [url]http://people.freebsd.org/ports/portaudit/[/url]

  578.    Contact: Tom Rhodes [email blocked]

  579.    The portaudit utility is currently an add-on to FreeBSD designed to
  580.    give administrators and users a heads up with regards to security
  581.    vulnerabilities in third party software. The VuXML database keeps a
  582.    record of these security vulnerabilities along with internal security
  583.    holes. When installed, the portaudit utility periodically downloads a
  584.    database with known issues and checks all installed ports or packages
  585.    against it; should it find vulnerable software installed the
  586.    administrator or user is notified during the daily run output of the
  587.    periodic scripts.

  588.    These utilities are considered to be of production quality and
  589.    discussion is taking place over whether or not they should be included
  590.    as part of the base system. All ports committers are urged to add
  591.    entries when when a vulnerability is discovered; any questions may be
  592.    sent to eik@ or myself.
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表