-
Notifications
You must be signed in to change notification settings - Fork 33
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
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 <lukasz.dorau@intel.com>
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 <lukasz.dorau@intel.com>
1a11bb9
to
fe7aaff
Compare
63ecc30
to
2802736
Compare
benchmark/multithread.cpp
Outdated
@@ -139,11 +139,13 @@ int main() { | |||
// 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
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 <lukasz.dorau@intel.com>
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