cvs-src summary for October 25 - November 1

Mark Johnston mjohnston at skyweb.ca
Tue Nov 2 14:40:40 PST 2004


Sorry for the delay this week.

FreeBSD cvs-src summary for 25/10/04 to 01/11/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 at 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
============
-I safety net option added to rm
--------------------------------
Xin Li (delphij) added a new -I option to rm. rm -I will prompt for
confirmation when removing directories recursively (rm -r) or removing
more than 3 files, but not otherwise.  It is intended to be similar to rm
-i, which confirms every operation, but to be usable for power users who
don't want to be prompted when removing individual files.

This code was originally implemented by Matthew Dillon for DragonFlyBSD,
then enhanced by various DragonFly contributors.

http://www.freebsd.org/cgi/mid.cgi?200410280825.i9S8PVWc057933

OpenSSH 3.9p1 imported
----------------------
Dag-Erling Smorgrav (des) imported version 3.9p1 of OpenSSH, the SSH
server and client suite.  OpenSSH 3.9 adds session multiplexing, allowing
a single ssh connection to carry multiple sessions, and many sftp
improvements.  Importantly, version 3.9 introduces stricter permission
checks for the file ~/.ssh/config; if you have weak permissions on your
config file, ssh will exit when run.

The full `release announcement`_ with change listing is posted on the
`OpenSSH site`_.

.. _`release announcement`: http://www.openssh.com/txt/release-3.9
.. _`OpenSSH site`: http://www.openssh.com/

http://www.freebsd.org/cgi/mid.cgi?200410281603.i9SG3ult085519

Multiple-mouse support improved
-------------------------------
Mike Makonnen (mtm) committed some system script changes to improve the
support for multiple mice.  You can now specify the configuration for
multiple mice in /etc/rc.conf by including the mouse device name in the
option name.  For instance, moused_ums0_enable, moused_ums0_flags, and
moused_ums0_port apply to the USB mouse on ums0.

http://www.freebsd.org/cgi/mid.cgi?200411011805.iA1I5fCZ040914

Many filesystems moved to using GEOM directly
---------------------------------------------
Poul-Henning Kamp (phk) converted many filesystems from the old DEVFS
backing to GEOM backing.  This means that the filesystem code deals with
the GEOM disk layer to communicate with hardware, eliminating overhead.
The UFS, MS-DOS, UDF, cd9660, ext2fs, HPFS, and NTFS drivers have all been
converted.

http://www.freebsd.org/cgi/mid.cgi?200410291015.i9TAFu8j057802
(others omitted)

ALTQ support for the bge driver
-------------------------------
Dag-Erling Smorgrav (des) committed support to the bge driver, for
Broadcom Gigabit Ethernet chips, for the ALTQ packet shaping subsystem.

http://www.freebsd.org/cgi/mid.cgi?200410302121.i9ULLAv1084524

===============
Notable changes
===============
ULE scheduler marked broken
---------------------------
Scott Long (scottl) marked the SCHED_ULE scheduler as broken in 5.3 and
the RELENG_5 stable tree.  If you have been testing 5.3 with ULE and
having problems, please switch back to the old 4BSD scheduler and see
whether the problem continues.

http://www.freebsd.org/cgi/mid.cgi?200410260218.i9Q2I8Ip058346

Debug sysctls are now optional
------------------------------
Robert Watson (rwatson) changed the debug sysctl tree (all sysctls
starting with "debug") so that it is available only when the kernel option
SYSCTL_DEBUG is set.

http://www.freebsd.org/cgi/mid.cgi?200410271926.i9RJQ15p010564

=================
Discussion topics
=================
Complying with threading standards
----------------------------------
Brian Feldman (green) changed the threading code so that a locking
function would return a different error code, "as all software packages
expect and seems to be most correct according to the slightly-ambiguous
standards."  He also posted a followup, saying, "Software such as mozilla
projects (using NSPR) and Java have been broken in various ways by this
[bug].  We need to try to be more compatible with the most popular
interpretation of the standards[.]"

Alfred Perlstein (alfred) replied, "Good catch... it could have just been
an oversight though. :) We need a 'configure' like regression suite for
pthreads."

Brian noted, "Actually, I think POSIX has a whole bunch of regression
tests!  I wonder if anyone could ever convince them to make them free for
BSD operating systems..."

Scott Long (scottl) replied to Brian's earlier comment about broken
software, saying, "Please define 'broken'?  There are many test suites
available for pthreads.  How does this affect those test suites, and have
you _directly_ talked with those who run the tests suites?"

Brian answered, "It causes them to _FAIL_. [ . . . ] We break the
assertions that software developers use when writing to the pthreads API [
. . . ]. The POSIX-provided-for-free [test suite] does not have coverage
of error return values from what I can see, and the Linux pthreads ones
also don't test this because as far as they are concerned, it's a code
invariant[. . .] The FreeBSD one has similar issues (lack of coverage
ones) but additionally is exceedingly moldy[.]"

Daniel Eischen (deischen) replied, "If you're talking about the FreeBSD
mutex test (libpthread/test/mutex_d.c), that should work."

Daniel also responded to Brian's initial commit, saying, "The current
behavior was deemed correct especially since default mutexes are error
check mutexes.  The rationale is that it provides a way for a thread to
tell if it owns the mutex if EDEADLK is returned."

Brian asked, "What is your rationale for choosing a very, very loose
interpretation that deliberately acts entirely differently from
essentially every other implementation[?] [ . . . ] After further review,
I can't possibly see how the behavior you chose to use is allowed by a
reasonable interpretation of the standard."

Daniel answered, "We use error check mutexes by default, which is allowed
by the spec, because they come at no cost and it is good to detech buggy
use of mutexes. [ . . . ]." He answered the "reasonable interpretation"
question, "Because pthread_mutex_trylock() is defined in terms of
pthread_mutex_lock() and pthread_mutex_lock() returns EDEADLK when a
thread tries to recursively lock an error checking mutex."

Dag-Erling Smorgrav (des) replied, "They come at considerable cost.
They make it impossible to use the Boehm garbage collector in threaded
programs, for instance [ . . . ]. There is probably a significant
performance penalty as well."

Daniel answered, "No, they all call malloc() since all mutexes are
currently pointers to thingies."

Daniel also replied to his earlier post about the current behavior being
deemed correct, saying, "I have response from Dave Butenhof over at the
Austin Group mailing list, and EBUSY should be returned even for error
check mutexes.  He acknolwedged the spec was not clear and thought they
had cleaned it up in that regard.  So this [Brian's commit] is the correct
fix :-)"

http://www.freebsd.org/cgi/mid.cgi?200410310503.i9V53ofj011896

===============
Other bug fixes
===============
Bruce M. Simpson (bms) fixed a system panic that could be caused by using
the Zebra routing daemon with "tun" tunnel interfaces.  This closes `PR
42030`_.  The fix was submitted by Iasen Kostov.

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

http://www.freebsd.org/cgi/mid.cgi?200410260331.i9Q3Vxbv060994

Bruce M. Simpson (bms) committed a workaround to a panic in the vr driver
for Via Rhine Ethernet chips.  This closes `PR 62889`_.

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

http://www.freebsd.org/cgi/mid.cgi?200410261949.i9QJnkKQ022299

Robert Watson (rwatson) fixed a bug in the TCP SACK (selective
acknowledgement) code that could result in the TCP stack failing under
high load.

http://www.freebsd.org/cgi/mid.cgi?200410301202.i9UC2oTc047854


More information about the freebsd-current mailing list