aboutsummaryrefslogtreecommitdiff
path: root/src/allocators
diff options
context:
space:
mode:
Diffstat (limited to 'src/allocators')
-rw-r--r--src/allocators/BA_allocators.py24
-rw-r--r--src/allocators/__init__.py17
-rw-r--r--src/allocators/bumpptr.py29
-rw-r--r--src/allocators/chattymalloc.py52
-rw-r--r--src/allocators/glibc.py67
-rw-r--r--src/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch30
-rw-r--r--src/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch33
-rw-r--r--src/allocators/hoard.py41
-rw-r--r--src/allocators/jemalloc.py41
-rw-r--r--src/allocators/llalloc.py42
-rw-r--r--src/allocators/malt.py28
-rw-r--r--src/allocators/mesh.py40
-rw-r--r--src/allocators/mimalloc.py38
-rw-r--r--src/allocators/no_falsesharing.py25
-rw-r--r--src/allocators/paper.py33
-rw-r--r--src/allocators/rpmalloc.py40
-rw-r--r--src/allocators/scalloc.py55
-rw-r--r--src/allocators/scalloc/scalloc_fix_log.patch35
-rw-r--r--src/allocators/snmalloc.py40
-rw-r--r--src/allocators/speedymalloc.py87
-rw-r--r--src/allocators/streamflow.py41
-rw-r--r--src/allocators/supermalloc.py42
-rw-r--r--src/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch13
-rw-r--r--src/allocators/tbbmalloc.py38
-rw-r--r--src/allocators/tcmalloc.py90
-rw-r--r--src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch26
-rw-r--r--src/allocators/tcmalloc/tcmalloc_2.7_no_active_falsesharing.patch17
-rw-r--r--src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch22
28 files changed, 0 insertions, 1086 deletions
diff --git a/src/allocators/BA_allocators.py b/src/allocators/BA_allocators.py
deleted file mode 100644
index 9c11873..0000000
--- a/src/allocators/BA_allocators.py
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Collection containing all allocators used in Florian's BA thesis"""
-
-from src.allocators.glibc import glibc, glibc_notc
-from src.allocators.tcmalloc import tcmalloc
-from src.allocators.jemalloc import jemalloc
-from src.allocators.hoard import hoard
-
-allocators = [glibc, glibc_notc, tcmalloc, jemalloc, hoard]
diff --git a/src/allocators/__init__.py b/src/allocators/__init__.py
deleted file mode 100644
index d5c6419..0000000
--- a/src/allocators/__init__.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""allocbench allocator definitions"""
diff --git a/src/allocators/bumpptr.py b/src/allocators/bumpptr.py
deleted file mode 100644
index 9165352..0000000
--- a/src/allocators/bumpptr.py
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Bumpptr allocator
-
-The bumpptr allocator makes the biggest possible tradeoff between speed and
-memory in speeds favor. Memory is mmapped per thread and never freed.
-See src/bumpptr.c for the actual implementation.
-"""
-
-import os
-from src.allocator import Allocator, BUILDDIR
-
-bumpptr = Allocator("bumpptr",
- LD_PRELOAD=os.path.join(BUILDDIR, "bumpptr_alloc.so"),
- color="xkcd:black")
diff --git a/src/allocators/chattymalloc.py b/src/allocators/chattymalloc.py
deleted file mode 100644
index ff4a3ba..0000000
--- a/src/allocators/chattymalloc.py
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2018-2020 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""chattymalloc allocator
-
-This shared library is not a functional allocator. It is used to trace
-the allocator usage and the executed program. It overrides the malloc API
-and saves each call and its result to a memory mapped output file.
-"""
-
-import os
-
-from src.artifact import GitArtifact
-from src.allocator import Allocator
-
-VERSION = "1a09b144eb18919014ecf86da3442344b0eaa5b2"
-
-class Chattymalloc(Allocator):
- """Chattymalloc definition for allocbench"""
-
- sources = GitArtifact("chattymalloc",
- "https://github.com/fischerling/chattymalloc")
-
- def __init__(self, name, **kwargs):
-
- configuration = "--buildtype=release "
- for option, value in kwargs.get("options", {}).items():
- configuration += f"-D{option}={value} "
-
- self.build_cmds = [
- f"meson {{srcdir}} {{dir}} {configuration}", "ninja -C {dir}"
- ]
-
- self.LD_PRELOAD = "{dir}/libchattymalloc.so"
- self.cmd_prefix="env CHATTYMALLOC_FILE={{result_dir}}/{{perm}}.trace"
- super().__init__(name, **kwargs)
-
-
-chattymalloc = Chattymalloc("chattymalloc", version=VERSION)
diff --git a/src/allocators/glibc.py b/src/allocators/glibc.py
deleted file mode 100644
index 5d2814d..0000000
--- a/src/allocators/glibc.py
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Glibc definitions"""
-
-from multiprocessing import cpu_count
-
-from src.allocator import Allocator, LIBRARY_PATH
-from src.artifact import GitArtifact
-
-
-class Glibc(Allocator):
- """Glibc definition for allocbench
-
- Glibcs are loaded using their own supplied loader"""
-
- sources = GitArtifact("glibc", "git://sourceware.org/git/glibc.git")
-
- def __init__(self, name, **kwargs):
- configure_args = ""
- if "configure_args" in kwargs:
- configure_args = kwargs["configure_args"]
- del kwargs["configure_args"]
-
- self.build_cmds = [
- "mkdir -p glibc-build",
- "cd glibc-build; {srcdir}/configure --prefix={dir} " +
- configure_args, "cd glibc-build; make",
- f"cd glibc-build; make -l {cpu_count()} install"
- ]
-
- self.cmd_prefix = "{dir}/lib/ld-linux-x86-64.so.2 --library-path {dir}/lib:" + LIBRARY_PATH
-
- super().__init__(name, **kwargs)
-
-
-glibc = Glibc("glibc", version="glibc-2.29", color="xkcd:red")
-
-glibc_notc = Glibc("glibc-noThreadCache",
- configure_args="--disable-experimental-malloc",
- version="glibc-2.29",
- color="xkcd:maroon")
-
-glibc_nofs = Glibc(
- "glibc-noFalsesharing",
- patches=["{patchdir}/glibc_2.29_no_passive_falsesharing.patch"],
- version="glibc-2.29",
- color="xkcd:pink")
-
-glibc_nofs_fancy = Glibc(
- "glibc-noFalsesharingClever",
- patches=["{patchdir}/glibc_2.29_no_passive_falsesharing_fancy.patch"],
- version="glibc-2.29",
- color="xkcd:orange")
diff --git a/src/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch b/src/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch
deleted file mode 100644
index becbfda..0000000
--- a/src/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git malloc/malloc.c malloc/malloc.c
-index 0abd653be2..eaefd3bd7c 100644
---- malloc/malloc.c
-+++ malloc/malloc.c
-@@ -4194,6 +4194,9 @@ _int_free (mstate av, mchunkptr p, int have_lock)
-
- #if USE_TCACHE
- {
-+ /* Check if chunk is from our own arena. */
-+ if (av == thread_arena)
-+ {
- size_t tc_idx = csize2tidx (size);
- if (tcache != NULL && tc_idx < mp_.tcache_bins)
- {
-@@ -4223,6 +4226,7 @@ _int_free (mstate av, mchunkptr p, int have_lock)
- return;
- }
- }
-+ }
- }
- #endif
-
-@@ -4997,6 +5001,7 @@ __malloc_stats (void)
- memset (&mi, 0, sizeof (mi));
- __libc_lock_lock (ar_ptr->mutex);
- int_mallinfo (ar_ptr, &mi);
-+ fprintf (stderr, "false sharing path by muhq\n");
- fprintf (stderr, "Arena %d:\n", i);
- fprintf (stderr, "system bytes = %10u\n", (unsigned int) mi.arena);
- fprintf (stderr, "in use bytes = %10u\n", (unsigned int) mi.uordblks);
diff --git a/src/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch b/src/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch
deleted file mode 100644
index 480d072..0000000
--- a/src/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git malloc/malloc.c malloc/malloc.c
-index 0abd653be2..71b2d433ba 100644
---- malloc/malloc.c
-+++ malloc/malloc.c
-@@ -4194,6 +4194,12 @@ _int_free (mstate av, mchunkptr p, int have_lock)
-
- #if USE_TCACHE
- {
-+ /* Check if chunk is from our own arena or false sharing is not possible
-+ because the chunk is cache line aligned and it's size is a multiple
-+ of a cacheline */
-+ if (av == thread_arena
-+ || (((size_t)p & 63) == 0 && ((size + 2*SIZE_SZ) % 64) == 0))
-+ {
- size_t tc_idx = csize2tidx (size);
- if (tcache != NULL && tc_idx < mp_.tcache_bins)
- {
-@@ -4223,6 +4229,7 @@ _int_free (mstate av, mchunkptr p, int have_lock)
- return;
- }
- }
-+ }
- }
- #endif
-
-@@ -4997,6 +5004,7 @@ __malloc_stats (void)
- memset (&mi, 0, sizeof (mi));
- __libc_lock_lock (ar_ptr->mutex);
- int_mallinfo (ar_ptr, &mi);
-+ fprintf (stderr, "fancy false sharing patch by muhq");
- fprintf (stderr, "Arena %d:\n", i);
- fprintf (stderr, "system bytes = %10u\n", (unsigned int) mi.arena);
- fprintf (stderr, "in use bytes = %10u\n", (unsigned int) mi.uordblks);
diff --git a/src/allocators/hoard.py b/src/allocators/hoard.py
deleted file mode 100644
index 5d0c2ce..0000000
--- a/src/allocators/hoard.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Hoard allocator definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Hoard(Allocator):
- """Hoard allocator"""
-
- sources = GitArtifact("Hoard", "https://github.com/emeryberger/Hoard.git")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libhoard.so"
- self.build_cmds = [
- "cd {srcdir}/src; make", "mkdir -p {dir}",
- "ln -f -s {srcdir}/src/libhoard.so {dir}/libhoard.so"
- ]
- self.requirements = ["clang"]
-
- super().__init__(name, **kwargs)
-
-
-hoard = Hoard("Hoard",
- version="aa6d31700d5368a9f5ede3d62731247c8d9f0ebb",
- color="xkcd:brown")
diff --git a/src/allocators/jemalloc.py b/src/allocators/jemalloc.py
deleted file mode 100644
index ab2528b..0000000
--- a/src/allocators/jemalloc.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""jemalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Jemalloc(Allocator):
- """jemalloc allocator"""
-
- sources = GitArtifact("jemalloc",
- "https://github.com/jemalloc/jemalloc.git")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libjemalloc.so"
- self.prepare_cmds = ["./autogen.sh"]
- self.build_cmds = [
- "cd {srcdir}; ./configure --prefix={dir}", "cd {srcdir}; make -j4",
- "mkdir -p {dir}",
- "ln -f -s {srcdir}/lib/libjemalloc.so {dir}/libjemalloc.so"
- ]
-
- super().__init__(name, **kwargs)
-
-
-jemalloc = Jemalloc("jemalloc", version="5.1.0", color="xkcd:yellow")
diff --git a/src/allocators/llalloc.py b/src/allocators/llalloc.py
deleted file mode 100644
index d3c5288..0000000
--- a/src/allocators/llalloc.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Lockless allocator definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import ArchiveArtifact
-
-
-class LocklessAllocator(Allocator):
- """Lockless allocator"""
- def __init__(self, name, **kwargs):
-
- self.sources = ArchiveArtifact(
- "llalloc",
- "https://locklessinc.com/downloads/lockless_allocator_src.tgz",
- "tar", "c6cb5a57882fa4775b5227a322333a6126b61f7c")
-
- self.build_cmds = [
- "cd {srcdir}/lockless_allocator; make", "mkdir -p {dir}",
- "ln -f -s {srcdir}/lockless_allocator/libllalloc.so.1.3 {dir}/libllalloc.so"
- ]
-
- self.LD_PRELOAD = "{dir}/libllalloc.so"
-
- super().__init__(name, **kwargs)
-
-
-llalloc = LocklessAllocator("llalloc", color="purple")
diff --git a/src/allocators/malt.py b/src/allocators/malt.py
deleted file mode 100644
index 8613145..0000000
--- a/src/allocators/malt.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""malt allocator definition
-
-Malt is a malloc tracker and used to capture and analyse the allocation profile
-of a program. See https://github.com/memtt/malt for more details
-"""
-
-from src.allocator import Allocator
-
-# result_dir and perm are substituted during Benchmark.run
-malt = Allocator(
- "malt",
- cmd_prefix="malt -q -o output:name={{result_dir}}/malt.{{perm}}.%3")
diff --git a/src/allocators/mesh.py b/src/allocators/mesh.py
deleted file mode 100644
index 4d99f4d..0000000
--- a/src/allocators/mesh.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Mesh definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Mesh(Allocator):
- """Mesh allocator"""
-
- sources = GitArtifact("Mesh", "https://github.com/plasma-umass/Mesh")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libmesh.so"
- self.build_cmds = [
- "cd {srcdir}; ./configure", "cd {srcdir}; make -j 4",
- "mkdir -p {dir}", "ln -f -s {srcdir}/libmesh.so {dir}/libmesh.so"
- ]
-
- super().__init__(name, **kwargs)
-
-
-mesh = Mesh("Mesh",
- version="4a1012cee990cb98cc1ea0294a836f467b29be02",
- color="xkcd:mint")
diff --git a/src/allocators/mimalloc.py b/src/allocators/mimalloc.py
deleted file mode 100644
index 6801191..0000000
--- a/src/allocators/mimalloc.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""mimalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Mimalloc(Allocator):
- """mimalloc allocator"""
-
- sources = GitArtifact("mimalloc", "https://github.com/microsoft/mimalloc")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libmimalloc.so"
- self.build_cmds = [
- "mkdir -p {dir}", "cd {dir}; cmake {srcdir}", "cd {dir}; make"
- ]
- self.requirements = ["cmake"]
-
- super().__init__(name, **kwargs)
-
-
-mimalloc = Mimalloc("mimalloc", version="v1.6.0")
diff --git a/src/allocators/no_falsesharing.py b/src/allocators/no_falsesharing.py
deleted file mode 100644
index 77310b3..0000000
--- a/src/allocators/no_falsesharing.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Collection containing all no falsesahring patches"""
-
-from src.allocators.tcmalloc import tcmalloc_gperftools, tcmalloc_gperftools_nofs
-from src.allocators.glibc import glibc, glibc_nofs, glibc_nofs_fancy
-
-allocators = [
- glibc, glibc_nofs, glibc_nofs_fancy, tcmalloc_gperftools,
- tcmalloc_gperftools_nofs
-]
diff --git a/src/allocators/paper.py b/src/allocators/paper.py
deleted file mode 100644
index 3f36be9..0000000
--- a/src/allocators/paper.py
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Collection containing all available allocators"""
-
-from src.allocators.glibc import glibc
-from src.allocators.tcmalloc import tcmalloc, tcmalloc_align, tcmalloc_gperftools, tcmalloc_gperftools_align
-from src.allocators.jemalloc import jemalloc
-from src.allocators.scalloc import scalloc
-from src.allocators.llalloc import llalloc
-from src.allocators.tbbmalloc import tbbmalloc
-from src.allocators.mimalloc import mimalloc
-from src.allocators.bumpptr import bumpptr
-from src.allocators.speedymalloc import speedymalloc
-
-allocators = [
- glibc, tcmalloc, tcmalloc_align, tcmalloc_gperftools,
- tcmalloc_gperftools_align, jemalloc, llalloc, mimalloc, bumpptr,
- speedymalloc
-]
diff --git a/src/allocators/rpmalloc.py b/src/allocators/rpmalloc.py
deleted file mode 100644
index c27f244..0000000
--- a/src/allocators/rpmalloc.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""rpmalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Rpmalloc(Allocator):
- """rpmalloc allocator"""
-
- sources = GitArtifact("rpmalloc", "https://github.com/mjansson/rpmalloc")
-
- def __init__(self, name, **kwargs):
-
- self.LD_PRELOAD = "{dir}/librpmalloc.so"
- self.build_cmds = [
- "cd {srcdir}; ./configure.py", "cd {srcdir}; ninja",
- "mkdir -p {dir}",
- 'ln -f -s $(find {srcdir}/bin -path "*release*librpmalloc.so") {dir}/librpmalloc.so'
- ]
-
- super().__init__(name, **kwargs)
-
-
-rpmalloc = Rpmalloc("rpmalloc", color="xkcd:chestnut", version="1.4.0")
diff --git a/src/allocators/scalloc.py b/src/allocators/scalloc.py
deleted file mode 100644
index c071f22..0000000
--- a/src/allocators/scalloc.py
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Scalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Scalloc(Allocator):
- """Scalloc allocator"""
-
- sources = GitArtifact("scalloc",
- "https://github.com/cksystemsgroup/scalloc")
-
- def __init__(self, name, **kwargs):
- self.prepare_cmds = [
- "tools/make_deps.sh", "build/gyp/gyp --depth=. scalloc.gyp"
- ]
-
- self.build_cmds = [
- "cd {srcdir}; BUILDTYPE=Release make", "mkdir -p {dir}"
- ]
-
- self.LD_PRELOAD = "{srcdir}/out/Release/lib.target/libscalloc.so"
-
- self.patches = ["{patchdir}/scalloc_fix_log.patch"]
-
- super().__init__(name, **kwargs)
-
- def build(self):
- with open("/proc/sys/vm/overcommit_memory", "r") as f:
- if f.read()[0] != "1":
- raise AssertionError("""\
-vm.overcommit_memory not set
-Scalloc needs permission to overcommit_memory.
-sysctl vm.overcommit_memory=1
-""")
- return super().build()
-
-
-scalloc = Scalloc("scalloc", color="xkcd:magenta", version="v1.0.0")
diff --git a/src/allocators/scalloc/scalloc_fix_log.patch b/src/allocators/scalloc/scalloc_fix_log.patch
deleted file mode 100644
index 9d4a7d8..0000000
--- a/src/allocators/scalloc/scalloc_fix_log.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git src/log.h src/log.h
-index 3edc36d..e1d181c 100644
---- src/log.h
-+++ src/log.h
-@@ -46,13 +46,13 @@ inline void LogPrintf(
-
- snprintf(line_buffer, sizeof(line_buffer), "%d", line);
- // Start with "__FILENAME__:__LINE__ ".
-- strncat(buffer, file, strlen(file));
-+ strncat(buffer, file, rest);
- rest -= strlen(file);
-- strncat(buffer, ":", 1);
-+ strncat(buffer, ":", rest);
- rest -= 1;
-- strncat(buffer, line_buffer, strlen(line_buffer));
-+ strncat(buffer, line_buffer, rest);
- rest -= strlen(line_buffer);
-- strncat(buffer, " ", 1);
-+ strncat(buffer, " ", rest);
- rest -= 1;
-
- // Sanity check.
-@@ -69,10 +69,10 @@ inline void LogPrintf(
- // For copying the suffix we need actual rest value again.
- strncpy(rest_start + (rest - strlen(truncate_suffix)),
- truncate_suffix,
-- strlen(truncate_suffix));
-+ rest);
- }
-
-- strncat(buffer, "\n", 1);
-+ strncat(buffer, "\n", rest);
-
- // Sanity check.
- if (buffer[kLogLen-1] != 0) {
diff --git a/src/allocators/snmalloc.py b/src/allocators/snmalloc.py
deleted file mode 100644
index 2c5dfa8..0000000
--- a/src/allocators/snmalloc.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Snmalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Snmalloc(Allocator):
- """snmalloc allocator"""
-
- sources = GitArtifact("snmalloc", "https://github.com/microsoft/snmalloc")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libsnmallocshim.so"
- self.build_cmds = [
- "mkdir -p {dir}",
- "cd {dir}; cmake -G Ninja {srcdir} -DCMAKE_BUILD_TYPE=Release",
- "cd {dir}; ninja"
- ]
- self.requirements = ["cmake", "ninja", "clang"]
-
- super().__init__(name, **kwargs)
-
-
-snmalloc = Snmalloc("snmalloc", version="0.2")
diff --git a/src/allocators/speedymalloc.py b/src/allocators/speedymalloc.py
deleted file mode 100644
index 6fe202a..0000000
--- a/src/allocators/speedymalloc.py
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2018-2020 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench. If not, see <http://www.gnu.org/licenses/>.
-"""Speedymalloc
-
-Speedymalloc is a cached bump pointer allocator.
-A bump pointer allocator makes the biggest possible tradeoff between speed and
-memory in speeds favor. Memory is mmapped per thread and never freed.
-"""
-
-from src.artifact import GitArtifact
-from src.allocator import Allocator
-
-VERSION = "dd24b9d24c78c798df97ca5556ba248ccff97ca7"
-
-
-class Speedymalloc(Allocator):
- """Speedymalloc definition for allocbench"""
-
- sources = GitArtifact("speedymalloc",
- "https://gitlab.cs.fau.de/flow/speedymalloc.git")
-
- def __init__(self, name, **kwargs):
-
- configuration = "--buildtype=release "
- for option, value in kwargs.get("options", {}).items():
- configuration += f"-D{option}={value} "
-
- self.build_cmds = [
- f"meson {{srcdir}} {{dir}} {configuration}", "ninja -C {dir}"
- ]
-
- self.LD_PRELOAD = "{dir}/libspeedymalloc.so"
- super().__init__(name, **kwargs)
-
-
-speedymalloc = Speedymalloc("speedymalloc", version=VERSION)
-
-speedymalloc_no_madv_free = Speedymalloc("speedymalloc_no_madv_free",
- options={"madvise_free": "false"},
- version=VERSION)
-
-speedymalloc_no_madv_willneed = Speedymalloc(
- "speedymalloc_no_madv_willneed",
- options={"madvise_willneed": "false"},
- version=VERSION)
-
-speedymalloc_4095_sc_32 = Speedymalloc("speedymalloc_4095_sc_32",
- options={
- "cache_bins": 4095,
- "cache_bin_seperation": 32
- },
- version=VERSION)
-
-speedymalloc_4095_sc_128 = Speedymalloc("speedymalloc_4095_sc_128",
- options={
- "cache_bins": 4095,
- "cache_bin_seperation": 128
- },
- version=VERSION)
-
-speedymalloc_only_glab = Speedymalloc(
- "speedymalloc_only_glab",
- options={"max_local_allocation_buffer_size": 0},
- version=VERSION)
-
-speedymalloc_no_glab = Speedymalloc(
- "speedymalloc_no_glab",
- options={"max_local_allocation_buffer_size": -1},
- version=VERSION)
-
-# speedymalloc_rseq = Speedymalloc(
- # "speedymalloc_rseq",
- # version="e1549fa2a2833deba0ba53504a6c67ee31a0e42a")
diff --git a/src/allocators/streamflow.py b/src/allocators/streamflow.py
deleted file mode 100644
index 3b04a21..0000000
--- a/src/allocators/streamflow.py
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""Streamflow allocator definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class Streamflow(Allocator):
- """Streamflow allocator"""
-
- sources = GitArtifact("streamflow", "https://github.com/scotts/streamflow")
-
- def __init__(self, name, **kwargs):
-
- self.LD_PRELOAD = "{dir}/libstreamflow.so"
- self.build_cmds = [
- "cd {srcdir}; make", "mkdir -p {dir}",
- "ln -f -s {srcdir}/libstreamflow.so {dir}/libstreamflow.so"
- ]
-
- super().__init__(name, **kwargs)
-
-
-streamflow = Streamflow("Streamflow",
- version="8ac345c0f69ec9e7af02f3555c2c97eaa07a442e",
- color="xkcd:light brown")
diff --git a/src/allocators/supermalloc.py b/src/allocators/supermalloc.py
deleted file mode 100644
index 32f9588..0000000
--- a/src/allocators/supermalloc.py
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""SuperMalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class SuperMalloc(Allocator):
- """SuperMalloc allocator"""
-
- sources = GitArtifact("SuperMalloc",
- "https://github.com/kuszmaul/SuperMalloc")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libsupermalloc.so"
- self.build_cmds = [
- "cd {srcdir}/release; make", "mkdir -p {dir}",
- "ln -f -s {srcdir}/release/lib/libsupermalloc.so {dir}/libsupermalloc.so"
- ]
- self.patches = ["{patchdir}/remove_faulty_aligned_alloc_test.patch"]
-
- super().__init__(name, **kwargs)
-
-
-supermalloc = SuperMalloc("SuperMalloc",
- color="xkcd:lime",
- version="709663fb81ba091b0a78058869a644a272f4163d")
diff --git a/src/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch b/src/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch
deleted file mode 100644
index 074f758..0000000
--- a/src/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git Makefile.include Makefile.include
-index bb3cef3..09ee7eb 100644
---- Makefile.include
-+++ Makefile.include
-@@ -37,7 +37,7 @@ default: tests
- #lib: $(LIB)/libsupermalloc.so
- #.PHONY: lib
-
--TESTS = aligned_alloc calloc posix_memalign $(UNITTESTS) test-malloc_test new-malloc-test malloc-test-fixed-work test22 cache-index madvise-small test38 test-no-overlaps #unit-timing
-+TESTS = calloc posix_memalign $(UNITTESTS) test-malloc_test new-malloc-test malloc-test-fixed-work test22 cache-index madvise-small test38 test-no-overlaps #unit-timing
- TESTS_IN_DIR = $(patsubst %, $(BLD)/%, $(TESTS))
-
- LDFLAGS += -ldl
diff --git a/src/allocators/tbbmalloc.py b/src/allocators/tbbmalloc.py
deleted file mode 100644
index 6580939..0000000
--- a/src/allocators/tbbmalloc.py
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""tbbmalloc definition for allocbench"""
-
-from src.allocator import Allocator
-from src.artifact import GitArtifact
-
-
-class TBBMalloc(Allocator):
- """tbbmalloc allocator"""
-
- sources = GitArtifact("tbb", "https://github.com/intel/tbb.git")
-
- def __init__(self, name, **kwargs):
- self.LD_PRELOAD = "{dir}/libtbbmalloc.so"
- self.build_cmds = [
- "cd {srcdir}; make tbbmalloc -j4", "mkdir -p {dir}",
- 'ln -f -s $(find {srcdir} -executable -name "*libtbbmalloc_proxy.so*" | head -1) {dir}/libtbbmalloc.so'
- ]
-
- super().__init__(name, **kwargs)
-
-
-tbbmalloc = TBBMalloc("tbbmalloc", color="xkcd:green", version="2019_U8")
diff --git a/src/allocators/tcmalloc.py b/src/allocators/tcmalloc.py
deleted file mode 100644
index 7f67146..0000000
--- a/src/allocators/tcmalloc.py
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 2018-2019 Florian Fischer <florian.fl.fischer@fau.de>
-#
-# This file is part of allocbench.
-#
-# allocbench is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# allocbench is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with allocbench.
-"""TCMalloc definition for allocbench"""
-
-from src.allocator import Allocator, BUILDDIR
-from src.artifact import GitArtifact
-
-
-class TCMalloc(Allocator):
- """TCMalloc allocator"""
-
- sources = GitArtifact("tcmalloc", "https://github.com/google/tcmalloc.git")
-
- def __init__(self, name, **kwargs):
-
- self.LD_PRELOAD = "{dir}/libtcmalloc.so"
- self.patches = ["{patchdir}/tcmalloc_bazel_build_so.patch"]
- self.build_cmds = [
- "cd {srcdir}; bazel build tcmalloc/tcmalloc.so --compilation_mode opt",
- "mkdir -p {dir}",
- "cp -f {srcdir}/bazel-bin/tcmalloc/tcmalloc.so {dir}/libtcmalloc.so"
- ]
-
- super().__init__(name, **kwargs)
-
-
-tcmalloc = TCMalloc("TCMalloc",
- color="xkcd:blue",
- version="1676100265bd189df6b5513feac15f102542367e")
-
-tcmalloc_align = TCMalloc("TCMalloc-Aligned",
- version="1676100265bd189df6b5513feac15f102542367e",
- color="xkcd:light blue")
-
-tcmalloc_align.LD_PRELOAD = f"{BUILDDIR}/align_to_cl.so {tcmalloc_align.LD_PRELOAD}"
-
-
-class TCMallocGperftools(Allocator):
- """gperftools TCMalloc allocator"""
-
- sources = GitArtifact("gperftools",
- "https://github.com/gperftools/gperftools.git")
-
- def __init__(self, name, **kwargs):
-
- self.LD_PRELOAD = "{dir}/lib/libtcmalloc.so"
- self.prepare_cmds = ["./autogen.sh"]
- self.build_cmds = [
- "cd {srcdir}; ./configure --prefix={dir}",
- "cd {srcdir}; make install -j4"
- ]
-
- super().__init__(name, **kwargs)
-
-
-tcmalloc_gperftools = TCMallocGperftools("TCMalloc-gperftools",
- color="xkcd:dark blue",
- version="gperftools-2.7")
-
-tcmalloc_gperftools_nofs = TCMallocGperftools(
- "TCMalloc-Gperftools-NoFalsesharing",
- patches=["{patchdir}/tcmalloc_2.7_no_active_falsesharing.patch"],
- version="gperftools-2.7",
- color="xkcd:navy")
-
-tcmalloc_gperftools_align = TCMallocGperftools("TCMalloc-Gperftools-Aligned",
- version="gperftools-2.7",
- color="xkcd:navy blue")
-
-tcmalloc_gperftools_align.LD_PRELOAD = f"{BUILDDIR}/align_to_cl.so {tcmalloc_gperftools_align.LD_PRELOAD}"
-
-tcmalloc_gperftools_cacheline_exclusive = TCMallocGperftools(
- "TCMalloc-Gperftools-Cacheline-Exclusive",
- patches=["{patchdir}/tcmalloc_2.7_cacheline_exclusive.patch"],
- version="gperftools-2.7",
- color="xkcd:royal blue")
diff --git a/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch b/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch
deleted file mode 100644
index bdd63e3..0000000
--- a/src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-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_2.7_no_active_falsesharing.patch b/src/allocators/tcmalloc/tcmalloc_2.7_no_active_falsesharing.patch
deleted file mode 100644
index a76a2f2..0000000
--- a/src/allocators/tcmalloc/tcmalloc_2.7_no_active_falsesharing.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git src/thread_cache.cc src/thread_cache.cc
-index 6d2f832..2074f4a 100644
---- src/thread_cache.cc
-+++ src/thread_cache.cc
-@@ -120,7 +120,11 @@ void* ThreadCache::FetchFromCentralCache(uint32 cl, int32_t byte_size,
- ASSERT(list->empty());
- const int batch_size = Static::sizemap()->num_objects_to_move(cl);
-
-- const int num_to_move = min<int>(list->max_length(), batch_size);
-+ int num_to_move = min<int>(list->max_length(), batch_size);
-+ const int cache_line_parts = 64 / byte_size;
-+ if (cache_line_parts > 0 && cache_line_parts > num_to_move)
-+ num_to_move = cache_line_parts;
-+
- void *start, *end;
- int fetch_count = Static::central_cache()[cl].RemoveRange(
- &start, &end, num_to_move);
diff --git a/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch b/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch
deleted file mode 100644
index cdd2840..0000000
--- a/src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-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(