Commit Graph

51 Commits

Author SHA1 Message Date
Azat Khuzhin
236cac3d52 Fix jemalloc under OSX (by registering it as default zone explicitly)
In case of OSX jemalloc register itself as a default zone allocator.

But when you link statically then zone_register() will not be called,
and even will be optimized out:

  $ nm clickhouse.patched  | grep -c zone_register
  0

Fix this, by manually calling it.

v2: extern C
2020-06-24 21:05:35 +03:00
Azat Khuzhin
f76511668f jemalloc: disable it for darwin
Right now it aborts (Abort trap: 6) on osx, the issue does not looks
like [1], but should be investigated, so disable for now.

What is interesting that it works under debugger, so I guess it is
indeed the order of symbol replacements...

  [1]: https://github.com/jemalloc/jemalloc/issues/420
2020-06-23 11:40:34 +03:00
Azat Khuzhin
c230d76cb9 jemalloc: disable percpu_arena on non-linux (not supported anyway)
And since it does not supported it produces the following warning:
  <jemalloc>: No getcpu support: percpu_arena:percpu
  <jemalloc>: perCPU arena getcpu() not available. Setting narenas to 8.

However it is uses narenas=ncpu instead of default narenas=ncpu*4
2020-06-23 11:14:22 +03:00
Azat Khuzhin
5b5ba93523 jemalloc: explicitly disable pthread_setname_np on freebsd (requires 12.1) 2020-06-23 05:45:56 +03:00
Azat Khuzhin
8b6e2e6c67 jemalloc: drop superfluous include directory 2020-06-23 01:47:56 +03:00
Azat Khuzhin
77a3f606f4 jemalloc: enable by default for freebsd/darwin 2020-06-23 01:47:56 +03:00
Azat Khuzhin
1354a103ab jemalloc: add darwin pregenerated header 2020-06-23 01:47:56 +03:00
Azat Khuzhin
637f2cefeb jemalloc: add freebsd pregenerated header 2020-06-23 01:47:56 +03:00
Azat Khuzhin
f0bb511468 jemalloc: fix JEMALLOC_NOTHROW/JEMALLOC_CXX_THROW for freebsd/darwin 2020-06-23 01:47:56 +03:00
Azat Khuzhin
1becc6ca02 jemalloc: jemalloc_preamble.h is common 2020-06-23 01:47:56 +03:00
Azat Khuzhin
6704c42a9e jemalloc: fix HAVE_CPU_SPINWAIT for linux aarch64
Fixes: #11163
2020-06-22 23:24:43 +03:00
Azat Khuzhin
210e67d831 jemalloc: allow changing default malloc_conf without purging cmake cache 2020-05-27 02:19:13 +03:00
Azat Khuzhin
b694d6ed8c jemalloc: disable oversize_threshold (slower) 2020-05-27 02:19:13 +03:00
Azat Khuzhin
a8749c5d5c jemalloc: aarch64 does not have pause 2020-05-27 02:19:13 +03:00
Azat Khuzhin
bc572dc5f2 jemalloc: sync common (non per-arch) pre-generated headers
$ for f in include/jemalloc/jemalloc_*.h; do cp /src/oss/jemalloc/$f $f; done
2020-05-27 02:19:13 +03:00
Azat Khuzhin
5cd31dbf0d jemalloc: add _GNU_SOURCE for RTLD_NEXT 2020-05-27 02:19:13 +03:00
Azat Khuzhin
9f1cefd8df jemalloc: disable secure_getenv() 2020-05-27 02:19:13 +03:00
Azat Khuzhin
82f2b1a986 jemalloc: merge jemalloc_internal_defs.h.in for aarch64
- keep LG_PAGE/LG_HUGEPAGE
- use upstream JEMALLOC_PURGE_MADVISE_FREE
2020-05-27 02:19:13 +03:00
Azat Khuzhin
2f256b0d2d jemalloc: merge jemalloc_internal_defs.h.in for x86_64
- Use upstream JEMALLOC_PURGE_MADVISE_FREE
2020-05-27 02:19:13 +03:00
Azat Khuzhin
2590ee64d9 jemalloc: merge jemalloc_preamble.h for aarch64 2020-05-27 02:19:13 +03:00
Azat Khuzhin
b2ff1b3f20 jemalloc: merge jemalloc_preamble.h for x86_64 2020-05-27 02:19:13 +03:00
Azat Khuzhin
bbb38664c1 jemalloc: add missing safety_check.c 2020-05-27 02:19:13 +03:00
Azat Khuzhin
734cc78e58 jemalloc: make include_linux_*/jemalloc/*.h common for aarch64 and x86_64
This patch can go upstream, regardless of the jemalloc update
eventually.

Also I noticed that header with jemalloc version differs (someone forgot
to update?)
2020-05-27 02:19:13 +03:00
Alexey Milovidov
14b61cfa9e Fix JEMalloc conf after #11084 2020-05-22 16:08:08 +03:00
Azat Khuzhin
5da41d5cd6 Configure jemalloc options via cmake 2020-05-21 11:43:29 +03:00
Azat Khuzhin
58ffa4c59c Enable percpu_arena:percpu for jemalloc
This will reduce memory fragmentation due to thread pool.
2020-05-21 01:01:28 +03:00
Alexey Milovidov
c0e68df0ff Fix build 2020-05-10 02:06:03 +03:00
Alexey Milovidov
99ceb12b19 Remove unnecessary warning suppressions #10396 2020-05-09 23:30:28 +03:00
Ivan Lezhankin
26e81a2bbf Add dl library dependency 2020-03-31 21:58:00 +03:00
Ivan Lezhankin
db6e374d39 Fix build for ancient CMake 2020-03-30 15:06:30 +03:00
Ivan Lezhankin
03d3332d43 Fix cmake for unbundled build 2020-03-22 13:51:58 +03:00
Ivan Lezhankin
86cb4811b5 Build shared jemalloc in splitted mode 2020-03-21 22:49:26 +03:00
Ivan Lezhankin
5a2e829489 Some fixes 2020-03-18 15:29:51 +03:00
Ivan Lezhankin
528e42bc4c Improve jemalloc contrib 2020-03-18 15:29:51 +03:00
alexey-milovidov
8a313e9f31
Revert "Update JEMalloc just in case" 2020-03-10 20:28:14 +03:00
Alexey Milovidov
06e00b2018 Fixed build 2020-03-09 07:08:19 +03:00
Alexey Milovidov
b75927e4ed Update JEMalloc just in case 2020-03-08 01:59:56 +03:00
Amos Bird
937d0ab8fb
Fix misconfigured jemalloc 2019-12-17 14:22:29 +08:00
Amos Bird
b0d4baccc8 Enable musl and jemalloc for arm.
Can generate better arm packages.
2019-10-14 00:06:54 +08:00
proller
594c535bd4 Build fixes (#7063)
* Build fixes

*            fix

* Fix

* fix

* Fix install(export..

* Freebsd fixes

* Freebsd fixes

* Fix warning

* fix

* More PRIVATE linking

* Fix review

* Timmy

* fix

* fix
2019-10-05 22:25:31 +03:00
Ivan
b4339f266d
Make a better build scheme (#6500)
* Fix shared build
* Major default libs refactor
* Fix build with gcc_eh
* Link all libraries as a big group.
* Use global interface library as a group
* Build capnproto using our cmake
* Use only internal libunwind
2019-08-28 23:49:37 +03:00
chertus
18a13a03dd memory tracked new/delete concept 2019-07-10 21:12:50 +03:00
proller
c800913e5a
Fix build clickhouse as submodule (#5574) 2019-06-10 21:50:46 +03:00
Danila Kutenin
203d336f1f Revert jemalloc and supress all warnings because we cannot supress some general ones with another flag 2019-05-31 20:33:29 +03:00
Danila Kutenin
f8668e4f01 fix safety_check.c in jemalloc 2019-05-31 14:00:35 +03:00
Danila Kutenin
7e2b3b59b8 Fix gcc9 warnings and ICE's 2019-05-31 11:55:01 +03:00
Alexey Milovidov
2cc82f5cbe Enable jemalloc profiling for debug builds [#CLICKHOUSE-2] 2018-11-28 19:27:39 +03:00
Alexey Milovidov
cf33608e62 Enabled JEMALLOC_DEBUG in debug build [#CLICKHOUSE-2] 2018-08-29 18:54:00 +03:00
Alexey Milovidov
7e79e99b8b Removed dependency [#CLICKHOUSE-2] 2018-08-06 01:43:55 +03:00
proller
010350a088 Build fixes (#2794)
* More information in 'Cannot read all data' errors

* Build fixes

* Apple version fix

* Fix

* clean

* New libs fixes

* Freebsd fixes

* macos fix

* Fix macos build

* fix

* fix

* Update CMakeLists.txt

* freebsd fix

* fix

* Update CMakeLists.txt
2018-08-03 19:39:04 +03:00