Am 12.02.24 um 23:01 schrieb Julian Sikorski:
Am 12.02.24 um 22:10 schrieb Miroslav Suchý:
Dne 12. 02. 24 v 19:29 Julian Sikorski napsal(a):
Hello,

has anyone successfully managed to get ccache to speed up kernel mockbuilds, be it SRPMS from kernel-ark or from dist-git? I gave it a brief shot but saw no difference, if anything the build was slower. The machine I am building on has 32 GB RAM which is not quite enough to fit everything on a ramdisk, and the drive I am building to is an NVME SSD, "only" PCI Express 3.0. CPU is a Ryzen 5 5600x. A baseonly builds takes about 25 minutes, which is somewhat annoying when one has to bisect something. If ccache can speed this up, how big does it need to be? I understand the default 4 GB is nowhere near enough but what would be needed to actually help? Thanks!

Just to be sure - did you configured Mock to use it?

   https://rpm-software-management.github.io/mock/Plugin-CCache

the build from build container cannot see host ccache, so Mock must specially configure it.

This is by default off, because in multi user environment you can easily poison the cache and affect different build. This should be enabled only on VM where you trust all users that can run Mock. E.g. your personal developer workstation.

I am building with:
--enable-plugin=ccache --plugin-option=ccache:max_cache_size='40G'
Building with cold cache took 29:29, building with hot cache 29:45, so there appears to be no benefit so far. /var/cache/mock/fedora-36-x86_64/ccache is 9,5G in size, suggesting that size is not the problem. I am down to 21 commits to bisect after the current one, so changes to kernel source tree should be minimal at this point.
Do I need to install ccache on the host as well?

Best regards,
Julian

Installing ccache on the host did not help either. If anything, builds are getting slower, last one took 29:15. My guess would be that this is due to cache getting bigger (at 15G now) but no matches getting found. I am down to two commits to test left after the current one so source changes cannot possibly be the reason. Is the kernel version defined across the source perhaps? I am changing the LOCALVERSION from build to build in order to be able to tell the kernels apart, i.e. I have:
- kernel-5.19.0-0.rc0.fdaf9a5840ac.200.bs11.fc36.src.rpm
- kernel-5.19.0-0.rc0.fdaf9a5840ac.200.bs12.fc36.src.rpm
- etc.
Even the commit in the SRPM name does not change anymore at this point. Other than that, the build command is the same every single time:

- git bisect good/bad
- git branch bs12
- git checkout os-build-5.19-alt
- git merge bs12
- make LOCALVERSION=".bs12" BUILD=200 dist-srpm
- mock --chain --localrepo /mnt/openmediavault/kernel/ -r eol/fedora-36-x86_64 --disable-plugin=tmpfs --enable-plugin=yum_cache --enable-plugin=ccache --plugin-option=ccache:max_cache_size='40G' --kernel-5.19.0-0.rc0.fdaf9a5840ac.200.bs12.fc39.src.rpm --with baseonly

Could this be the reason for ccache not working?

Best regards,
Julian
--
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to