diff options
Diffstat (limited to 'src/allocators/tcmalloc')
| -rw-r--r-- | src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch | 26 | ||||
| -rw-r--r-- | src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch | 22 |
2 files changed, 48 insertions, 0 deletions
diff --git a/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch b/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch new file mode 100644 index 0000000..bdd63e3 --- /dev/null +++ b/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch @@ -0,0 +1,26 @@ +diff --git src/common.cc src/common.cc +index 203afdf..9257518 100644 +--- src/common.cc ++++ src/common.cc +@@ -79,7 +79,7 @@ int AlignmentForSize(size_t size) { + if (size > kMaxSize) { + // Cap alignment at kPageSize for large sizes. + alignment = kPageSize; +- } else if (size >= 128) { ++ } else if (size >= 512) { + // Space wasted due to alignment is at most 1/8, i.e., 12.5%. + alignment = (1 << LgFloor(size)) / 8; + } else if (size >= kMinAlign) { +diff --git a/src/common.h b/src/common.h +index cb45315..4131a13 100644 +--- src/common.h ++++ src/common.h +@@ -61,7 +61,7 @@ typedef uintptr_t Length; + // waste due alignment of 25%. (eg malloc of 24 bytes will get 32 bytes) + static const size_t kMinAlign = 8; + #else +-static const size_t kMinAlign = 16; ++static const size_t kMinAlign = 64; + #endif + + // Using large pages speeds up the execution at a cost of larger memory use. diff --git a/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch b/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch new file mode 100644 index 0000000..cdd2840 --- /dev/null +++ b/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch @@ -0,0 +1,22 @@ +diff --git tcmalloc/BUILD tcmalloc/BUILD +index 66d160e..25946af 100644 +--- tcmalloc/BUILD ++++ tcmalloc/BUILD +@@ -109,6 +109,17 @@ cc_library( + alwayslink = 1, + ) + ++# This library provides tcmalloc as shared object ++cc_binary( ++ name = "tcmalloc.so", ++ copts = TCMALLOC_DEFAULT_COPTS, ++ linkshared = 1, ++ linkstatic = 1, ++ deps = overlay_deps + tcmalloc_deps + [ ++ ":tcmalloc", ++ ] ++) ++ + # Provides tcmalloc always; use per-thread mode. + # + cc_library( |
