Update, reboot, fsck

Matt Dillon’s tracked down a nasty filesystem corruption bug in the lockf code; everyone should update, rebuild, reboot, and do a fsck to make sure your disk is intact.

CPUTYPE considered harmful

Jeroen Ruigrok tried using ‘CPUTYPE=p4’ in make.conf as an option to gcc. The resulting kernel crashed; and several people pointed out that the CPUTYPE optimization does not work – especially with gcc 2.x. Matt Dillon went on further to explain how little it helps:

“Trying to use cpu-specific optimizations in 2.95.x is roughly equivalent to a blind man driving an 18 wheeler down the highway. In other words: “don’t do it, it doesn’t work”. GCC2 is known to produce bad code not only with CPUTYPE, but also with higher optimization levels like -O2. Blame the GCC folks for this.

GCC3 does a better job but even so I would not use CPUTYPE without being prepared to turn it off when something breaks, and at best I might use -O2 or -Os (under GCC3 only, and even then we don’t really officially support it, since differentiating between compiler code generation bugs and DFly bugs is extremely difficult).

Besides, you won’t notice any improvement in kernel performance.”

No && problems

‘walt’ found and Chris Pressey fixed a bug in the port system that could cause some ports to fail building with a error similar to ‘cd: can't cd to &&‘. Extraneous text was being inserted by the ‘build-depends-list’ and ‘run-depends-list’ targets.

slip tags explanation

Matt Dillon posted more ideas on how the DragonFly releases were to go. Specifically, different versions would be coded by slip tags instead of the branches that go on with FreeBSD:

releaseX_Y: Specific official release, build and regression tested, including security fixes. A sub-sub version (Z) would be embedded in the uname to differentiate between updates to a release, but not be incorporated into the tag name.

release: Current official release.

developer: Developers who want to be cutting edge but still be ‘reasonably’ stable, with occassional glitches.

HEAD: Absolute latest work, might have build and other issues.

Not being branches, slip tags are limited in scope. It might not be possible to incorporate a security fix into a particular release tag, for example, all we would be able to do is tell people to upgrade to a later release. When we are able to stabilize the system interfaces (about a year and a half from now) this won’t be a big deal.”

NFS Stress

Matt Dillon’s added fsstress in src/test/stress/fsstress. This tool has been found useful before.

Commit message quoted here:

“Add the filesystem/NFS stress tester program, adapted for BSD by Jordan H ubbard of Apple, originally written by Silicon Graphics, Inc, and modified by many people, including the SUSE Linux project.”

20040506 ISO posted

Matt Dillon has updated the ‘known stable’ ISO on the download page. He mentioned he plans to create a ‘stable’ tag in cvs (not a branch, but a slip tag) so that people who don’t care for experimentation can track that target.

Odd bug really fixed

Matt Dillon has found further problems with the mmx/xmm/FP code, and committed fixes for them, describer further in the changelog for various file. (The one linked is one of several changed.)

If you built a kernel between now and April 29th, it’d be a good idea to do a full update and buildworld/buildkernel.

Odd bug fixed

Matt Dillon has found the solution to the wierd MMX problem; it’s now safe to try kern.mmxopt=1 again. The problem turned out to be (quoting Matt) “related to the PIPE code, but only when the sysctl’s were set up for legacy algorithms. By default the PIPE code uses SFBUFs which are not effected[sic] by the bug.”

buildworld needed

Because of a commit at 2004/04/29 03:06:41 PDT, your next upgrade will need a buildworld – make quickworld won’t catch it. This was helpfully noted by David Rhodus.

Athlon P4/Xeon users take note

If you have an Athlon or Xeon processor, go into usr/src/test/sysperf, do make, and the resulting /tmp/mem1 program will probably give interesting results, which you can then post to the kernel mailing list. A caveat from Matt Dillon:

“Note however that you have to manually edit which copy tests it does since it bus fault if you try to run the XMM (SSE2) test on a machine without SSE2 :-)”

quick MMX fix

If you updated your kernel today and you are having wierd graphical issues or crashing, put this in /boot/loader.conf:

kern.mmxopt=0

The issue should be fixed very soon.