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

oshmem: sshmem: adds UCX allocator #2717

Merged
merged 4 commits into from
Mar 9, 2017

Conversation

alex-mikheev
Copy link
Contributor

Also some code cleanup
@yosefe @jladd-mlnx @igor-ivanov

@@ -405,26 +406,32 @@ sshmem_mkey_t *mca_spml_ucx_register(void* addr,
return NULL;
}

seg = memheap_find_segnum(addr);
segno = memheap_find_segnum(addr);
Copy link
Member

Choose a reason for hiding this comment

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

what if segno is invalid?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is always valid because the register function is only called for memory segments that were already allocated and belong to the memheap.

@jladd-mlnx
Copy link
Member

@alex-mikheev please add signed-off-by

@jladd-mlnx
Copy link
Member

@alex-mikheev should we deprecate the verbs allocator? Please PR into 1.10, 2.0.2, and 2.1.

@yosefe
Copy link
Contributor

yosefe commented Jan 13, 2017

@alex-mikheev i don't see where memory is actually allocated with UCX?
also - better put the cleanups in existing code in separate commit

@alex-mikheev
Copy link
Contributor Author

@jladd-mlnx not yet. ucx allocator can only be used by the ucx spml
@yosefe I forgot to 'add' new files

@@ -112,9 +113,10 @@ typedef struct map_segment {
sshmem_mkey_t *mkeys; /* includes local segment bases in va_base */
segment_flag_t flags; /* enable/disable flag */
int seg_id;
char seg_name[OPAL_PATH_MAX];
Copy link
Member

Choose a reason for hiding this comment

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

@alex-mikheev do you believe that seg_name is needless? I see that original code has unlink(ds_buf->seg_name) in shmem_ds_reset(). I do not remember if it is something useful but pay attention to avoid related issues.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I see unlink() and memset two zero. However I do not see where seg_name is set to something and I do not see where it is used. (except in debug prints)

The commit removes unused code and interface function, moves
common code to the base.

Signed-off-by: Alex Mikheev <alexm@mellanox.com>
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
Signed-off-by: Alex Mikheev <alexm@mellanox.com>
@hppritcha hppritcha mentioned this pull request Mar 7, 2017
6 tasks
@yosefe
Copy link
Contributor

yosefe commented Mar 7, 2017

bot:retest

@hppritcha
Copy link
Member

@alex-mikheev Please update v3.0.0 whitelist #3107 when you merge this. Check off ucx allocator button. Thanks.

@jladd-mlnx jladd-mlnx added this to the v3.0.0 milestone Mar 7, 2017
@jladd-mlnx
Copy link
Member

@yosefe Can we remove the DNM label?

@jsquyres
Copy link
Member

jsquyres commented Mar 8, 2017

I think it needs to pass Mellanox Jenkins, too. Otherwise, all future PRs will fail Mellanox Jenkins.

@jladd-mlnx
Copy link
Member

Looks like it's pulling in an older version of UCX that doesn't have the new flags defined.

@yosefe
Copy link
Contributor

yosefe commented Mar 8, 2017

right, we need to make sure it passes with Mellanox jenkins.

@yosefe yosefe merged commit 1a95633 into open-mpi:master Mar 9, 2017
@yosefe yosefe deleted the topic/sshmem_ucx branch March 9, 2017 10:58
@yosefe
Copy link
Contributor

yosefe commented Mar 9, 2017

@alex-mikheev pls pick to v2.1

@jladd-mlnx
Copy link
Member

jladd-mlnx commented Mar 9, 2017 via email

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.

7 participants