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

DAOS-16628 client: reset eq counter to zero after fork() in IL #15187

Merged
merged 4 commits into from
Oct 1, 2024

Conversation

wiliamhuang
Copy link
Contributor

After fork(), child process inherits the value of the counter of event queues, d_eq_count in libpil4dfs and ioil_iog.iog_eq_count in libioil. They need to be reset to zero.

Required-githooks: true
Skipped-githooks: codespell

Before requesting gatekeeper:

  • Two review approvals and any prior change requests have been resolved.
  • Testing is complete and all tests passed or there is a reason documented in the PR why it should be force landed and forced-landing tag is set.
  • Features: (or Test-tag*) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.
  • Commit messages follows the guidelines outlined here.
  • Any tests skipped by the ticket being addressed have been run and passed in the PR.

Gatekeeper:

  • You are the appropriate gatekeeper to be landing the patch.
  • The PR has 2 reviews by people familiar with the code, including appropriate owners.
  • Githooks were used. If not, request that user install them and check copyright dates.
  • Checkpatch issues are resolved. Pay particular attention to ones that will show up on future PRs.
  • All builds have passed. Check non-required builds for any new compiler warnings.
  • Sufficient testing is done. Check feature pragmas and test tags and that tests skipped for the ticket are run and now pass with the changes.
  • If applicable, the PR has addressed any potential version compatibility issues.
  • Check the target branch. If it is master branch, should the PR go to a feature branch? If it is a release branch, does it have merge approval in the JIRA ticket.
  • Extra checks if forced landing is requested
    • Review comments are sufficiently resolved, particularly by prior reviewers that requested changes.
    • No new NLT or valgrind warnings. Check the classic view.
    • Quick-build or Quick-functional is not used.
  • Fix the commit message upon landing. Check the standard here. Edit it to create a single commit. If necessary, ask submitter for a new summary.

Features: ioil pil4dfs

Required-githooks: true
Skipped-githooks: codespell

Signed-off-by: Lei Huang <[email protected]>
Copy link

github-actions bot commented Sep 25, 2024

Ticket title is 'counter of event queue should be reset to zero after fork() in interception lib'
Status is 'In Review'
Labels: 'intercept_lib'
https://daosio.atlassian.net/browse/DAOS-16628

Features: ioil pil4dfs

Required-githooks: true
Skipped-githooks: codespell

Signed-off-by: Lei Huang <[email protected]>
Features: ioil pil4dfs

Required-githooks: true
Skipped-githooks: codespell

Signed-off-by: Lei Huang <[email protected]>
Features: ioil pil4dfs

Required-githooks: true
Skipped-githooks: codespell

Signed-off-by: Lei Huang <[email protected]>
@daosbuild1
Copy link
Collaborator

Test stage Functional Hardware Large completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-15187/4/testReport/

@wiliamhuang wiliamhuang marked this pull request as ready for review September 26, 2024 17:51
@wiliamhuang wiliamhuang requested review from a team as code owners September 26, 2024 17:51
Copy link
Contributor

@jolivier23 jolivier23 left a comment

Choose a reason for hiding this comment

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

What happens if you don't do this?

@wiliamhuang
Copy link
Contributor Author

What happens if you don't do this?

I have not observe any issue in common applications. I saw errors in destroying network contexts in a test code with multiple level of nested fork() due to wrong context counter in child processes.

@wiliamhuang
Copy link
Contributor Author

@mchaarawi This PR is quite simple. Shall we back port it to 2.6? Thank you!

@mchaarawi
Copy link
Contributor

@mchaarawi This PR is quite simple. Shall we back port it to 2.6? Thank you!

sure please make the req.

@wiliamhuang
Copy link
Contributor Author

The only failed test (intercept_multi_client.py:IorInterceptMultiClient.test_ior_intercept_libpil4dfs) is due to performance noise. All other tests passed.

@wiliamhuang wiliamhuang requested a review from a team September 27, 2024 18:20
@daltonbohning daltonbohning added the forced-landing The PR has known failures or has intentionally reduced testing, but should still be landed. label Oct 1, 2024
@daltonbohning daltonbohning merged commit 53f6743 into master Oct 1, 2024
52 of 55 checks passed
@daltonbohning daltonbohning deleted the lei/DAOS-16628 branch October 1, 2024 14:31
daltonbohning pushed a commit that referenced this pull request Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
forced-landing The PR has known failures or has intentionally reduced testing, but should still be landed.
Development

Successfully merging this pull request may close these issues.

6 participants