From cad92ecca8841450939e22e0da265507fec1bb9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Wed, 14 Dec 2022 17:26:35 +0200 Subject: Append per-board ccache statistics in log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Starting with ccache 4.4 it is possible to collect statistics about cache miss/hit rates in a separate file. Add the info of the build at end of created make.log file or on stdout. Change-Id: I1bab712712f4d6379ec6733fdc55b234e3845da7 Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/75087 Reviewed-by: Angel Pons Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) --- Makefile | 4 ++++ Makefile.inc | 7 +++++-- toolchain.inc | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 459f724e9b04..d86eaf014d39 100644 --- a/Makefile +++ b/Makefile @@ -197,6 +197,10 @@ endif strip_quotes = $(strip $(subst ",,$(subst \",,$(1)))) # fix makefile syntax highlighting after strip macro \" ")) +ifneq ($(NOCOMPILE),1) +$(shell rm -f $(CCACHE_STATSLOG)) +endif + # The primary target needs to be here before we include the # other files diff --git a/Makefile.inc b/Makefile.inc index abf47d4fae45..b35ec86a1100 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -66,8 +66,11 @@ coreboot: $(obj)/coreboot.rom $(obj)/cbfstool $(obj)/rmodtool $(obj)/ifwitool $( # targets after the build completes by creating a Makefile.inc in the # site-local directory with a target named 'build_complete::' build_complete:: coreboot - printf "\nBuilt %s (%s)\n" $(MAINBOARDDIR) \ - $(CONFIG_MAINBOARD_PART_NUMBER) + printf "\nBuilt %s (%s)\n" $(MAINBOARDDIR) $(CONFIG_MAINBOARD_PART_NUMBER) + if [ -f "$(CCACHE_STATSLOG)" ]; then \ + printf "\nccache statistics\n"; \ + $(CCACHE) --show-log-stats -v; \ + fi # This target can be used to run rules after all files were added to CBFS, # for example to process FMAP regions or the entire image. diff --git a/toolchain.inc b/toolchain.inc index 47c5fe9b8511..3165586d78c8 100644 --- a/toolchain.inc +++ b/toolchain.inc @@ -10,6 +10,7 @@ endif export CCACHE_COMPILERCHECK=content export CCACHE_BASEDIR=$(top) +export CCACHE_STATSLOG=$(obj)/ccache.stats $(foreach arch,$(ARCH_SUPPORTED), \ $(eval CC_$(arch):=$(CCACHE) $(CC_$(arch)))) -- cgit v1.2.3