Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Issue 3418001: Turn on --fast on official builds. (Closed)

Created:
10 years, 3 months ago by davidjames
Modified:
9 years, 4 months ago
Reviewers:
Nick Sanders
CC:
chromium-os-reviews_chromium.org, Mandeep Singh Baines, anush, sosa
Visibility:
Public.

Description

Turn on --fast on official builds. The --fast support for build_packages is stable now, and should significantly improve the speed of our official builders. We should turn it on so that builders can finish their builds in less than 8 hours. BUG=chromium-os:6706 TEST=Run ./enter_chroot.sh --official_build and verify that --fast is on by default now Change-Id: I6ad126b9b6ce16ffc9887a7af22c2e3f85afbf42 Committed: http://chrome-svn/viewvc/chromeos?view=rev&revision=ff07201

Patch Set 1 #

Patch Set 2 : Tweak comment. #

Patch Set 3 : Update to be more conservative. #

Patch Set 4 : Typo fix -- thanks nsanders #

Unified diffs Side-by-side diffs Delta from patch set Stats (+12 lines, -16 lines) Patch
M common.sh View 1 2 1 chunk +1 line, -4 lines 0 comments Download
M parallel_emerge View 1 2 3 2 chunks +11 lines, -12 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
davidjames
PTAL
10 years ago (2010-11-30 19:22:43 UTC) #1
Nick Sanders
lgtm
10 years ago (2010-11-30 21:21:28 UTC) #2
anush
Just for the record I was/am against turning this on by default for official builds ...
10 years ago (2010-11-30 23:05:51 UTC) #3
davidjames
On 2010/11/30 23:05:51, anush wrote: > Just for the record I was/am against turning this ...
10 years ago (2010-12-01 00:17:16 UTC) #4
anush
On Tue, Nov 30, 2010 at 2:17 PM, <davidjames@chromium.org> wrote: > On 2010/11/30 23:05:51, anush ...
10 years ago (2010-12-01 17:28:54 UTC) #5
davidjames
On 2010/12/01 17:28:54, anush wrote: > On Tue, Nov 30, 2010 at 2:17 PM, <mailto:davidjames@chromium.org> ...
10 years ago (2010-12-01 23:51:16 UTC) #6
Nick Sanders
Couple points: * We're leaving all the locks in place, and deps are already calculated ...
10 years ago (2010-12-02 02:26:19 UTC) #7
Mandeep Singh Baines
On Wed, Dec 1, 2010 at 9:28 AM, Anush Elangovan(அனுஷ்) <anush@chromium.org> wrote: > On Tue, ...
10 years ago (2010-12-02 03:26:06 UTC) #8
anush
On Wed, Dec 1, 2010 at 4:25 PM, Nick Sanders <nsanders@chromium.org> wrote: > Couple points: ...
10 years ago (2010-12-02 04:45:54 UTC) #9
Nick Sanders
10 years ago (2010-12-02 19:11:36 UTC) #10
On Wed, Dec 1, 2010 at 8:45 PM, Anush Elangovan(அனுஷ்)
<anush@chromium.org>wrote:

> On Wed, Dec 1, 2010 at 4:25 PM, Nick Sanders <nsanders@chromium.org>
> wrote:
> > Couple points:
> > * We're leaving all the locks in place, and deps are
> already calculated by
> > portage code. If parallel_emerge doesn't build correctly, emerge isn't
> going
> > to either, as in the example above.
> > * Updating portage without integrating with parallel emerge already isn't
> an
> > option, core SW development isn't possible at this point without parallel
> > emerge.
>
> So the question is why the apprehension to fix "emerge --jobs", while
> we all agree that is the way forward and we use most of
> emerge/portage?
>

I don't think there's any consensus here. I'd prefer to upstream parallel
emerge, as it's both faster
and more strict on dependencies. We'd benefit open source most by sharing
our existing, well tested work.


