Skip to content

Master: new thread-specific-data (tsd) api #7936

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

Merged
merged 4 commits into from
Jul 24, 2020

Conversation

janjust
Copy link
Contributor

@janjust janjust commented Jul 14, 2020

This PR adds a new opal/thread/tsd API interface that avoids storing keys in a global structure.
Instead we introduce 2 types of API:

  • Low-level, close to the thread primitives
  • Convenience API that keeps track of all allocated TLS’s and ensures their proper cleanup

The user of the convenience API is responsible of calling the destruction explicitly instead of relying on MPI_Finalize (as it happens currently).

We also update/fix existing usages of the old API to retain functionality.

As is, this compiles, but hasn't been tested.
It's here to advance the discussion regarding the opal thread api changes that we're proposing.
I will be closing #7877 in favor of this PR.

@ibm-ompi
Copy link

The IBM CI (GNU/Scale) build failed! Please review the log, linked below.

Gist: https://gist.github.com/925c3fbc0ca22abcb96bfbdde1f93038

@ibm-ompi
Copy link

The IBM CI (XL) build failed! Please review the log, linked below.

Gist: https://gist.github.com/60f22560db54b89ec2d79100f3f6faf9

@ibm-ompi
Copy link

The IBM CI (PGI) build failed! Please review the log, linked below.

Gist: https://gist.github.com/f6f99e857a576b69886b24b9cc50e304

@janjust janjust changed the title Master new tsd thread api Master: new thread-specific-data (tsd) api Jul 14, 2020
@artpol84 artpol84 requested review from bosilca and hppritcha July 14, 2020 14:53
@janjust janjust force-pushed the master-new-tsd-thread-api branch from 0132c13 to 4e7f9c1 Compare July 14, 2020 15:14
@ibm-ompi
Copy link

The IBM CI (GNU/Scale) build failed! Please review the log, linked below.

Gist: https://gist.github.com/5d174a978a7743ea2b18192f0dc208c2

@ibm-ompi
Copy link

The IBM CI (XL) build failed! Please review the log, linked below.

Gist: https://gist.github.com/1adbed4c69b0dfe754ffaddc956606bf

@ibm-ompi
Copy link

The IBM CI (PGI) build failed! Please review the log, linked below.

Gist: https://gist.github.com/4e1d191589fcb5d5c1e6dca1d58d459f

@janjust janjust force-pushed the master-new-tsd-thread-api branch from 4e7f9c1 to dd7fabb Compare July 14, 2020 22:01
@ibm-ompi
Copy link

The IBM CI (GNU/Scale) build failed! Please review the log, linked below.

Gist: https://gist.github.com/84c7d85a1f8b8ab3224789dce3b62f5a

@ibm-ompi
Copy link

The IBM CI (XL) build failed! Please review the log, linked below.

Gist: https://gist.github.com/70da53d41c63516b9c4c837284c4a4ad

@ibm-ompi
Copy link

The IBM CI (PGI) build failed! Please review the log, linked below.

Gist: https://gist.github.com/e3c073babee2bd482b15c35fddefa398

@janjust janjust force-pushed the master-new-tsd-thread-api branch from dd7fabb to 86f837f Compare July 15, 2020 03:18
@janjust
Copy link
Contributor Author

janjust commented Jul 15, 2020

bot:retest

@janjust janjust force-pushed the master-new-tsd-thread-api branch 3 times, most recently from 9a1c4b7 to 852adc3 Compare July 15, 2020 17:01
@artpol84
Copy link
Contributor

bot:ompi:retest

@janjust
Copy link
Contributor Author

janjust commented Jul 16, 2020

bot:retest

@artpol84
Copy link
Contributor

Looking closely, it's IPv6.
We are looking into that.

@janjust janjust force-pushed the master-new-tsd-thread-api branch from 852adc3 to 6de1faf Compare July 16, 2020 19:56
@artpol84
Copy link
Contributor

artpol84 commented Jul 16, 2020

@bosilca @hppritcha please have a look and approve if OK.
We have now cleared all the CI issues.

@artpol84
Copy link
Contributor

P.S. Sorry for the type in the prev comment: "not cleared" = "now cleared"

@janjust janjust force-pushed the master-new-tsd-thread-api branch from 6de1faf to 59403de Compare July 17, 2020 15:28
@janjust
Copy link
Contributor Author

janjust commented Jul 17, 2020

Just fyi - forced push after finding a potential bug, and reverted key type from pointer back to static.

@janjust janjust force-pushed the master-new-tsd-thread-api branch from 59403de to 59aff0d Compare July 17, 2020 19:27
@janjust janjust force-pushed the master-new-tsd-thread-api branch from 59aff0d to 708bdde Compare July 17, 2020 22:48
@artpol84
Copy link
Contributor

artpol84 commented Jul 24, 2020

@janjust please rebase to resolve the conflict.
I think it is ok to merge afterward

Tomislav Janjusic and others added 4 commits July 24, 2020 18:29
Co-authored-by: Artem Polyakov <[email protected]>
Signed-off-by: Tomislav Janjusic <[email protected]>
Co-authored by: Artem Polykaov <[email protected]>

Signed-off-by: Tomislav Janjusic <[email protected]>
Co-authored by: Artem Polykaov <[email protected]>
Signed-off-by: Tomislav Janjusic <[email protected]>
Co-authored by: Artem Polykaov <[email protected]>

Signed-off-by: Tomislav Janjusic <[email protected]>
@janjust janjust force-pushed the master-new-tsd-thread-api branch from 708bdde to d809f6b Compare July 24, 2020 15:41
@janjust
Copy link
Contributor Author

janjust commented Jul 24, 2020

@artpol84 done

@artpol84 artpol84 merged commit e5ef80f into open-mpi:master Jul 24, 2020
@janjust janjust deleted the master-new-tsd-thread-api branch March 27, 2025 02:02
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.

4 participants