Re: Re: Intel Core Duo. SMP kernel but still only 50% load while using make on ports...

2007-02-08 Thread Daniel Tourde
Hello Bill, 

Thanks for your answer

 I have at my disposal an Inspiron 9400 with an Intel CoreFreeBSD
 6.2
  is installed and rebuilt to fit the processor. The kerne   l is in SMP
 mode.
 I noticed something strange: When I compile using ma   in the ports
  tree, I only have 50% load. CPU1 is used at   CPU0 is idle...
 
 How do you know this?

With 'top'

 
 I tried make -j2 but it did not work,   Any idea?
 
 -j2 does not guarantee that you'll use both CPUs.  It's entirely possible
 that the IO is slow enough that both of the processes are waiting on disk
 and only able to push the overall system usage to 50%.  Try make -j99.
 
 Also, there are places in the build process where it's only possible to
 run one process at a time, so you can't just take a single snapshot of
 it, you have to watch it over time.

I think it's more that the port tree does not really like parallel processes...


 I'm still not convinced anything is wrong:
 *) Does dmesg show the second CPU starting?

Yes

 *) Does top show a column for CPU binding?  Are different processes bound
to different CPUs?

Yes

 *) Are these hyperthreaded CPUs?  If so, is hyperthreading enabled?  HT is
disabled by default on FreeBSD, and overall usage will never go above
50% if HT is off.

No, it's a Dual Core

Daniel

Förena nytta med nöje. Koppla av och ha kul samtidigt som du har chansen att 
vinna pengar på din skicklighet. På Spray spel kan du tävla mot andra och den 
som är bäst kan vinna mycket pengar. Till spelen: 
http://www.spray.se/underhallning/spel/___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]

Re: Re: Intel Core Duo. SMP kernel but still only 50% load while using make on ports...

2007-02-08 Thread Josh Carroll

 I noticed something strange: When I compile using ma   in the ports
  tree, I only have 50% load. CPU1 is used at   CPU0 is idle...


As was already pointed out, ports do not compile with make -j X by
default. You can do so for ports that will build cleanly (not all of
them will), by adding something similar to the following to your
make.conf:

.if ${.CURDIR:M*/ImageMagick*}
MAKE_ARGS+=-j4
.endif

A while back I found which ports I had installed that would play nice
with make -j, so I updated make.conf with a bunch of similar entries
to the above. Works fairly well, and there are actually quite a few
ports that will compile with make -j. If you're interested, let me
know and I'll throw my make.conf up somewhere.

Josh
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]