aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/tcmalloc
diff options
context:
space:
mode:
authoralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
committeralexv-smirnov <alex@ydb.tech>2023-06-13 11:05:01 +0300
commitbf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0 (patch)
tree1d1df72c0541a59a81439842f46d95396d3e7189 /contrib/libs/tcmalloc
parent8bfdfa9a9bd19bddbc58d888e180fbd1218681be (diff)
downloadydb-bf0f13dd39ee3e65092ba3572bb5b1fcd125dcd0.tar.gz
add ymake export to ydb
Diffstat (limited to 'contrib/libs/tcmalloc')
-rw-r--r--contrib/libs/tcmalloc/common.inc58
-rw-r--r--contrib/libs/tcmalloc/default/ya.make17
-rw-r--r--contrib/libs/tcmalloc/dynamic/ya.make1
-rw-r--r--contrib/libs/tcmalloc/malloc_extension/ya.make32
-rw-r--r--contrib/libs/tcmalloc/no_percpu_cache/ya.make24
-rw-r--r--contrib/libs/tcmalloc/numa_256k/ya.make23
-rw-r--r--contrib/libs/tcmalloc/numa_large_pages/ya.make23
-rw-r--r--contrib/libs/tcmalloc/small_but_slow/ya.make16
-rw-r--r--contrib/libs/tcmalloc/ya.make34
9 files changed, 228 insertions, 0 deletions
diff --git a/contrib/libs/tcmalloc/common.inc b/contrib/libs/tcmalloc/common.inc
new file mode 100644
index 0000000000..077942c387
--- /dev/null
+++ b/contrib/libs/tcmalloc/common.inc
@@ -0,0 +1,58 @@
+GLOBAL_SRCS(
+ # TCMalloc
+ tcmalloc/tcmalloc.cc
+
+ # Common Sources
+ tcmalloc/arena.cc
+ tcmalloc/background.cc
+ tcmalloc/central_freelist.cc
+ tcmalloc/common.cc
+ tcmalloc/cpu_cache.cc
+ tcmalloc/experimental_pow2_below64_size_class.cc
+ tcmalloc/experimental_pow2_size_class.cc
+ tcmalloc/legacy_size_classes.cc
+ tcmalloc/guarded_page_allocator.cc
+ tcmalloc/huge_address_map.cc
+ tcmalloc/huge_allocator.cc
+ tcmalloc/huge_cache.cc
+ tcmalloc/huge_page_aware_allocator.cc
+ tcmalloc/page_allocator.cc
+ tcmalloc/page_allocator_interface.cc
+ tcmalloc/page_heap.cc
+ tcmalloc/pagemap.cc
+ tcmalloc/parameters.cc
+ tcmalloc/peak_heap_tracker.cc
+ tcmalloc/sampler.cc
+ tcmalloc/size_classes.cc
+ tcmalloc/span.cc
+ tcmalloc/stack_trace_table.cc
+ tcmalloc/static_vars.cc
+ tcmalloc/stats.cc
+ tcmalloc/system-alloc.cc
+ tcmalloc/thread_cache.cc
+ tcmalloc/transfer_cache.cc
+
+ # Common deps
+ tcmalloc/experiment.cc
+ tcmalloc/noruntime_size_classes.cc
+
+ # Internal libraries
+ tcmalloc/internal/cache_topology.cc
+ tcmalloc/internal/environment.cc
+ tcmalloc/internal/logging.cc
+ tcmalloc/internal/memory_stats.cc
+ tcmalloc/internal/mincore.cc
+ tcmalloc/internal/numa.cc
+ tcmalloc/internal/percpu.cc
+ tcmalloc/internal/percpu_rseq_asm.S
+ tcmalloc/internal/percpu_rseq_unsupported.cc
+ tcmalloc/internal/util.cc
+)
+
+PEERDIR(
+ contrib/restricted/abseil-cpp
+ contrib/libs/tcmalloc/malloc_extension
+)
+
+NO_UTIL()
+NO_COMPILER_WARNINGS()
diff --git a/contrib/libs/tcmalloc/default/ya.make b/contrib/libs/tcmalloc/default/ya.make
new file mode 100644
index 0000000000..b610084ea6
--- /dev/null
+++ b/contrib/libs/tcmalloc/default/ya.make
@@ -0,0 +1,17 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+ALLOCATOR_IMPL()
+
+SRCDIR(contrib/libs/tcmalloc)
+
+INCLUDE(../common.inc)
+
+GLOBAL_SRCS(
+ # Options
+ tcmalloc/want_hpaa_subrelease.cc
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/dynamic/ya.make b/contrib/libs/tcmalloc/dynamic/ya.make
new file mode 100644
index 0000000000..9c008b201e
--- /dev/null
+++ b/contrib/libs/tcmalloc/dynamic/ya.make
@@ -0,0 +1 @@
+DLL_FOR(contrib/libs/tcmalloc tcmalloc)
diff --git a/contrib/libs/tcmalloc/malloc_extension/ya.make b/contrib/libs/tcmalloc/malloc_extension/ya.make
new file mode 100644
index 0000000000..a2044f60c2
--- /dev/null
+++ b/contrib/libs/tcmalloc/malloc_extension/ya.make
@@ -0,0 +1,32 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+
+NO_UTIL()
+
+NO_COMPILER_WARNINGS()
+
+# https://github.com/google/tcmalloc
+VERSION(2020-11-23-a643d89610317be1eff9f7298104eef4c987d8d5)
+
+SRCDIR(contrib/libs/tcmalloc)
+
+SRCS(
+ tcmalloc/malloc_extension.cc
+)
+
+PEERDIR(
+ contrib/restricted/abseil-cpp
+)
+
+ADDINCL(
+ GLOBAL contrib/libs/tcmalloc
+)
+
+CFLAGS(
+ -DTCMALLOC_256K_PAGES
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/no_percpu_cache/ya.make b/contrib/libs/tcmalloc/no_percpu_cache/ya.make
new file mode 100644
index 0000000000..cd57c6e24d
--- /dev/null
+++ b/contrib/libs/tcmalloc/no_percpu_cache/ya.make
@@ -0,0 +1,24 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+ALLOCATOR_IMPL()
+
+SRCDIR(contrib/libs/tcmalloc)
+
+GLOBAL_SRCS(
+ # Options
+ tcmalloc/want_hpaa.cc
+)
+
+INCLUDE(../common.inc)
+
+SRCS(aligned_alloc.c)
+
+CFLAGS(
+ -DTCMALLOC_256K_PAGES
+ -DTCMALLOC_DEPRECATED_PERTHREAD
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/numa_256k/ya.make b/contrib/libs/tcmalloc/numa_256k/ya.make
new file mode 100644
index 0000000000..89fe3f6788
--- /dev/null
+++ b/contrib/libs/tcmalloc/numa_256k/ya.make
@@ -0,0 +1,23 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+ALLOCATOR_IMPL()
+
+SRCDIR(contrib/libs/tcmalloc)
+
+INCLUDE(../common.inc)
+
+GLOBAL_SRCS(
+ # Options
+ tcmalloc/want_hpaa_subrelease.cc
+ tcmalloc/want_numa_aware.cc
+)
+
+CFLAGS(
+ -DTCMALLOC_256K_PAGES
+ -DTCMALLOC_NUMA_AWARE
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/numa_large_pages/ya.make b/contrib/libs/tcmalloc/numa_large_pages/ya.make
new file mode 100644
index 0000000000..56f658e3fa
--- /dev/null
+++ b/contrib/libs/tcmalloc/numa_large_pages/ya.make
@@ -0,0 +1,23 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+ALLOCATOR_IMPL()
+
+SRCDIR(contrib/libs/tcmalloc)
+
+INCLUDE(../common.inc)
+
+GLOBAL_SRCS(
+ # Options
+ tcmalloc/want_hpaa_subrelease.cc
+ tcmalloc/want_numa_aware.cc
+)
+
+CFLAGS(
+ -DTCMALLOC_LARGE_PAGES
+ -DTCMALLOC_NUMA_AWARE
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/small_but_slow/ya.make b/contrib/libs/tcmalloc/small_but_slow/ya.make
new file mode 100644
index 0000000000..19803e9070
--- /dev/null
+++ b/contrib/libs/tcmalloc/small_but_slow/ya.make
@@ -0,0 +1,16 @@
+LIBRARY()
+
+WITHOUT_LICENSE_TEXTS()
+
+LICENSE(Apache-2.0)
+ALLOCATOR_IMPL()
+
+SRCDIR(contrib/libs/tcmalloc)
+
+INCLUDE(../common.inc)
+
+CFLAGS(
+ -DTCMALLOC_SMALL_BUT_SLOW
+)
+
+END()
diff --git a/contrib/libs/tcmalloc/ya.make b/contrib/libs/tcmalloc/ya.make
new file mode 100644
index 0000000000..589a2a097c
--- /dev/null
+++ b/contrib/libs/tcmalloc/ya.make
@@ -0,0 +1,34 @@
+LIBRARY()
+
+LICENSE(Apache-2.0)
+
+LICENSE_TEXTS(.yandex_meta/licenses.list.txt)
+ALLOCATOR_IMPL()
+
+# https://github.com/google/tcmalloc
+VERSION(2021-10-04-45c59ccbc062ac96d83710205033c656e490d376)
+
+SRCS(
+ # Options
+ tcmalloc/want_hpaa.cc
+)
+
+INCLUDE(common.inc)
+
+CFLAGS(
+ -DTCMALLOC_256K_PAGES
+)
+
+END()
+
+IF (NOT DLL_FOR)
+ RECURSE(
+ default
+ dynamic
+ malloc_extension
+ no_percpu_cache
+ numa_256k
+ numa_large_pages
+ small_but_slow
+ )
+ENDIF()