Skip to content

Conversation

@hoopoepg
Copy link
Contributor

@hoopoepg hoopoepg commented Oct 9, 2018

  • added processing of zero-size MPI window

fixes #5873

Signed-off-by: Sergey Oblomov [email protected]

}
}

if (!((module->win_info_array[target]).rkey_init) && (target_count > 0)) {
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe add this as macro/common function?
also looks like two pairs of redundant () around !((module->win_info_array[target]).rkey_init)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

added macro

}

if (!((module->win_info_array[target]).rkey_init) && (target_count > 0)) {
OSC_UCX_VERBOSE(1, "target window has no rkey or has zero size");
Copy link
Contributor

Choose a reason for hiding this comment

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

"window with non-zero length does not have an rkey"

Copy link
Contributor Author

Choose a reason for hiding this comment

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

fixed

memcpy((void *)((char *)my_info + 2 * sizeof(uint64_t)), rkey_buffer, rkey_buffer_size);
memcpy((void *)((char *)my_info + 2 * sizeof(uint64_t) + rkey_buffer_size),
state_rkey_buffer, state_rkey_buffer_size);
memcpy_off(my_info, &state_base, sizeof(uint64_t), info_offset);
Copy link
Contributor

Choose a reason for hiding this comment

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

maybe add the window size as another uint64_t in the beginning (in addition to state_base and rkey_buffer_size)?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

didn't get your comment, size is added on next line (line 544 of updated file)

Copy link
Contributor

Choose a reason for hiding this comment

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

i mean, in terms of packing, do '3 * sizeof(uint64_t)' instead of 2 * sizeof(uint64_t)'

Copy link
Contributor Author

Choose a reason for hiding this comment

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

hmmmm, size is size_t type, not uint64_t, merge into 3 * sizeof(uint64_t) ?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

updated

@hjelmn
Copy link
Member

hjelmn commented Oct 9, 2018

Ok, this needs to v3.1.x and v4.0.x today. Please squish all commits into a single commit. Not supporting 0-sized windows is a critical bug.

@hoopoepg
Copy link
Contributor Author

@yosefe ok to approve or more comments?

@hoopoepg
Copy link
Contributor Author

@yosefe I will squash commits after tests are completed, will ping you when it ready to commit

@hoopoepg hoopoepg force-pushed the topic/fixed-zero-size-window branch from 434a201 to b91164f Compare October 10, 2018 10:07
- added processing of zero-size MPI window

Signed-off-by: Sergey Oblomov <[email protected]>
@hoopoepg hoopoepg force-pushed the topic/fixed-zero-size-window branch from b91164f to ae6f819 Compare October 10, 2018 10:08
@hoopoepg
Copy link
Contributor Author

bot:retest

@hoopoepg
Copy link
Contributor Author

@yosefe ok to merge?

@yosefe yosefe merged commit 9a36555 into open-mpi:master Oct 10, 2018
@yosefe
Copy link
Contributor

yosefe commented Oct 10, 2018

@hoopoepg need for v4.0.x

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

rma-mt benchmark segfaults with osc ucx on master

3 participants