Improved multiprocessor usage on amd64

Josh Carroll josh.carroll at gmail.com
Mon Sep 15 02:39:41 UTC 2008


On Sun, Sep 14, 2008 at 9:38 PM, Stephen Montgomery-Smith
<stephen at math.missouri.edu> wrote:
> I have a dual core amd64 on which I run a processor intensive numerical
> program.  I had been frustrated because it seemed to run 3 or 4 times faster
> under Linux.  But with a recent upgrade of FreeBSD-CURRENT, it now goes at
> about the same speed as Linux.

Which release/version were you running prior? Keep in mind, by
default, various debugging knobs/etc are enabled in -current, so
perhaps you went from a kernel with WITNESS/etc enabled to a kernel
without these?

I can run it here (on 7.1-PRERELEASE/amd64) if you'd like to send the
source (to this address).

> The program takes about an hour.  For the first minute, the program runs
> rather slowly, but then it is as if the operating system finds its way, and
> suddenly it speeds up.  "top -H" suggests that for the first minute that one
> thread is going really slowly, and is perhaps being starved or something.

Have you run a ktrace on it? That would be useful to see what's going on.

> My question is - why is this happening, and is this something I should
> expect?  Are there certain switches or sysctls I can set to make it go fast
> from the get go?

Hard to say without seeing the code and knowing precisely what it
does. Perhaps it's doing a lot of I/O up front or some preparations
prior to the calculations?

Regards,
Josh


More information about the freebsd-current mailing list