Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce nosync to speed up installability #38

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

thrix
Copy link
Contributor

@thrix thrix commented Aug 20, 2024

This speeds up most of the packages significantly, I would consider including it:

zabbix-6.0.33-2.fc42                17 min      ->     13 min
kernel-6.10.6-100.fc39              1 hr 7 min  ->     1 hr 14 min
google-noto-fonts-20240701-1.fc41   4 hr 57 min ->     2 hr 27 min

Signed-off-by: Miroslav Vadkerti <mvadkert@redhat.com>
@thrix thrix self-assigned this Oct 8, 2024
@thrix thrix marked this pull request as ready for review October 8, 2024 10:15
@thrix
Copy link
Contributor Author

thrix commented Oct 8, 2024

@msrb PTAL pls

@rwmjones
Copy link

rwmjones commented Oct 8, 2024

nosync is a no-brainer, provided you don't care about the results in the case of system failure. For CI that's almost always a reasonable assumption. In other words, it's a good idea.

@ppisar
Copy link

ppisar commented Oct 8, 2024

Disabling sync for CI environment makes sense because we are not interested in resuming a test after a CI crash.

@nirik
Copy link

nirik commented Oct 8, 2024

Does nosync work again? https://bugzilla.redhat.com/show_bug.cgi?id=2019329

@thrix
Copy link
Contributor Author

thrix commented Oct 8, 2024

Does nosync work again? https://bugzilla.redhat.com/show_bug.cgi?id=2019329

I run the testing on all supported Fedoras to confirm it does not cause a failure of the pipeline:

https://osci-jenkins-1.ci.fedoraproject.org/job/fedora-ci/job/installability-pipeline/view/change-requests/job/PR-41/

@thrix
Copy link
Contributor Author

thrix commented Oct 8, 2024

Thanks all for the input. I will merge this once the above tests pass.

@thrix
Copy link
Contributor Author

thrix commented Oct 9, 2024

ok, more work needed in the plan, as my current testing showed nothing (rsync was not enabled)

# Use nosync to speed up dnf
if grep -q fedora <<< "${PROFILE_NAME}"; then
dnf -y install nosync
export LD_PRELOAD=/usr/lib64/nosync/nosync.so
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect that this env var is only set in the prepare test, and not in the subsequent installability test -- tmt likely spawns a new shell process for that.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am wondering if it would be better to simply enable nosync in mini-tps directly?

@xsuchy
Copy link

xsuchy commented Oct 10, 2024

We have been using nosync in Mock for ages. It causes mostly problem when you mix architectures. In this scenario this be no brainer. I can only imagine theoretical issues with some qemu tests or multiarch packages (is there any remaining? I guess not).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants