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@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
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@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue