1 process, 2 threads, how many cpus?

Nicolas Blais nb_root at videotron.ca
Mon Nov 28 02:01:46 GMT 2005


As I was looking around the net for some information on pthreading in FreeBSD, 
I came across something that got my attention:

"The native user threads cannot concurrently run more than one thread on 
separate processors at one time. If you are running a single process with 
multiple CPU-intensive threads in hopes of utilizing multiple processors, you 
must use Linuxthreads to get this performance."
(http://www.unobvious.com/bsd/freebsd-threads.html)

Is this still applicable now (FreeBSD 5.4/6/CURRENT)? 

I'm writing a software that runs 1 process and multiple threads (with pthread) 
that performs calculations and I was wondering if on a SMP system the threads 
will run on an independant cpu.  It would be quite pointless to have all 
threads of the same process sharing a single cpu.

Also, no matter how many threads I create within a process, 'top' only reports 
2 threads.  The following 'top' run reports my software ('aite') as using 2 
threads (when it actually created 4):

CPU states: 99.2% user,  0.0% nice,  0.8% system,  0.0% interrupt,  0.0% idle
Mem: 257M Active, 1422M Inact, 189M Wired, 85M Cache, 112M Buf, 49M Free
Swap: 2000M Total, 2000M Free

  PID USERNAME  THR PRI NICE   SIZE    RES STATE    TIME   WCPU COMMAND
89728 nicblais    2  20    0  4420K  2384K ksesig   0:18 77.44% aite

Any insight appreciated,
Nicolas.

-- 
FreeBSD 7.0-CURRENT #2: Sat Nov 26 10:55:30 EST 2005     
nicblais at clk01a:/usr/obj/usr/src/sys/CLK01A 
PGP? (updated 16 Nov 05) : http://www.clkroot.net/security/nb_root.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-threads/attachments/20051127/6b4d1e11/attachment.bin


More information about the freebsd-threads mailing list