Skip to content
This repository was archived by the owner on Sep 30, 2022. It is now read-only.

v2.x mpool rewrite rollup #1046

Closed
wants to merge 12 commits into from
Closed

Conversation

hjelmn
Copy link
Member

@hjelmn hjelmn commented Mar 25, 2016

:bot:milestone:v2.1.0
:bot🏷️enhancement
:bot:assign: @bosilca

This PR may take a could of iterations before it is ready for 2.1.0.

vvenkates27 and others added 10 commits March 24, 2016 20:29
This means we need not check for jemalloc in the configure script for
this component. Removing this.

In some machines having the TLS option on can cause errors in
opening this component. --disable-tls while configuring jemalloc.
Please look for instructions for installing jemalloc as a static
library linked directly into memkind in CONTRIBUTING file
github.com/memkind/memkindw

(cherry picked from commit open-mpi/ompi@8024142)
Signed-off-by: Nathan Hjelm <[email protected]>
This commit rewrites both the mpool and rcache frameworks. Summary of
changes:

 - Before this change a significant portion of the rcache
   functionality lived in mpool components. This meant that it was
   impossible to add a new memory pool to use with rdma networks
   (ugni, openib, etc) without duplicating the functionality of an
   existing mpool component. All the registration functionality has
   been removed from the mpool and placed in the rcache framework.

 - All registration cache mpools components (udreg, grdma, gpusm,
   rgpusm) have been changed to rcache components. rcaches are
   allocated and released in the same way mpool components were.

 - It is now valid to pass NULL as the resources argument when
   creating an rcache. At this time the gpusm and rgpusm components
   support this. All other rcache components require non-NULL
   resources.

 - A new mpool component has been added: hugepage. This component
   supports huge page allocations on linux.

 - Memory pools are now allocated using "hints". Each mpool component
   is queried with the hints and returns a priority. The current hints
   supported are NULL (uses posix_memalign/malloc), page_size=x (huge
   page mpool), and mpool=x.

 - The sm mpool has been moved to common/sm. This reflects that the sm
   mpool is specialized and not meant for any general
   allocations. This mpool may be moved back into the mpool framework
   if there is any objection.

 - The opal_free_list_init arguments have been updated. The unused0
   argument is not used to pass in the registration cache module. The
   mpool registration flags are now rcache registration flags.

 - All components have been updated to make use of the new framework
   interfaces.

As this commit makes significant changes to both the mpool and rcache
frameworks both versions have been bumped to 3.0.0.

Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@d4afb16)
Signed-off-by: Nathan Hjelm <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@69d9266)
Signed-off-by: Nathan Hjelm <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@522c2f2)
Signed-off-by: Nathan Hjelm <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@eac0b11)
Signed-off-by: Nathan Hjelm <[email protected]>
This typo was originally fixed on the mpool_rewrite branch but the change
was lost.

Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@cbce085)
Fix CID 1356358:  Null pointer dereferences  (REVERSE_INULL):

flist->fl_mpool can no longer be NULL. Removed the conditional.

Fix CID 1356357:  Resource leaks  (RESOURCE_LEAK):

Added the call to free the hints array.

Fix CID 1356356:  Resource leaks  (RESOURCE_LEAK):

This is a false error but it is safe to call close (-1) so just always
call close.

Fix CID 1356354:  Control flow issues  (MISSING_BREAK):
Fix CID 1356353:  Control flow issues  (MISSING_BREAK):

Add comments that indicate the fall-through is intentional.

Fix CID 1356351:  Null pointer dereferences  (FORWARD_NULL):

Fix potential SEGV if the page_size key is malformed.

Fix CID 1356350:  Error handling issues  (CHECKED_RETURN):

Add (void) to indicate that we do not care about the return code of
sscanf in this case.

Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@852cc8c)
This commit brings the scif btl up to date with changes made on master
to rework the mpool and rcache frameworks.

Signed-off-by: Nathan Hjelm <[email protected]>
(cherry picked from commit open-mpi/ompi@478feaf)
(cherry picked from commit open-mpi/ompi@ab8008e)
Signed-off-by: Nathan Hjelm <[email protected]>
@ompiteam-bot
Copy link

OMPIBot error: User v2.1.0 is not valid for issue 1046.

@mellanox-github
Copy link

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ompi-release-pr/1473/ for details.

@hjelmn
Copy link
Member Author

hjelmn commented Mar 25, 2016

:bot:milestone:v2.1.0

@ompiteam-bot ompiteam-bot added this to the v2.1.0 milestone Mar 25, 2016
@hppritcha
Copy link
Member

hppritcha commented Apr 18, 2016

see open-mpi/ompi#1546 before merging this in.

@hjelmn
Copy link
Member Author

hjelmn commented Apr 18, 2016

Yup. Will add that commit today.

hjelmn added 2 commits April 19, 2016 12:01
Fixes #1545

Signed-off-by: Nathan Hjelm <[email protected]>

(cherry picked from open-mpi/ompi@9046424)

Signed-off-by: Nathan Hjelm <[email protected]>
Signed-off-by: Nathan Hjelm <[email protected]>

(cherry picked from open-mpi/ompi@16c2839)

Signed-off-by: Nathan Hjelm <[email protected]>
@mellanox-github
Copy link

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ompi-release-pr/1533/ for details.

@artpol84
Copy link
Contributor

artpol84 commented Aug 6, 2016

bot:mellanox:retest

@mellanox-github
Copy link

Test PASSed.
See http://bgate.mellanox.com/jenkins/job/gh-ompi-release-pr/2051/ for details.

@hjelmn
Copy link
Member Author

hjelmn commented Aug 16, 2016

This needs to be rebased. Will do so once the ompi-release and ompi repos have been merged.

@hjelmn hjelmn closed this Aug 16, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants