Ever since I updated my server to NetBSD 4.0_BETA2 it has been working without any problems … until last Friday. After 80 days uptime it crashed while I was logged in remotely during my lunch break. I was lucky and the machine came up without any manual intervention. This is one of the things I really like about NetBSD: if the kernel panics it writes a crash dump, the machine restarts and NetBSD boots up fully automatically. That’s much more useful behaviour than printing out Aiiie, killing interrupt handler and waiting for someone to press the reset switch. Unfortunately I managed to crash the machine again until I figured out what was going wrong. I unmounted the /proc filesystem to stop Coreutils from causing more trouble and waited for someone to look into my problem report.
It didn’t take long until Antti Kantee, one of NetBSD’s filesystem experts, came up with an analysis. Two days later he provided a patch which fixed the problem on my system. The fix needs more testing (mostly with weird Linux applications) but should make it into the NetBSD 4.0 release.
So the bad news is that my NetBSD 4.0 installation lost the zero crashes since deployment label. The good news is that a serious bug was found and fixed.
Last week I got a new desktop at work. It’s a real nice workstation class PC with a lot of CPU power and memory. It’s purpose is to simulate a small network of computers via VMware Server for software testing.
I was of course curious if I can run NetBSD as a guest operating system. I decided to try NetBSD-amd64 because both the hardware and software support 64Bit mode. I downloaded an ISO image from the daily builds, created a virtual machine with two CPUs and started it. NetBSD booted without any problems and detected all the emulated hardware. VMware Server still emulates an old Intel i440BX chipset from the times of the Pentium II and III. But the virtual AMD PCnet network chip has been replaced by a virtual Intel Gigabit i82545 network chip. I don’t know why they made that change but I guess it helps network performance of virtual machines using more than 4GB of memory. Installing NetBSD to the (virtual) harddisk worked without any problems. The new system started up fine and I had networking up and running in no time.
The last experiment was to try to boot a NetBSD kernel with multi processor support. The kernel took a long time to boot up but finally reached multi user mode after a few minutes. I upgraded the NetBSD sources and started a build using four parallel jobs. The build finished without any difficulties and top on the host machine confirmed that the virtual machine was indeed keeping two CPU cores busy.
While exploring new features in NetBSD 4.0_BETA2 I found out that the Enhanced SpeedStep support now works with my server’s Pentium M 760 CPU. The kernel is able to clock the CPU from 2GHz down to 800MHz.
After a few succesful manual experiments I installed the estd package. It provides the Enhanced SpeedStep & PowerNow daemon which monitors the system load and adjusts the CPU frequency accordingly. Because I was curious about the effect I wrote a little shell script which recorded the current CPU frequency every minute. The collected data revealed that the CPU was running at only 800MHz for more than 99% of the time in the last 24 hours.
I’m not sure how much power Enhanced SpeedStep is going to save. But as every little helps I’m enjoying the new slowness of my server.