mizdebsk reported a new issue against the project: `releng` that you are following: `` Please consider turning on [nosync setting in mock](https://github.com/rpm-software-management/mock/wiki/Feature-nosync) on Koji builders. This was brought up in [Removal of GCC from the buildroot](https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/...) thread on devel mailing list in July.
Nosync aims to improve performance of dnf phase in mock. It achieves this by disabling fsync calls. Fsync calls are not ignored during rpmbuild phase. For more information see upstream documentation linked above.
I temporarily enabled nosync in staging Koji to estimate its effect on build performance. Results will be posted below in separate comments. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
mizdebsk added a new comment to an issue you are following: `` Test case 1 - relative comparison of package installation time (in seconds) with and without sync. This test was done by submitting a scratch build of a simplest-possible SRPM with large build dependency chain. Since dominant step of this build is installing build dependencies, comparing task completion times allows estimating relative package installation performance improvement from enabling nosync.
- task without nosync enabled: https://koji.stg.fedoraproject.org/koji/taskinfo?taskID=90000507 - task with nosync enabled: https://koji.stg.fedoraproject.org/koji/taskinfo?taskID=90000538
Results in a graph form:
[![nosync-big.png](/releng/issue/raw/files/75f1ad775a78204972a4801963848c5d7d97e99194fa351ac2a1c1a65d5f5e97-nosync-big.png)](/releng/issue/raw/files/75f1ad775a78204972a4801963848c5d7d97e99194fa351ac2a1c1a65d5f5e97-nosync-big.png) ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
mizdebsk added a new comment to an issue you are following: `` Test case 2 - absolute time gain of installing build group. This test was done by submitting scratch builds of simplest possible package with no build dependencies, during which only build group is installed. Test results show minimal absolute time gain - how much time can be saved per build only for during minimal buildroot installation. Additional time can be saved during buildrequires installation.
[![nosync-small.png](/releng/issue/raw/files/65a72a5cb9689bafc876160dab3dc916881c5e54de681f718a64e468338f07da-nosync-small.png)](/releng/issue/raw/files/65a72a5cb9689bafc876160dab3dc916881c5e54de681f718a64e468338f07da-nosync-small.png) ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
kevin added a new comment to an issue you are following: `` I'm +1 to doing this. The only case I can think of where it might cause problems is if a package has a test suite that writes some data and runs fsync and then checks it, but I wouldn't expect that to happen too often. If we do hit that we could look at some workaround (disable that test, provide a channel without nosync, etc) ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
mizdebsk added a new comment to an issue you are following: `` As the issue says, sync calls are ignored only when package manager (DNF) is ran - nosync is not active during rpmbuild phase of package build, so it won't affect package test suites. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
kevin added a new comment to an issue you are following: `` Ah, missed that... even better! Thanks! ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
filiperosset added a new comment to an issue you are following: `` my 2 cents, I'm using nosync for my local mock builds for more than a year and it works like a charm, so +1 ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
msuchy added a new comment to an issue you are following: `` Additionally, you can enable tmpfs plugin. Copr is using this for years. Some analysis here: http://miroslav.suchy.cz/blog/archives/2015/05/28/increase_mock_performance_... ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
kevin added a new comment to an issue you are following: `` sadly, tmpfs won't work for us as it needs builders to have a bunch of swap, and right now our builders do not have any extra disk space. ;(
``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
mizdebsk added a new comment to an issue you are following: `` An alternative to tmpfs would be adjusting virtual machine disk caching options, which I suggested in the devel thread mentioned above. For builders that are virtual machines (and most of them are), data written to guest virtual disk during mock build would actually be kept in RAM - in host disk cache, and is written back to hardware disk in background, even before vmhost runs out of memory. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
kevin added a new comment to an issue you are following: `` nosync should be enabled for all the builders except the armv7 ones (stalled on https://bugzilla.redhat.com/show_bug.cgi?id=1576593).
I think we should open new issues on any other/different changes we want to make, and keep this one just tracking the nosync change. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
syeghiay added a new comment to an issue you are following: `` Still waiting on resolution of https://bugzilla.redhat.com/show_bug.cgi?id=1576593 Once it's fixed, can close this ticket. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
The issue: `Consider enabling nosync` of project: `releng` has been assigned to `ignatenkobrain` by ignatenkobrain.
kevin added a new comment to an issue you are following: `` That bug is finally fixed, but we haven't yet moved the arm builders newer. As soon as f31 is out the door, we will want to update them to that.
We can keep this for tracking, or just realize that it will happen when we move them to f31. ``
To reply, visit the link below or just reply to this email https://pagure.io/releng/issue/7909
rel-eng@lists.fedoraproject.org