cvs-src summary for August 23-30

From: Mark Johnston (mjohnston_at_skyweb.ca)
Date: 08/31/04

  • Next message: Jon Drews: "Re: [PLEASE TEST] Better support for Synaptics Touchpads"
    To: current@freebsd.org, freebsd-cvs-summary@lists.enderunix.org
    Date: Mon, 30 Aug 2004 19:16:22 -0500
    
    

    Here's this week's summary. As a side note, I discovered Synergy
    (http://synergy2.sf.net) today, and it made the summary-writing much more
    pleasant, letting me flip my mouse cursor between the desktop I write the
    summary on and the laptop I read the mail on, copying and pasting
    transparently. I highly recommend it if you run any kind of
    multi-PC-on-one-desktop configuration.

    FreeBSD cvs-src summary for 23/08/04 to 30/08/04
    ++++++++++++++++++++++++++++++++++++++++++++++++
    This is a regular weekly summary of FreeBSD's cutting-edge development.
    It is intended to help the FreeBSD community keep up with the fast-paced
    work going on in FreeBSD-CURRENT by distilling the deluge of data from
    the CVS mailing list into a (hopefully) easy-to-read newsletter. This
    newsletter is marked up in reStructuredText_, so any odd punctuation
    that you see is likely intended for the reST parser.

    .. _reStructuredText: http://docutils.sourceforge.net/rst.html

    You can get old summaries, and an HTML version of this one, at
    http://www.xl0.org/FreeBSD/. Please send any comments to Mark Johnston
    (mark at xl0.org).

    If you would like to get the summary without subscribing to current@,
    please send mail to freebsd-cvs-summary-subscribe@lists.enderunix.org.
    Thanks to Omer Faruk Sen and EnderUNIX for hosting this list.

    For Lukasz Dudek and Szymon Roczniak's Polish translations of these
    summaries, which may lag the English ones slightly, please see
    http://mocart.pinco.pl/FreeBSD/.

    .. contents::

    ============
    New features
    ============
    Networking now runs without Giant by default
    --------------------------------------------
    Robert Watson (rwatson) changed the default value of the sysctl
    debug.mpsafenet to 1, meaning that the network stack will run without the
    Giant system lock. This means that networking will be more parallelizable
    and will be faster on SMP systems.

    To counteract this change, you can set debug.mpsafenet to 0 in
    loader.conf, or add a kernel option, "NET_WITH_GIANT", that restores the
    default to 0.

    The networking subsystem has been the focus of a huge amount of effort
    to reach this point, and there is still some work left to do in locking
    individual drivers (which have been marked specifically as needing
    Giant). Nevertheless, this change represents a big step towards SMPng.
    Congratulations and thanks to Robert and all involved in the locking work!

    http://www.freebsd.org/cgi/mid.cgi?200408281511.i7SFBDYa009794

    PFIL_HOOKS integrated into the kernel
    -------------------------------------
    Andre Oppermann (andre) changed PFIL_HOOKS, the API for packet filters to
    hook the functions they use, to be a permanent part of the kernel. The
    PFIL_HOOKS kernel compile option has been removed. He also made a tweak
    that eliminates the performance impact that PFIL_HOOKS used to have when
    no packet filters were loaded.

    http://www.freebsd.org/cgi/mid.cgi?200408271516.i7RFGO8L061926

    Module loader now supported on amd64
    ------------------------------------
    Ian Dowse (iedowse) committed support for loading modules via the module
    loader on amd64.

    http://www.freebsd.org/cgi/mid.cgi?200408290121.i7T1Lppf030605

    Mouse sync recovery improved for Belkin KVM switches
    ----------------------------------------------------
    Justin T. Gibbs (gibbs) improved the sync recovery in the mouse code,
    cutting down on spurious mouse moves and clicks with Belkin KVM switches.
    Large portions of the code he committed were written by Brian Somers.

    http://www.freebsd.org/cgi/mid.cgi?200408272125.i7RLPG3K076074

    ===============
    Notable changes
    ===============
    5.3-BETA2 begins
    ----------------
    Scott Long (scottl) updated the system version to 5.3-BETA2, marking
    another step on the way to 5.3-RELEASE.

    http://www.freebsd.org/cgi/mid.cgi?200408270532.i7R5W3BC044152

    Count device support removed from config
    ----------------------------------------
    Peter Wemm (peter) removed support from config, the kernel configuration
    processing tool, for counted devices. Counted devices are device lines
    that incorporate a count of how many devices to support. Peter changed
    over the last few devices using this option to have the count passed as an
    option. This means that quotes are no longer required around options with
    numbers in them, like snd_emu10k1.

    http://www.freebsd.org/cgi/mid.cgi?200408302303.i7UN3wnR032136

    X configuration removed from sysinstall
    ---------------------------------------
    Ken Smith (kensmith) removed support from sysinstall for configuring the
    X server. This was discussed on -current, and the consensus was that X
    configuration is best left for post-install.

    http://www.freebsd.org/cgi/mid.cgi?200408302103.i7UL397X027511

    =================
    Discussion topics
    =================

    Use of KASSERT() vs. other error checking
    -----------------------------------------
    Pawel Jakub Dawidek (pjd) made a change to GEOM to skip providers with an
    undefined sector size.

    Poul-Henning Kamp (phk) responded to this change, saying, "This is wrong.
    A provider with a non-zero access count should always have a sector size."

    Pawel answered, "I know that it should be done this way, but I'm not going
    to fix atapi-cd.c, scsi_da.c and scsi_cd.c and who knows what else."

    Roman Kurakin (rik) asked, "Does your code print any warning message in
    that case? That could force authors of 'buggy' code to fix it."

    Pawel answered, "No, this should be KASSERT() inside g_error_provider()".

    Brian Fundakowski Feldman (green) replied, "I don't like that one bit."
    He gave the following suggestions for error types (reformatted):

    "KASSERT() should be reserved for serious programming errors -- guarding
    against side cases that show major error.
    panic() should be reserved for cases where error recovery is impossible
    and errors are detected under the normal course of error checking.
    printf() should be used when there are simple mistakes that do not cause
    system instability if you recover from them."

    Poul-Henning answered, "In GEOM I have generously sprinkled KASSERTs for
    the very purpose of stopping programmer misunderstandings or attempts
    to be smart. The intent is that the programmer will find his bugs
    even during light testing and that the KASSERTs will help clarify the
    intentional use of APIs."

    Brian asked, "Why in the world would you crash the machine when you don't
    have to?", continuing, "I use KASSERT()s quite liberally, too, you know,
    but running into crashes in half-finished kernel code that's in the tree
    -- as a user -- is far inferior to running into errors and warnings that
    do not halt the whole system."

    Poul-Henning answered his question, "To prevent bogus code from being
    committed in the first place."

    Brian replied, "You cannot presume testing will expose every possible
    state/condition."

    M. Warner Losh (imp) responded, "I beg to differ. newbus has lots of
    asserts in it that could be recovered from, but instead are panics. These
    panics have been very helpful in shaking out bugs [ . . . ]."

    Poul-Henning also replied to Brian's post, saying, "If you hit any of the
    KASSERTS in geom, your code is very broken and if your testing doesn't
    uncover that (with the help of the KASSERTS) then you have no business
    being a committer."

    http://www.freebsd.org/cgi/mid.cgi?200408261242.i7QCgl7m012027

    Hot-plugging PS/2 keyboards
    ---------------------------
    As mentioned in `Mouse sync recovery improved for Belkin KVM switches`_,
    Justin Gibbs (gibbs) improved the mouse code.

    On a console-related note, Andre Oppermann (andre) asked, "Do have an
    idea how to get a PS2 keyboard recognized if none was connected when the
    machine booted?"

    M. Warner Losh (imp) replied with some text from the sc man page, showing
    that hint.sc.0.flags="0x100" will instruct the driver to periodically scan
    for a keyboard device. He also noted that bit 0 must not be set in the
    atkbd driver flags (hint.atkbd.0.flags).

    Daniel O'Connor noted, "This prevents USB keyboards from working (I think)
    because the system will only talk to it's (possibly not connected) PS/2
    keyboard even when you plug a USB one in.."

    Warner replied, "It doesn't prevent usb keyboards from working, you can
    always use the kbdcontrol to set the usb keyboard as the primary one."

    Brian Fundakowski Feldman (green) also suggested, "See the keyboard
    directive I recently added to rc.conf(5)." The entry in question reads::

        keyboard (str) If set to a non-null string, the virtual console's key-
                    board input is set to this device.

    http://www.freebsd.org/cgi/mid.cgi?200408272125.i7RLPG3K076074

    ===================
    Important bug fixes
    ===================
    Denial-of-service vulnerability in zlib fixed
    ---------------------------------------------
    Jacques Vidrine (nectar) fixed a denial-of-service vulnerability in zlib,
    the compression library. This was submitted by Dmitry V. Levin, and
    originally found by Johan Thelmen as reported in `Debian bug 252253`_.

    .. _`Debian bug 252253`:
    http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=252253

    http://www.freebsd.org/cgi/mid.cgi?200408261937.i7QJb6VC026752

    ===============
    Other bug fixes
    ===============
    John Baldwin (jhb) committed a patch from Georg-W. Koltermann fixing a
    bug that was preventing the IBM Linux JDK from running. This closes `PR
    68079`_.

    .. _`PR 68079`: http://www.freebsd.org/cgi/query-pr.cgi?pr=68079

    http://www.freebsd.org/cgi/mid.cgi?200408242052.i7OKqrcc035220
    _______________________________________________
    freebsd-current@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-current
    To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"


  • Next message: Jon Drews: "Re: [PLEASE TEST] Better support for Synaptics Touchpads"

    Relevant Pages

    • cvs-src summary for June 21 - 28
      ... You can get old summaries, and an HTML version of this one, at ... Paul Saab added support for TCP Selective Acknowledgements, ... Important bug fixes ... Martin Blapp imported version 3.0.1rc14 of the ISC DHCP client ...
      (freebsd-current)
    • cvs-src summary for August 9-16 - special last-minute shopping edition
      ... You can get old summaries, and an HTML version of this one, at ... how they will always work' without a really good reason. ... commit remaining in RELENG_4 as long as adding -c doesn't take too long." ... Roman argued, "This is not a bug, this is feature of protocol. ...
      (freebsd-current)
    • cvs-src summary for November 8-15
      ... It is intended to help the FreeBSD community keep up with the fast-paced ... You can get old summaries, and an HTML version of this one, at ... sf driver gets polling and ALTQ support ... Xin Li committed a fix to pppd, the PPP daemon, to a bug ...
      (freebsd-current)
    • cvs-src summary for December 28 - January 3
      ... You can get old summaries, and an HTML version of this one, at ... Tim Kientzle committed preliminary support to libarchive ... for extracting files from ISO images. ... Important Bug Fixes ...
      (freebsd-current)
    • cvs-src summary for November 29 - December 6
      ... You can get old summaries, and an HTML version of this one, at ... Advanced Configuration and Power Interface support code. ... Colin Percival fixed a bug in the procfs code that allowed ...
      (freebsd-current)