-
Notifications
You must be signed in to change notification settings - Fork 298
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-15204 cart: add crt_perf utils #13825
base: master
Are you sure you want to change the base?
Conversation
Bug-tracker data: |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/376/log |
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/383/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/305/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/361/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/1/execution/node/349/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-13825/1/execution/node/327/log |
e5ef127
to
d8d6aaa
Compare
Bug-tracker data: |
Test stage Build on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/295/log |
Test stage Build on Leap 15.5 with Intel-C and TARGET_PREFIX completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/380/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/278/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/370/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/2/execution/node/383/log |
Bug-tracker data: |
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-13825/2/execution/node/324/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/287/log |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/310/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/3/execution/node/315/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-13825/3/execution/node/344/log |
Test stage Build RPM on EL 8 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/383/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/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-13825/4/execution/node/322/log |
Bug-tracker data: |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/4/execution/node/377/log |
Bug-tracker data: |
Test stage Build RPM on EL 9 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/5/execution/node/363/log |
Test stage Build RPM on Leap 15.5 completed with status FAILURE. https://build.hpdd.intel.com//job/daos-stack/job/daos/view/change-requests/job/PR-13825/5/execution/node/278/log |
18cc1c5
to
7d2ffe3
Compare
Bug-tracker data: |
CRT_PERF_CHECK_D_ERROR(error, rc, "could not create request"); | ||
|
||
in_struct = crt_req_get(request->rpc); | ||
in_struct->handle_id = |
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.
a comment here would help to explain what you are doing:)
/*******************/ | ||
|
||
static int | ||
crt_perf_run(const struct crt_perf_info *perf_info, struct crt_perf_context_info *info, |
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.
it looks like crt_perf_run() implementations in most tests is very similar with the main difference being how input args are populated. any way to move this into crt_perf.c perhaps and pass it a function/cb to populate args instead?
#define CRT_PERF_LAT_SKIP_SMALL 100 | ||
#define CRT_PERF_LAT_SKIP_LARGE 10 | ||
#define CRT_PERF_LARGE_SIZE 8192 |
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.
would help to explain those, i dont quite understand what they mean by just reading them
sizeof(uri_name) * info->mpi_info.size); | ||
|
||
rc = crt_perf_mpi_allgather(&info->mpi_info, uri_name, sizeof(uri_name), uri_list, | ||
sizeof(uri_name)); |
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.
hmm.. shoudnt the last arg here be sizeof(uri_name) * info->mpi_info.size?
char *rank_uri = uri_list + rank * sizeof(uri_name); | ||
|
||
if (rank == info->mpi_info.rank) | ||
continue; /* our rank is already added */ | ||
|
||
rc = crt_group_primary_rank_add(info->context_info[0].context, NULL, rank, | ||
rank_uri); | ||
CRT_PERF_CHECK_D_ERROR(error, rc, "could not add rank %d %s", rank, |
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.
you can also use crt_group_primary_modify() and add all ranks and uris in a bulk if you want to avoid the loop
rc = crt_init_opt(listen ? CRT_PERF_GROUP_ID : NULL, crt_init_flags, &crt_init_options); | ||
CRT_PERF_CHECK_D_ERROR(error, rc, "could not init CART"); | ||
|
||
if (attach_info_path) { |
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.
from past experience might be helpful to debug/info print the attach info path
CRT_PERF_CHECK_ERROR(cb_info->cci_rc != 0, out, info->rc, cb_info->cci_rc, | ||
"callback failed"); | ||
|
||
if (info->cb) { |
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.
surprised checkpatch doesnt complain about single statement being wrapped in { } 's
Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
7d2ffe3
to
cc432f1
Compare
Ticket title is 'Add crt_perf utilities' |
Test stage Unit Test on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13825/7/testReport/ |
Test stage Unit Test with memcheck on EL 8.8 completed with status UNSTABLE. https://build.hpdd.intel.com/job/daos-stack/job/daos//view/change-requests/job/PR-13825/7/testReport/ |
cc432f1
to
c7b2100
Compare
Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
This allows to initialize CART in busy wait mode Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Clean up crt_context_init()/destroy() Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Add d_timeless() for time comparison Align d_timediff() to pass in pointers Update tests Add missing D_COND_INIT() / D_COND_DESTROY() Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Only support a single callback per context for now Fix utest_swim not creating cart context Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
add crt_hg_event_progress() and query wait fd from context add D_PROGRESS_LEGACY to revert to old progress Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
c7b2100
to
434c1ca
Compare
Add crt_rate / crt_perf_server executables. CRT perf utils can be run with and without MPI support. MPI support is automatically detected. Add crt_bw_read/write benchmarks. Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
Required-githooks: true Signed-off-by: Jerome Soumagne <jerome.soumagne@intel.com>
434c1ca
to
9bbc837
Compare
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: