Here's the final summary - it did turn out to be a long one. FreeBSD cvs-src summary for 28/06/04 to 05/07/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). 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:: ====== Errata ====== Brooks Davis (brooks) kindly pointed out an error in `last week's summary`_. I reported that the pseudo-interface cloning changes resulted in stf always being created instead of stf0 or other names; here is the actual table of results as supplied by Brooks. .. _`last week's summary`: http://excel.xl0.org/FreeBSD/28-06-04.html#pseudo-interface-cloning-overhauled Command DEV Version ifconfig stf stf0 old ifconfig stf0 stf0 old ifconfig 6to4 <fail> old ifconfig stf stf new ifconfig stf0 stf0 new ifconfig 6to4 6to4 new Those of you reading this on the current_at_ list will have already seen the correction. Sorry for the confusion. ============ New features ============ Native preemption of kernel threads added ----------------------------------------- John Baldwin (jhb) added support for native preemption of kernel threads in the scheduler, replacing various hacks in other parts of the kernel that did this preemption manually. As committed, the patch doesn't change anything, since it is disabled by default, but it will be enabled by developers for the various architectures as it is tested on them. http://www.freebsd.org/cgi/mid.cgi?200407022021.i62KLi4Y041825 Significant improvements to pkg_install --------------------------------------- Oliver Eikemeier (eik) introduced some major enhancements to pkg_install and the other package management tools, rewriting the version number parsing code and adding several new flags. The version number code now supports version strings like 'alpha', 'beta', and 'pl', and uses the full version numbers to compare earlier and later versions. This makes it possible for a script to detect software with security problems the way NetBSD's audit-packages does; see `PR 56961`_ for more information. .. _`PR 56961`: http://www.freebsd.org/cgi/query-pr.cgi?pr=56961 Oliver also merged several other package-related PRs, including 66032_, 56989_, 57016_, 57029_, and 26468_. These improve handling of corrupt package databases and add a couple of flags and some bugfixes. .. _66032: http://www.freebsd.org/cgi/query-pr.cgi?pr=66032 .. _56989: http://www.freebsd.org/cgi/query-pr.cgi?pr=56989 .. _57016: http://www.freebsd.org/cgi/query-pr.cgi?pr=57016 .. _57029: http://www.freebsd.org/cgi/query-pr.cgi?pr=57029 .. _26468: http://www.freebsd.org/cgi/query-pr.cgi?pr=26468 http://www.freebsd.org/cgi/mid.cgi?200406291854.i5TIslGm003131 http://www.freebsd.org/cgi/mid.cgi?200406291856.i5TIuxZQ003361 http://www.freebsd.org/cgi/mid.cgi?200406291859.i5TIxJ20003694 top gains support for I/O display --------------------------------- Alfred Perlstein (alfred) committed support to top to display the amount of disk I/O that processes are doing. You can use this mode by pressing "m" or by giving the command line option "-m io" to top. http://www.freebsd.org/cgi/mid.cgi?200407010912.i619Ccw4072380 ALTQ driver modifications introduced ------------------------------------ Max Laier (mlaier) imported the first batch of driver modifications to support ALTQ, the new network packet queueing and quality-of-service framework that works with the recently-imported OpenBSD PF. Updated drivers are bfe, em, fxp, lnc, tun, de, rl, sis, and xl. More patches are pending; you can see the rest at http://people.freebsd.org/~mlaier/. http://www.freebsd.org/cgi/mid.cgi?200407021216.i62CG2uK024832 ACPI quirk support added ------------------------ Nate Lawson (njl) committed support for a list of ACPI quirks. A quirk is a note to the system that a certain piece or type of hardware needs special handling; for instance, the ACPI quirks can disable ACPI on hardware that is known not to work properly with it. http://www.freebsd.org/cgi/mid.cgi?200406300449.i5U4ns3u021379 (This link is only one of many commits, spread out over last week and this.) Support for FAT32 filesystems bigger than 128 GB added ------------------------------------------------------ Tim J. Robbins (tjr) added basic support to the FAT32 support code that allows filesystems over 128 GB to be mounted. This code does not support exporting these large filesystems over NFS; Tim also gave the caveat that filesystems with millions of files may exhaust the kernel memory and cause a panic. If you plan to use this new option, make sure to read the linked commit message below for more details. http://www.freebsd.org/cgi/mid.cgi?200407031322.i62DMdqC084182 Multiple instance (load sharing) support added to natd ------------------------------------------------------ Poul-Henning Kamp (phk) added support to natd for multiple instances. This allows more than one natd instance to be set up in natd.conf, bound to different network interfaces, so connections can be sent out of two different interfaces to implement load sharing. Poul-Henning has posted some notes_ on how to get this working. .. _notes: http://phk.freebsd.dk/misc/natd/notes.natd http://www.freebsd.org/cgi/mid.cgi?200407041253.i64Crsci043604 Working LQM implementation added to PPP --------------------------------------- Brian Somers (brian) added working LQM (Link Quality Monitoring, `RFC 1333`_) support to PPP. LQM helps PPP keep track of the quality of a running connection. Brian is `looking for testers`_ for the LQM implementation, since he is getting weird results with his ISP. This commit is a reimplementation of `PR 11293`_. .. _`RFC 1333`: http://www.rfc-editor.org/rfc/rfc1333.txt .. _`looking for testers`: http://www.freebsd.org/cgi/mid.cgi?20040630133328.071bc07b .. _`PR 11293`: http://www.freebsd.org/cgi/query-pr.cgi?pr=11293 http://www.freebsd.org/cgi/mid.cgi?200406301224.i5UCOuSc035406 GEOM volume label support added ------------------------------- Pawel Jakub Dawidek (pjd) added support to GEOM, the disk access framework, for a class called GEOM_LABEL that detects volume labels on file systems. The class currently supports UFS, FAT and FAT32, and the ISO 9660 CD-ROM file system, as well as a GEOM-native label, configured with the glabel command. http://www.freebsd.org/cgi/mid.cgi?200407021940.i62JeajI039598 zlib updated to 1.2.1 --------------------- Tim J. Robbins (tjr) imported zlib, the GNU compression library, version 1.2.1. 1.2.1 replaces the old version 1.1.4, adding many speed and functionality enhancements. See `the zlib website`_ for a full list of changes. .. _`the zlib website`: http://www.gzip.org/zlib/ http://www.freebsd.org/cgi/mid.cgi?200406302343.i5UNhdaW056583 GNU utility updates ------------------- Tim J. Robbins (tjr) updated several GNU utilities to their latest versions. New versions include GNU sort 5.2.1, the GNU regex library 2.5.1, and GNU grep 2.5.1. The new utilities are faster and add a few features, but the main reason for the change is to move closer to multi-byte character support. http://www.freebsd.org/cgi/mid.cgi?200407020918.i629IWuY019114 ACPI-CA updated to version 20040527 ----------------------------------- Mark Santcroos (marks) updated ACPI-CA, Intel's ACPI codebase, to version 20040527. ACPI-CA updates generally improve support for newer motherboards and laptops, especially in the area of power control. http://www.freebsd.org/cgi/mid.cgi?200407020815.i628F5sp016504 Cronyx Tau-PCI adapter support merged to 4.x -------------------------------------------- Roman Kurakin (rik) MFC'ed support for the Cronyx Tau-PCI E1/E3 adapter. http://www.freebsd.org/cgi/mid.cgi?200406301658.i5UGwHJX043764 IPFilter 3.4.35 merged to 4.x ----------------------------- Darren Reed (darrenr) merged the update to IPFilter 3.4.35, mentioned `last week`_, to -STABLE. .. _`last week`: http://excel.xl0.org/FreeBSD/28-06-04.html#ipfilter-updated-to-3-4-35 CVS upgrade to 1.11.17 merged to 4.x ------------------------------------ Dag-Erling Smorgrav (des) merged the update to CVS 1.11.17, mentioned `a few weeks ago`_, to -STABLE. 1.11.17 is a security and bugfix release, although the security fixes were previously applied. .. _`a few weeks ago`: http://excel.xl0.org/FreeBSD/14-06-04.html#cvs-updated-to-1-11-17 http://www.freebsd.org/cgi/mid.cgi?200406291610.i5TGArU8098015 =============== Notable changes =============== devd turned on by default ------------------------- M. Warner Losh (imp) switched devd, a daemon that monitors device events, on by default. The FreeBSD devd isn't like Linux devd, which creates and removes /dev entries; FreeBSD's executes programs when a device is connected or removed, like starting dhclient when a network card is plugged in. http://www.freebsd.org/cgi/mid.cgi?200406301558.i5UFwk6K041695 Netgraph converted to use mbuf tags ----------------------------------- Julian Elischer (julian) converted Netgraph to use mbuf tags instead of the metadata facility it was using before. This means that all Netgraph modules will need to be recompiled. http://www.freebsd.org/cgi/mid.cgi?200406302251.i5UMpTEa55084 ================= Discussion topics ================= min() and max() and MIN() and MAX() ----------------------------------- Andrew Gallatin (gallatin) commited a change to the vm code, fixing the use of min() that was losing precision. Andrew followed up to his commit, asking "Why are min() and max() inlines which operate on ints? This seems like a real landmine for 64-bit platforms.." Brian Fundakowski Feldman (green) further wondered "why is GCC not generating the correct warnings?" He suggested "These should really be MIN()", asking Andrew to change them. Andrew replied, regarding the GCC warnings, "I wish I knew." He also changed the code to MIN(). Brian followed up, saying "GCC not actually type-checking here is certainly a bug from my viewpoint". Andrew suggested "-Wconversion would find this", but "its a little bit too restrictive, as it complains about any mismatch and the compile doesn't get even one C file done before erroring out." Bruce Evans (bde) further pointed out that "-Wconversion doesn't do what you want. It was intended for discovering portability problems in K&R code and/or old code that doesn't always have prototypes in scope." Bruce also replied to Brian's earlier post about MIN(), saying "MIN() and MAX() should not be used in the kernel", especially since they have been removed in RELENG_4. He clarified that -Wconversion "complains about harmless conversions like promoting 32 bit ints to 64-bit ints." Andrew asked, "Then what's the correct fix? ulmin()?" Bruce answered, "Fixing min() to handle all unsigned types is probably best", also offering some workarounds. David Schultz (das) replied with his concern that fixing min() means one of: " a) slightly pessimizing 32-bit ports with a function on uintmax_t's, b) using a macro and introducing double-expansion problems, or c) using GCC extensions " Brian disagreed with fixing min(), saying "No, the correct fix is using MIN() or MAX() that are well-documented to provide the exact side-effects C programmers know to expect." Bruce argued "MIN() and MAX() are not documented. The don't even exist in the kernel in FreeBSD-[2-4]." David also replied, saying "the only places where people should be using min() and max() over MIN() and MAX() is where double expansion is problematic". He also reflected, "It really says something about the limitations of your language when you're allowed to have type independence or applicative order argument evaluation, but not both." http://www.freebsd.org/cgi/mid.cgi?200406281915.i5SJFeaV060231 Compiling the system and ports with -O2 --------------------------------------- Dag-Erling Smorgrav (des) made a change to make.conf, correcting a comment that said that -O2 exposed bugs in ppp to mention libalias instead. David Schultz (das) replied, saying "I've been compiling most things with -O2 for a while (to find -O2 bugs, not for speed) and haven't noticed many problems", except that "-O2 breaks floating-point exceptions in libm". He suggested that "maybe -O2 should be automatically turned off while compiling libm (and perhaps libalias as well). That would make it more easily justifiable to make -O2 the default at some future point." Kris Kennaway (kris) responded "I don't think we can ever make it the default since there's likely to be a lot of software in ports that would be broken too." David answered "99% of the ports that "may break" build with -O2 on Linux (as -O2 is their default). What is different about us vs. Linux for these ports?" Kris replied "We care about not introducing instability into our packages?", asking "If we have >=2 -O2 bugs in our source tree alone, why should you think that none of the 11000 ports are affected?" David responded "Because most everything in the ports collection was developed on Linux using -O2. The bugs are in our code, not gcc's -O2." Mark Linimon (linimon) and Kris both responded "most != all". Scott Long (scottl) also answered, saying "While 90% of the ports might be fine under linux with -O2, it just adds too much risk this late in the game. Let's revisit it shortly after 5.3." http://www.freebsd.org/cgi/mid.cgi?200407030941.i639fwt8078389 =================== Important bug fixes =================== Input validation error in Linux compatibility code -------------------------------------------------- Colin Percival (cperciva) committed a fix to the Linux compatibility code to -STABLE, 4.8, 4.9, 4.10, and 5.2. This bug affected all 4.x and 5.x versions of FreeBSD, and could result in a panic or a user gaining root access. For more information, see `FreeBSD-SA-04:13.linux`_. .. _`FreeBSD-SA-04:13.linux`: ftp://ftp.freebsd.org/pub/FreeBSD/CERT/advisories/FreeBSD-SA-04:13.linux.asc Major man page cleanup ---------------------- Ruslan Ermilov (ru) made many commits this week, cleaning up the formatting and markup of the man pages. This should result in more consistent results from tools like whatis. (many) =============== Other bug fixes =============== Christian S. J. Peron (csjp) fixed a bug in tftpd that caused it to change its user ID as requested, but not its group ID. http://www.freebsd.org/cgi/mid.cgi?200406301858.i5UIwJkB047720 Don Lewis (truckman) worked around a problem that was causing "giving up on N buffers" messages to be displayed at shutdown by heavy disk activity with softupdates. The message can also be caused by having Linux ext2 filesystems mounted at shutdown; this fix does not address that problem. http://www.freebsd.org/cgi/mid.cgi?200407012359.i61NxJLL000360Received on Tue Jul 06 2004 - 13:55:24 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:00 UTC