<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Gentoo: Portage&#8217;s new &#8211;jobs feature</title>
	<atom:link href="http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/</link>
	<description>Random thoughts and rants...mostly Linux</description>
	<lastBuildDate>Mon, 06 Sep 2010 12:28:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: Aniruddha</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-33</link>
		<dc:creator>Aniruddha</dc:creator>
		<pubDate>Thu, 31 Jul 2008 19:48:25 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-33</guid>
		<description>@jolexa
Lol, I didn&#039;t even realize this was a bug. Thanks for filing the bugreport!</description>
		<content:encoded><![CDATA[<p>@jolexa<br />
Lol, I didn&#8217;t even realize this was a bug. Thanks for filing the bugreport!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jolexa</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-34</link>
		<dc:creator>jolexa</dc:creator>
		<pubDate>Tue, 29 Jul 2008 17:01:39 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-34</guid>
		<description>@Aniruddha, nice find. I spoke with zmedico and filed a bug at his request. https://bugs.gentoo.org/show_bug.cgi?id=233296</description>
		<content:encoded><![CDATA[<p>@Aniruddha, nice find. I spoke with zmedico and filed a bug at his request. <a href="https://bugs.gentoo.org/show_bug.cgi?id=233296" rel="nofollow">https://bugs.gentoo.org/show_bug.cgi?id=233296</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aniruddha</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-35</link>
		<dc:creator>Aniruddha</dc:creator>
		<pubDate>Mon, 28 Jul 2008 07:43:45 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-35</guid>
		<description>Thanks for the answer. i noticed that running multiple jobs is problematic when you need to accept a license. My emerge world couldn&#039;t continue because I needed to accept the ut2004 license and I couldn&#039;t see the  &quot;accept license screen&quot;</description>
		<content:encoded><![CDATA[<p>Thanks for the answer. i noticed that running multiple jobs is problematic when you need to accept a license. My emerge world couldn&#8217;t continue because I needed to accept the ut2004 license and I couldn&#8217;t see the  &#8220;accept license screen&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jolexa</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-32</link>
		<dc:creator>jolexa</dc:creator>
		<pubDate>Sat, 26 Jul 2008 11:41:35 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-32</guid>
		<description>@Aniruddha: For a dual core proc, I would probably recommend --jobs=2 MAKEOPTS=-j3. Depends on alot of things though, RAM, IO wait, etc. Please try out a few things but --jobs=8 is high for only 2 cores. (My host has 8 cores)

Thrashing the CPU, is really using your CPU for more than you have available. ie. Trying to do way more than it can handle and making it switch processes alot. Here is a definition of disk thrashing, apply it to CPUs: http://www.cryer.co.uk/glossary/d/disk_thrashing.htm</description>
		<content:encoded><![CDATA[<p>@Aniruddha: For a dual core proc, I would probably recommend &#8211;jobs=2 MAKEOPTS=-j3. Depends on alot of things though, RAM, IO wait, etc. Please try out a few things but &#8211;jobs=8 is high for only 2 cores. (My host has 8 cores)</p>
<p>Thrashing the CPU, is really using your CPU for more than you have available. ie. Trying to do way more than it can handle and making it switch processes alot. Here is a definition of disk thrashing, apply it to CPUs: <a href="http://www.cryer.co.uk/glossary/d/disk_thrashing.htm" rel="nofollow">http://www.cryer.co.uk/glossary/d/disk_thrashing.htm</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: What&#8217;s Going On? &#187; Gentoo - Gentoo Lives!</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-31</link>
		<dc:creator>What&#8217;s Going On? &#187; Gentoo - Gentoo Lives!</dc:creator>
		<pubDate>Sat, 26 Jul 2008 07:20:18 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-31</guid>
		<description>[...] blog post with more [...]</description>
		<content:encoded><![CDATA[<p>[...] blog post with more [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Aniruddha</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-30</link>
		<dc:creator>Aniruddha</dc:creator>
		<pubDate>Sat, 26 Jul 2008 05:23:48 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-30</guid>
		<description>So --jobs=8, MAKEOPTS=3, load-average=10 is the recommended setting for a dualcore processor? What do you mean with &quot;trashing your cpu&quot;?</description>
		<content:encoded><![CDATA[<p>So &#8211;jobs=8, MAKEOPTS=3, load-average=10 is the recommended setting for a dualcore processor? What do you mean with &#8220;trashing your cpu&#8221;?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jolexa</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-29</link>
		<dc:creator>jolexa</dc:creator>
		<pubDate>Fri, 25 Jul 2008 15:01:18 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-29</guid>
		<description>It was suggested that I was thrashing my CPU with MAKEOPTS set so high. I agree with that on the last trial where MAKEOPTS was set to 40, but I didn&#039;t agree with it on any of the other trials based solely on load average. It was also suggested that I may be trashing my IO. The suggested test was to do &lt;code&gt;--jobs=8&lt;/code&gt; and &lt;code&gt;MAKEOPTS=&quot;-j5&quot;&lt;/code&gt; to keep both IO &amp; CPU busy but not thrashing. I obliged:
&lt;blockquote&gt;&lt;code&gt;With --jobs=8, MAKEOPTS=5, load-average=10:
real    58m41.048s
user    41m43.281s
sys     34m6.764s&lt;/code&gt;
&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>It was suggested that I was thrashing my CPU with MAKEOPTS set so high. I agree with that on the last trial where MAKEOPTS was set to 40, but I didn&#8217;t agree with it on any of the other trials based solely on load average. It was also suggested that I may be trashing my IO. The suggested test was to do <code>--jobs=8</code> and <code>MAKEOPTS="-j5"</code> to keep both IO &amp; CPU busy but not thrashing. I obliged:</p>
<blockquote><p><code>With --jobs=8, MAKEOPTS=5, load-average=10:<br />
real    58m41.048s<br />
user    41m43.281s<br />
sys     34m6.764s</code>
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: jolexa</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-27</link>
		<dc:creator>jolexa</dc:creator>
		<pubDate>Fri, 25 Jul 2008 13:03:39 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-27</guid>
		<description>@cynyr: Assuming all deps are serial, yes --jobs will do nothing. Also, assuming that all of the jobs compile at the exact same time (unlikely, IME) then you will get a bottleneck at the CPU again.

@Duncan: 4 gigs of ram but no tmpfs. I do understand that there would be an improvement here but I do not have the time to set that up. Plus, this is actually on RHEL4 which is annoying enough to deal with ;). Looks like it is time to try tmpfs on my home box again.</description>
		<content:encoded><![CDATA[<p>@cynyr: Assuming all deps are serial, yes &#8211;jobs will do nothing. Also, assuming that all of the jobs compile at the exact same time (unlikely, IME) then you will get a bottleneck at the CPU again.</p>
<p>@Duncan: 4 gigs of ram but no tmpfs. I do understand that there would be an improvement here but I do not have the time to set that up. Plus, this is actually on RHEL4 which is annoying enough to deal with <img src='http://blog.jolexa.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . Looks like it is time to try tmpfs on my home box again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duncan</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-26</link>
		<dc:creator>Duncan</dc:creator>
		<pubDate>Fri, 25 Jul 2008 11:02:03 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-26</guid>
		<description>You don&#039;t mention... how much memory do you have and where do you have PORTAGE_TMPDIR pointing?  Is it per chance at a tmpfs or similar?

I&#039;ve found that makes a big difference here (not nearly your &quot;toy&quot;, but  dual Opteron 290, so dual dual-core 2.8 GHz, 8 gig RAM, and a 4-way RAID (kernel/mdp RAID-6 for system and user data, mdp RAID-0 for PORTDIR and ccache, and 4-way striped swap).

I&#039;ve been doing manual parallel compiles for some time now, and really, with per-user kernel scheduling and PORTAGE_NICENESS=19 (to get the batch priority timeslice length bonus in addition to the better interactivity), I&#039;ve found load average is pretty much irrelevant to system responsiveness.  I can have a load average of hundreds (kernel and IIRC glibc builds are nice for their many parallelizable jobs) and still have a nicely usable system, as long as I&#039;m running my interactive stuff mostly as a different user, and don&#039;t bog down the kernel in I/O-wait.

Pointing PORTAGE_TMPDIR at tmpfs definitely helps with I/O, but then of course one has to track memory usage.  With the 4-way-striped swap, I&#039;ve found I can go a gig into swap before things start noticeably slowing down there, but I use job limits and load-average control way more as an indirect method of limiting memory and tmpfs usage than to really limit load average, which as I said, is pretty much irrelevant in and of itself, provided I&#039;m interacting as a different user with its own kernel enforced time-share if user has need of it.

I&#039;m running the 2.2 rcs but haven&#039;t yet updated this week, so am still on rc1.  Today&#039;s update day, tho, so I&#039;ll soon be playing with the new options too! =8^)</description>
		<content:encoded><![CDATA[<p>You don&#8217;t mention&#8230; how much memory do you have and where do you have PORTAGE_TMPDIR pointing?  Is it per chance at a tmpfs or similar?</p>
<p>I&#8217;ve found that makes a big difference here (not nearly your &#8220;toy&#8221;, but  dual Opteron 290, so dual dual-core 2.8 GHz, 8 gig RAM, and a 4-way RAID (kernel/mdp RAID-6 for system and user data, mdp RAID-0 for PORTDIR and ccache, and 4-way striped swap).</p>
<p>I&#8217;ve been doing manual parallel compiles for some time now, and really, with per-user kernel scheduling and PORTAGE_NICENESS=19 (to get the batch priority timeslice length bonus in addition to the better interactivity), I&#8217;ve found load average is pretty much irrelevant to system responsiveness.  I can have a load average of hundreds (kernel and IIRC glibc builds are nice for their many parallelizable jobs) and still have a nicely usable system, as long as I&#8217;m running my interactive stuff mostly as a different user, and don&#8217;t bog down the kernel in I/O-wait.</p>
<p>Pointing PORTAGE_TMPDIR at tmpfs definitely helps with I/O, but then of course one has to track memory usage.  With the 4-way-striped swap, I&#8217;ve found I can go a gig into swap before things start noticeably slowing down there, but I use job limits and load-average control way more as an indirect method of limiting memory and tmpfs usage than to really limit load average, which as I said, is pretty much irrelevant in and of itself, provided I&#8217;m interacting as a different user with its own kernel enforced time-share if user has need of it.</p>
<p>I&#8217;m running the 2.2 rcs but haven&#8217;t yet updated this week, so am still on rc1.  Today&#8217;s update day, tho, so I&#8217;ll soon be playing with the new options too! =8^)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: cynyr</title>
		<link>http://blog.jolexa.net/2008/07/24/gentoo-portages-new-jobs-feature/comment-page-1/#comment-28</link>
		<dc:creator>cynyr</dc:creator>
		<pubDate>Thu, 24 Jul 2008 23:42:05 +0000</pubDate>
		<guid isPermaLink="false">http://jolexa.wordpress.com/?p=17#comment-28</guid>
		<description>I was wondering how well the --jobs option handles build time dependencies, run time ones, and trying to keep the number of jobs up. It would seem that if a package&#039;s tree was completely serial (every package is needed for the next) that --jobs does nothing to speed this up, and you would want makeopts=-j$(cores), but of something has 12 deps that can all be made at once you wouldn&#039;t want each to have the same makeopts=-j$(cores). So can it balance the two cases?</description>
		<content:encoded><![CDATA[<p>I was wondering how well the &#8211;jobs option handles build time dependencies, run time ones, and trying to keep the number of jobs up. It would seem that if a package&#8217;s tree was completely serial (every package is needed for the next) that &#8211;jobs does nothing to speed this up, and you would want makeopts=-j$(cores), but of something has 12 deps that can all be made at once you wouldn&#8217;t want each to have the same makeopts=-j$(cores). So can it balance the two cases?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
