-
Notifications
You must be signed in to change notification settings - Fork 311
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-8781 client: allow polling timeout to be modified via env #12124
Conversation
Introduce a new env variable called D_POLL_TIMEOUT in libdaos to tune how aggressive the polling on network progress is for synchronous operation. For asynchronous operations, the caller already passes a timeout to eq_poll or event_test. The default value (0) is not changed and means busy polling. This can be modified to a value in micro-seconds. Signed-off-by: Johann Lombardi <[email protected]>
Bug-tracker data: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style warning(s) for job https://build.hpdd.intel.com/job/daos-stack/job/daos/job/PR-12124/1/
Please review https://wiki.hpdd.intel.com/display/DC/Coding+Rules
src/client/api/event.c
Outdated
* Global progress timeout for synchronous operation | ||
* busy-polling by default (0), timeout in us otherwise | ||
*/ | ||
static uint32_t ev_prog_timeout = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(style) do not initialise statics to 0
src/client/api/event.c
Outdated
* Global progress timeout for synchronous operation | ||
* busy-polling by default (0), timeout in us otherwise | ||
*/ | ||
static uint32_t ev_prog_timeout = 0; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
static uint32_t ev_prog_timeout = 0; | |
static uint32_t ev_prog_timeout; |
Test stage checkpatch completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-12124/1/execution/node/138/log |
@@ -91,6 +97,8 @@ daos_eq_lib_init() | |||
|
|||
eq_ref = 1; | |||
|
|||
d_getenv_int("D_POLL_TIMEOUT", &ev_prog_timeout); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for new cart envs we document them in src/cart/README.env - is there a similar place for DAOS level envars where this needs to be added?
There is also
62 dump_envariables(void) {}
call in crt_init.c where new envar might want to be added for debug purposes
Signed-off-by: Johann Lombardi <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Test stage Build RPM on Leap 15.4 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-12124/2/execution/node/378/log |
Test stage Build DEB on Ubuntu 20.04 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-12124/2/execution/node/311/log |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. No errors found by checkpatch.
Introduce a new env variable called D_POLL_TIMEOUT in libdaos to tune how aggressive the polling on network progress is for synchronous operation. For asynchronous operations, the caller already passes a timeout to eq_poll or event_test. The default value (0) is not changed and means busy polling. This can be modified to a value in micro-seconds. Signed-off-by: Johann Lombardi <[email protected]>
… (#12407) Introduce a new env variable called D_POLL_TIMEOUT in libdaos to tune how aggressive the polling on network progress is for synchronous operation. For asynchronous operations, the caller already passes a timeout to eq_poll or event_test. The default value (0) is not changed and means busy polling. This can be modified to a value in micro-seconds. Signed-off-by: Johann Lombardi <[email protected]> Signed-off-by: Mohamad Chaarawi <[email protected]>
Introduce a new env variable called D_POLL_TIMEOUT in libdaos to tune how aggressive the polling on network progress is for synchronous operation. For asynchronous operations, the caller already passes a timeout to eq_poll or event_test.
The default value (0) is not changed and means busy polling. This can be modified to a value in micro-seconds.
Before requesting gatekeeper:
Features:
(orTest-tag*
) commit pragma was used or there is a reason documented that there are no appropriate tags for this PR.Gatekeeper: