Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758104AbcJRJ2k (ORCPT ); Tue, 18 Oct 2016 05:28:40 -0400 Received: from mail-qt0-f193.google.com ([209.85.216.193]:35184 "EHLO mail-qt0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752594AbcJRJ2c (ORCPT ); Tue, 18 Oct 2016 05:28:32 -0400 MIME-Version: 1.0 Reply-To: sedat.dilek@gmail.com In-Reply-To: References: From: Sedat Dilek Date: Tue, 18 Oct 2016 11:28:31 +0200 Message-ID: Subject: Re: [4.9-rc1] Build-time 2x slower To: Linus Torvalds Cc: LKML Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2234 Lines: 61 On Mon, Oct 17, 2016 at 6:46 PM, Linus Torvalds wrote: > On Mon, Oct 17, 2016 at 9:04 AM, Sedat Dilek wrote: >> >> not sure whom to address on this issue. >> >> I have built Linux v4.9-rc1, v4.8.2 and v4.4.25 kernels (in this >> order) this morning. >> >> Building a Linux v4.8.2 under Linux v4.9-rc1 took two times longer. >> >> As usually I build with 2 parallel-make-jobs. >> This takes approx. 30mins. >> Under Linux v4.9-rc1 it took approx. an hour. > > Hmm. Would you mind just bisecting it? I've not noticed the same thing > on my setup, but to be honest I generally don't time things very > closely because the variation for me tends to be much more along the > lines of "damn, that pull request touched now it's > rebuilding everything" vs "40 seconds to build just the driver that > changed". Most of my builds are the "allmodconfig" builds I do in > between pulls.. > > You can even automate it, since it's going to take some time, using > "git bisect run" and writing a small script that looks at how long it > takes to build the kernel from scratch each time. I'd suggest trying > to write the script using a smaller repository (maybe git itself). The > script would just needs to do a clean rebuild, time it, and have > return success or error based on how long it took. > > The script *might* look something like > > #!/bin/sh > git clean -dqfx > make oldconfig > time -o time-file -f '%e' sh -c "make -j8 > ../output" > # remove fractional seconds > time=$(cat time-file | sed 's/\..*//') > # less than 35 minutes is good? > [ $time -lt $((35*60)) ] > > but I didn't really test that very much. Anyway, you *should* be able > to do something like > > git bisect good v4.8 > git bisect bad v4.9-rc1 > git bisect run ../timing-script > > (put the "timing-script" somewhere _else_ than the kernel sources so > that the "git clean" doesn't remove it - that's what my first silly > test did ;) > > You may have to tweak that script a bit, but I think you get the idea.. > OK, thanks for confirming the problem. I was not sure if this is a "local" problem. Your timing-script looks interesting and test... will report. - Sedat -