OpenBSD Journal

OpenBSD PowerPC -current speedup

Contributed by Dengue on from the it's-lots-faster-send-ram-dept dept.

Dale Rahn writes:
OpenBSD/macppc has recently received a significant speed improvement. The pmap (MMU) code has been replaced and this newer, more efficient, code allows for much faster process startup and exit.

These results are from lmbench 1.0 (available in ports)
            Processor, Processes - times in microseconds
Host                 OS  Mhz    Null    Null  Simple /bin/sh Mmap 2-proc 8-proc
                             Syscall Process Process Process  lat  ctxsw  ctxsw
--------- ------------- ---- ------- ------- ------- ------- ---- ------ ------
speedy      OpenBSD 3.0  736       1      7K     15K     35K 2827      1      1
speedy.3    OpenBSD 3.0  736       1      1K      5K      9K  431      1      1
speedy is a PowerMac G4 733MHz, only the kernel was replaced between the tests.

Notice that mmap latency is now 15% of what it used to be, a 85% improvement. Process startup sees this same advantage on small tests, however on processes which do more, this speedup is not as noticeable. Since many of the activities performed on unix machines typically involve startup of one (or several) processes, the machine has the feeling of being faster.

Of course the benchmark which most hackers are interested in, this improvement changes a make build which used to take 2:50 to now take 1:55, a 33% speedup.

This change does not change how fast a CPU bound process runs on the machine, it primarily only affects mmap and fork/exit speeds.

One of the issues with this code is it is exposing problems with large memory machines. Recently (before this change) a report that OpenBSD would not boot on a 1.25GB machine, and with this change there are problems with more than 1GB of memory. This will likely only change if 512MB memory modules find their way to the macppc developers.

Dale Rahn

(Comments are closed)

  1. By Joshua () on

    Ok, this is cool. However, unless I were to use
    it strictly as a server, I imagine I would use OSX
    instead. And for a server, wouldn't cheaper off-
    the-shelf ix86 stuff be a wiser choice?...

    Anyhow, I was wondering if it is possible to run
    some sort of UNIX, preferrably a *BSD, on an old
    Apple Performa 6400 (603e). It would be cool as a
    UNIX box / firewall - otherwise, it's ::sigh::
    only good for OS9.

  2. By Anonymous Coward () on

    Are we ever going to see OpenBSD on older mac powerpc's?

    Modern ones are out of reach for me and many. There are other choices (NetBSD, Yellow Doze, blah), some even very good, but NOT good enough if you're used to OpenBSD.

  3. By Peter Hessler () on

    I'm running the snapshot, upgraded to -current, and I'm having problems with X. The xf86config file sorta works. Instead of covering the entire screen (or 95%), it is about 1/4th the size of a real screen, and it is centered. Does anyone have a xf86config that works on the G4 Ti Powerbook 550MHz? I tried the one in the /etc/X11/README, but it still doesn't work. Email me, or post a link to it please.


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]