From patchwork Tue Oct 8 12:05:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 175479 Delivered-To: patch@linaro.org Received: by 2002:a92:7e96:0:0:0:0:0 with SMTP id q22csp5609914ill; Tue, 8 Oct 2019 05:06:47 -0700 (PDT) X-Google-Smtp-Source: APXvYqwIqqxPtQGANv6dknVCqHllMAZJHc6mz2JlJFb7EoWpaoiO8iW6q6dCbA5aoqgxmDLNJlpn X-Received: by 2002:a17:906:a2c7:: with SMTP id by7mr28223884ejb.13.1570536407442; Tue, 08 Oct 2019 05:06:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570536407; cv=none; d=google.com; s=arc-20160816; b=bHVtJMrH0MxXicJuHpuQBIXUHqpW3qT8UJQaMwokwPA77uIieN9HyDy6ETAxTX4T9/ xkl04rP8hkLffnwRjnrpQqU9E7jTnD/CKk1hOme/Hvwl+5LbmX7npsw2+ivEyhJpJCR9 ZejuQxOMgC7P6aKN0VIDNfbki6ljvvqfPT+ul3UAeB9bc5JSoZr24hzstCqFr98XGh/p ek+X1940w41uv774G/OiKloy138h5cmTm7ZLyFSXzqHJ1lKQFyQnQXpCpj1oNMLKFwOl aopt/Xn54xbeOjWknl+9QtadruQZNxxfF1gofoc47p7NhvNLCcj8ayt3lHyMOoGjrcqo 1PRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:dkim-filter; bh=acaNKDKpGidTrv+O/oEz3Pcbxkt2cuge+GJ8iZc9IzI=; b=D+IZJiGv5S8z6UyefrLafr+yQH7ifdY0P5+xD86LiuEK0IrLG5n2tN12a7rHBev7XY x9Rv99b/Gkbb+IukZPfTb2nSj4vqPGPwECPWmv6eocLzXBaQxKM+XqqveM/UoCjYFU2a FvbKMdRNFBQhal0UXKc73K3AZ1d6ikIas38nA+prIjm/40OZqH5nHVOFZ2l/Z2kE8AYg CprdTz7/UFcn1SZwrvGD7d/7nh3ue8KBbdMXHdRrBS/GqqPldvXmr2XTXzHOMPguJJR1 TjwJkauw+BcUUNL+VZGbUmwFtHNEHK3bI8mhuQbhlxFzOBCU/qiUpq1NQvZVgQlpXiBo uJsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=VDCtBo+R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id p23si7581617eju.435.2019.10.08.05.06.47; Tue, 08 Oct 2019 05:06:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=VDCtBo+R; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730991AbfJHMGq (ORCPT + 26 others); Tue, 8 Oct 2019 08:06:46 -0400 Received: from conuserg-11.nifty.com ([210.131.2.78]:28279 "EHLO conuserg-11.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730751AbfJHMGn (ORCPT ); Tue, 8 Oct 2019 08:06:43 -0400 Received: from localhost.localdomain (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-11.nifty.com with ESMTP id x98C6134021176; Tue, 8 Oct 2019 21:06:02 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-11.nifty.com x98C6134021176 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1570536362; bh=acaNKDKpGidTrv+O/oEz3Pcbxkt2cuge+GJ8iZc9IzI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VDCtBo+R+3yIxcR10B8QSEsv+jIbQLIVF4V1qUYRsI0BIEemLFBbZUaCtOL1U81lb xmsRzmXSvcQ8iFUqEH42jXrBt2/kW2n50xJC4jzkexWXzTaCqy2fHURAYaWQlqKaCj luoYm8MNCSnIq5J+Zd6pJCHnmPdWHyzuIAeZP6TfOSxmGiF2vJuME9xiawi3YiOwZP Mwq4LPzTgB4ypthpepvWZl+n5piaCVlFRws8A8OvQ4p1o/iLJEeuD7Jxi8csQPL7gM +iUl6STJUI2r8AR1HfBaFRjp9uwfvWh34Y84Stq0iZjoaiDLbycJ/47FKT0DJK0fcR W6Zq44Qoa0wLA== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Greg KH , Joel Fernandes , Masahiro Yamada , linux-kernel@vger.kernel.org Subject: [PATCH 2/5] kheaders: optimize md5sum calculation for in-tree builds Date: Tue, 8 Oct 2019 21:05:53 +0900 Message-Id: <20191008120556.4263-2-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20191008120556.4263-1-yamada.masahiro@socionext.com> References: <20191008120556.4263-1-yamada.masahiro@socionext.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This script computes md5sum of headers in srctree and in objtree. However, when we are building in-tree, we know the srctree and the objtree are the same. That is, we end up with the same computation twice. In fact, the first two lines of kernel/kheaders.md5 are always the same for in-tree builds. Unify the two md5sum calculations. For in-tree builds ($building_out_of_srctree is empty), we check only two directories, include, and arch/$SRCARCH/include. For out-of-tree builds ($building_out_of_srctree is 1), we check 4 directories, $srctree/include, $srctree/arch/$SRCARCH/include, include, and arch/$SRCARCH/include since we know they are all different. Signed-off-by: Masahiro Yamada --- kernel/gen_kheaders.sh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) -- 2.17.1 diff --git a/kernel/gen_kheaders.sh b/kernel/gen_kheaders.sh index 8aa6d3c37ba7..5f8e664977f8 100755 --- a/kernel/gen_kheaders.sh +++ b/kernel/gen_kheaders.sh @@ -21,29 +21,30 @@ arch/$SRCARCH/include/ # Uncomment it for debugging. # if [ ! -f /tmp/iter ]; then iter=1; echo 1 > /tmp/iter; # else iter=$(($(cat /tmp/iter) + 1)); echo $iter > /tmp/iter; fi -# find $src_file_list -name "*.h" | xargs ls -l > /tmp/src-ls-$iter -# find $obj_file_list -name "*.h" | xargs ls -l > /tmp/obj-ls-$iter +# find $all_dirs -name "*.h" | xargs ls -l > /tmp/ls-$iter + +all_dirs= +if [ "$building_out_of_srctree" ]; then + for d in $dir_list; do + all_dirs="$all_dirs $srctree/$d" + done +fi +all_dirs="$all_dirs $dir_list" # include/generated/compile.h is ignored because it is touched even when none # of the source files changed. This causes pointless regeneration, so let us # ignore them for md5 calculation. -pushd $srctree > /dev/null -src_files_md5="$(find $dir_list -name "*.h" | - grep -v "include/generated/compile.h" | - grep -v "include/generated/autoconf.h" | - xargs ls -l | md5sum | cut -d ' ' -f1)" -popd > /dev/null -obj_files_md5="$(find $dir_list -name "*.h" | - grep -v "include/generated/compile.h" | - grep -v "include/generated/autoconf.h" | +headers_md5="$(find $all_dirs -name "*.h" | + grep -v "include/generated/compile.h" | + grep -v "include/generated/autoconf.h" | xargs ls -l | md5sum | cut -d ' ' -f1)" + # Any changes to this script will also cause a rebuild of the archive. this_file_md5="$(ls -l $sfile | md5sum | cut -d ' ' -f1)" if [ -f $tarfile ]; then tarfile_md5="$(md5sum $tarfile | cut -d ' ' -f1)"; fi if [ -f kernel/kheaders.md5 ] && - [ "$(head -n 1 kernel/kheaders.md5)" = "$src_files_md5" ] && - [ "$(head -n 2 kernel/kheaders.md5 | tail -n 1)" = "$obj_files_md5" ] && - [ "$(head -n 3 kernel/kheaders.md5 | tail -n 1)" = "$this_file_md5" ] && + [ "$(head -n 1 kernel/kheaders.md5)" = "$headers_md5" ] && + [ "$(head -n 2 kernel/kheaders.md5 | tail -n 1)" = "$this_file_md5" ] && [ "$(tail -n 1 kernel/kheaders.md5)" = "$tarfile_md5" ]; then exit fi @@ -76,8 +77,7 @@ tar "${KBUILD_BUILD_TIMESTAMP:+--mtime=$KBUILD_BUILD_TIMESTAMP}" \ --owner=0 --group=0 --sort=name --numeric-owner \ -Jcf $tarfile -C $cpio_dir/ . > /dev/null -echo "$src_files_md5" > kernel/kheaders.md5 -echo "$obj_files_md5" >> kernel/kheaders.md5 +echo $headers_md5 > kernel/kheaders.md5 echo "$this_file_md5" >> kernel/kheaders.md5 echo "$(md5sum $tarfile | cut -d ' ' -f1)" >> kernel/kheaders.md5