multicore processing question

Adam Vande More amvandemore at
Wed Mar 17 19:16:51 UTC 2010

On Wed, Mar 17, 2010 at 1:02 PM, Zepeda, Herbey <Herbey.Zepeda at>wrote:

> Hi,
> I'm relatively new to FreeBSD and have had a hard time get to the right
> information relating multicore processing. I hope someone can give me some
> pointers.
> I have a two core processor and FreeBSD (latest stable release).
> Question:
> If I have a c program that creates child processes with fork and exec (in a
> non blocking way), will the child processes be executed by FreeBSD in
> parallel using the different cores without me having to do special
> synchronization arrangements to my program?

Well probably...processes are automatically on SMP kernels so a basic
example is if you have 2 cores and 2 processes which are each utilizing 100%
of cpu time, then each process would be assigned to a separate core.
However in practice executions states are much more complicated and both
processes may be assigned to a single core under certain conditions eg one
is in a sleep state.  The short story is this is all handled automatically,
and many applications run just fine without any further tweaking

> Will I need threads instead of processes?

Really depends on your need, but in general properly creating threaded safe
applications is significantly harder(at least to my understanding, I don't
do it).  If you need to use this route, you can check out

It's available on FreeBSD.

Adam Vande More

More information about the freebsd-questions mailing list