-
Notifications
You must be signed in to change notification settings - Fork 42
Link statically with custom jemalloc with disabled initial TLS #941
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
Link statically with custom jemalloc with disabled initial TLS #941
Conversation
b9c4aff to
1478d88
Compare
1478d88 to
48145aa
Compare
48145aa to
b024e53
Compare
e437bbf to
fd5bd4e
Compare
fd5bd4e to
ee811cb
Compare
|
There is still one issue:
|
I am testing the previous release of jemalloc (v5.2.1) now... |
5298b5e to
aed8c12
Compare
aed8c12 to
1a11bb9
Compare
Signed-off-by: Lukasz Dorau <[email protected]>
Link statically with custom jemalloc built from sources
with the following non-default options enabled:
--with-jemalloc-prefix=je_ - add je_ prefix to all public APIs
--disable-cxx - Disable C++ integration. This will cause new and delete
operators implementations to be omitted.
--disable-initial-exec-tls - Disable the initial-exec TLS model for jemalloc's
internal thread-local storage (on those platforms that support
explicit settings). This can allow jemalloc to be dynamically
loaded after program startup (e.g. using dlopen).
Fixes: oneapi-src#891
Fixes: oneapi-src#894
Fixes: oneapi-src#903
Signed-off-by: Lukasz Dorau <[email protected]>
1a11bb9 to
fe7aaff
Compare
63ecc30 to
2802736
Compare
benchmark/multithread.cpp
Outdated
| // ctest looks for "PASSED" in the output | ||
| std::cout << "PASSED" << std::endl; | ||
|
|
||
| #if defined(UMF_BUILD_LIBUMF_POOL_DISJOINT) |
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.
On L124 the following macro is used: #if defined(UMF_POOL_DISJOINT_ENABLED).
Please decide which is appropriate UMF_POOL_DISJOINT_ENABLED or UMF_BUILD_LIBUMF_POOL_DISJOINT and unify
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.
In our CMake files *_ENABLED = user set appropriate BUILD flag + all dependencies needed for build are satisfied so we actually can use given component.
@ldorau please use *_ENABLED in c/cpp files
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.
Done
vinser52
left a comment
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.
Please fix the remaining comment
2802736 to
cd4e7c2
Compare
cd4e7c2 to
003075f
Compare
Remove the separate static `jemalloc_pool` library. Make the `UMF_BUILD_LIBUMF_POOL_JEMALLOC` option turned ON by default. Incorporate jemalloc_pool into libumf. Signed-off-by: Lukasz Dorau <[email protected]>
003075f to
614c4b5
Compare
Description
Link statically with custom jemalloc built from sources
with the following non-default options enabled:
--with-jemalloc-prefix=je_- add je_ prefix to all public APIs--disable-cxx- Disable C++ integration. This will cause new and delete operators implementations to be omitted.--disable-initial-exec-tls- Disable the initial-exec TLS model for jemalloc's internal thread-local storage (on those platforms that support explicit settings). This can allow jemalloc to be dynamically loaded after program startup (e.g. usingdlopen()).Fixes: #891
Fixes: #894
Fixes: #903
Checklist