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]


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

2007-02-08 Thread Bill Moran
In response to Josh Carroll [EMAIL PROTECTED]:

   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.

You know, it'd be cool if there were a knob in the ports framework that
allowed port maintainers to specify this, something like PARALLEL_MAKE=yes
in the Makefile ...

Or is that a dumb idea for some reason I don't understand?

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


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

2007-02-08 Thread Josh Carroll

You know, it'd be cool if there were a knob in the ports framework that
allowed port maintainers to specify this, something like PARALLEL_MAKE=yes
in the Makefile ...

Or is that a dumb idea for some reason I don't understand?


I personally don't think it's a dumb idea at all. The problem is the
sheer volume of ports out there. I don't see why the hooks couldn't be
put in place, though, and let the port maintainers add to it slowly.

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


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

2007-02-08 Thread youshi10

On Thu, 8 Feb 2007, Josh Carroll wrote:


You know, it'd be cool if there were a knob in the ports framework that
allowed port maintainers to specify this, something like PARALLEL_MAKE=yes
in the Makefile ...

Or is that a dumb idea for some reason I don't understand?


I personally don't think it's a dumb idea at all. The problem is the
sheer volume of ports out there. I don't see why the hooks couldn't be
put in place, though, and let the port maintainers add to it slowly.

Josh


I agree with both you guys. Having this option would greatly reduce compile 
times which would be beneficial for everyone.

-Garrett


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


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

2007-02-07 Thread Daniel Tourde

   Hello,
   I have at my disposal an Inspiron 9400 with an Intel Core = Duo.
   FreeBSD 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= ke, make install
   in the ports tree, I only have 50% load. CPU1 is used at= maximum but
   CPU0 is idle...
   I tried make -j2 but it did not work,= the ports did not even built...
   Any idea?
   How can I correct th= at?
   Thanks in advance,
   Daniel

   Läs det senaste om = alla våra kändisar. Var de har varit, vad
   det har gjort och med vem. = På Spray Mingel har vi full uppsikt.
   [1]Till Spray Mingel

References

   1. 3Dhttp://www.spray.se/liv___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to [EMAIL PROTECTED]

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

2007-02-07 Thread Bill Moran
In response to Daniel Tourde [EMAIL PROTECTED]:
 
Hello,
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?

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.

How can I correct th   Thanks in advance,

I'm still not convinced anything is wrong:
*) Does dmesg show the second CPU starting?
*) Does top show a column for CPU binding?  Are different processes bound
   to different CPUs?
*) 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.

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


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

2007-02-07 Thread Kris Kennaway
On Wed, Feb 07, 2007 at 04:44:42PM -0500, Bill Moran wrote:
 In response to Daniel Tourde [EMAIL PROTECTED]:
  
 Hello,
 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?
 
 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.

make -j in the ports tree is not going to compile the source in
parallel, it is going to try and run the port targets in parallel (but
they cannot be parallelized so nothing special will happen).  In
theory it might work on some ports to pass in MAKE_ARGS=-j2, but a
huge number of ports cannot be safely be compiled in parallel
(i.e. the build will fail) because their developers have not added
support for this.

Kris


pgpA6IMa1JtLH.pgp
Description: PGP signature


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

2007-02-07 Thread Bill Moran
In response to Kris Kennaway [EMAIL PROTECTED]:

 On Wed, Feb 07, 2007 at 04:44:42PM -0500, Bill Moran wrote:
  In response to Daniel Tourde [EMAIL PROTECTED]:
   
  Hello,
  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?
  
  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.
 
 make -j in the ports tree is not going to compile the source in
 parallel, it is going to try and run the port targets in parallel (but
 they cannot be parallelized so nothing special will happen).  In
 theory it might work on some ports to pass in MAKE_ARGS=-j2, but a
 huge number of ports cannot be safely be compiled in parallel
 (i.e. the build will fail) because their developers have not added
 support for this.

Good point.  I was assuming that you were doing make -j2 buildworld.

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