>
> > Do you want to meet up on chat of VC to discuss?
>
> Anyways, I have scheduled a meeting tomorrow. Lets discuss it then.
>
> >
> > On Wed, Dec 1, 2010 at 3:51 PM, <davidjames@chromium.org> wrote:
> >>
> >> On 2010/12/01 17:28:54, anush wrote:
> >>>
> >>> On Tue, Nov 30, 2010 at 2:17 PM,  <mailto:davidjames@chromium.org>
> wrote:
> >>> > On 2010/11/30 23:05:51, anush wrote:
> >>> >>
> >>> >> Just for the record I was/am against turning this on by default for
> >>> >> official builds (for multiple reasons I have already gone over
> >>> >> multiple times and am not going to list it here). Speed is
> important,
> >>> >> accuracy more so. We have no data on why our parallel_emerge is
> better
> >>> >> than emerge --jobs, and data on how it outperforms the latter while
> >>> >> still preserving the locks. And what are the actual problems with
> >>> >> --jobs? Also are we sure we dont need an env-update after the
> package
> >>> >> is emerged?
> >>> >
> >>> >> &nbsp;And just to be clear we should not be hostage to
> parallel_emerge
> >>> >> not
> >>> >> working with the next portage update (since we dont seem interested
> in
> >>> >> fixing the problem but doing quick hacks to parallel_emerge), so
> >>> >> unless that is worked on we will revert to regular emerge or emerge
> >>> >> --jobs with the next portage update.
> >>> >
> >>> > Hi Anush,
> >>> >
> >>> > I'm not sure I understand what you're getting at here. When we
> >>> > discussed
> >>> > this in
> >>> > person, you said it would be fine for me to commit this as long as we
> >>> > switched
> >>> > on the 'conservative mode' for official builds where all locks are
> >>> > preserved
> >>> > and
> >>> > we are simply using the same logic as the original emerge program but
> >>> > with a
> >>> > better scheduler that allows for parallel installs. That's exactly
> what
> >>> > we
> >>> > did
> >>> > here. Perhaps you're thinking that this is a different change?
> >>
> >>> Nope it is the same change. We wanted to have env-updated just like in
> >>> the regular emerge.
> >>
> >> I think this is where we are misunderstanding each other.
> >>
> >> If you look at my change, env-update is enabled when OFFICIAL is
> enabled.
> >> So the
> >> change is exactly as you requested, I thought.
> >>
> >>> This is comparing against regular emerge without jobs and
> >>> parallel_emerge. How does parallel_emerge perform against "emerge
> >>> --jobs" (if we fix deps issues) is the right comparison.
> >>
> >> Comparing against emerge --jobs isn't fair either because it fails to
> >> build
> >> pretty much every time. You can accomplish a complete build by retrying
> >> multiple
> >> times, but it's sufficiently flaky that the build time is really
> increased
> >> quite
> >> a bit by the failures.
> >>
> >> Once we get emerge working with --jobs (and finishing a full from source
> >> build
> >> reliably), then we can do a fair comparison.
> >>
> >>> So I would say we disable fast on the official build now, until we
> >>> have worked through atleast the emerge scheduler issues and
> >>> parallel_emerge deps calculation and env updates.  Please include me
> >>> in the review.
> >>
> >> 1) env updates is already enabled as discussed above
> >> 2) What is the dep calculation issue? In what situation does
> >> parallel_emerge
> >> install the wrong packages?
> >>
> >> The thread on the dev@ list is discussing a situation with an
> unresolved
> >> dependency conflict -- emerge itself is outputting the following
> warning:
> >>
> >> !!! One or more updates have been skipped due to a dependency conflict:
> >>
> >> x11-drivers/opengles:0 for /build/tegra2_seaboard/
> >>
> >>  ('ebuild', '/build/tegra2_seaboard/', 'x11-drivers/opengles-0.0.3-r1',
> >> 'merge') conflicts with
> >>    <x11-drivers/opengles-0.0.2 required by ('installed',
> >> '/build/tegra2_seaboard/', 'chromeos-base/board-devices-0.0.1-r3',
> >> 'nomerge')
> >>
> >> Despite the above warning, both emerge and parallel_emerge seem to be
> >> handling
> >> updates to use flags correctly on my machine. So I am curious what the
> >> issue is
> >> here. If we have an issue we should save the logs for it so that we can
> >> analyze
> >> it and fix it.
> >>
> >> Here are the benchmarks for the buildbots before and after the switch to
> >> --fast:
> >>  Before the change: build_packages + build_image = 4h16m45s + 23m49s =
> >> 4h40m34s
> >>  After the change: build_packages + build_image = 1h38m45s + 7m44s =
> >> 1h46m14s
> >>
> >> That's a 3x speedup. This is very helpful for developers who are looking
> >> for
> >> feedback on whether a full build of their changes actually runs all the
> >> way
> >> through.
> >>
> >> Thanks,
> >>
> >> David
> >>
> >> http://codereview.chromium.org/3418001/
> >
> >
>

Powered by Google App Engine
This is Rietveld 408576698