16 Commits
Author SHA1 Message Date
Tony Printezis f7c7bcf6f0 Test dynamic page size on the GitHub ci.
Expand the github test jobs to test the dynamic page size feature.
Linux x64 will have the best coverage (+42 jobs).
Linux arm64, FreeBSD, MacOS will have basic coverage (+2 or +4 jobs).
2026-10-12 16:29:35 -04:00
1234binpig 344b5eb353 build: prioritize in-tree headers over installed jemalloc headers and tests: cover installed header precedence
* build: prioritize in-tree jemalloc headers
* tests: cover installed header precedence

Signed-off-by: huangwenbin <huangwenbin@kylinos.cn>
2026-10-01 16:36:53 -07:00
Slobodan Predolac beb06ceee8 Exercise USDT backends in Linux CI 2026-10-01 11:58:42 -04:00
Christoph Grüninger d398dd5b8c [ci] Update GitHub Action checkout to v7
Two instances of v4 triggered node.js 20 deprcation warnings.
2026-09-21 18:52:04 -04:00
Peter Tripp 84286c27f0 Add Illumos support 2026-09-19 23:39:25 -07:00
Azat Khuzhin 61dc1da395 Fix possible tcache corruption on fiber migration (under --enable-experimental-fiber-safe-tls)
Under LTO `&tsd_tls` is hoisted out of the inlined malloc/free and
survives swapcontext in a callee-saved register: a fiber resumed on
another OS thread races on the old thread's tcache.

Fix it by taking the address in a noinline volatile-asm barrier accessor.

It is done under option (--enable-experimental-fiber-safe-tls), because
it make the fastpath slower, on a microbench (that is very heavy depends
on the most optimal case) the overhead is 35%, but this is unlikely the
real world scenario.

Anyway here are some numbers for microbench.c compiled with LTO:

type    |vanilla (ns)|`--enable-experimental-fiber-safe-tls` (ns)|optimized (ns) [1]
--------|------------|-------------------------------------------|------------------
malloc  |6.51        |8.77 **(+34%)**                            |6.79 (4%)
mallocx |8.48        |10.62 **(25%)**                            |8.76 (3%)
free    |6.46        |8.68 **(34%)**                             |6.76 (5%)
dallocx |8.190       |10.97 **(33%)**                            |8.74 (7%)

  [1]: https://github.com/jemalloc/jemalloc/pull/2944

This patch also adds a separate lane for CI with LTO
2026-09-01 22:10:15 -04:00
Tony Printezis 262f08301a change tests to set --enable-prof-libunwind instead of --enable-prof-frameptr 2026-07-23 15:49:32 -04:00
Slobodan Predolac fb5499aa9c Handle jemalloc calls after TSD teardown
This only changes behavior for the tsd_generic path, where
pthread_getspecific() can report no TSD after the pthread key destructor
has finished.  Other TSD backends keep tsd_teardown_done() as a constant
false, so the added checks compile out there.

Avoid recreating TSD for late deallocations.  Preserve existing
reincarnation behavior for late allocations and nonzero reallocations.

Add Linux CI coverage for force_tls=0, with and without --enable-debug,
to exercise the Android-equivalent generic TSD path.
2026-07-09 11:30:15 -04:00
Slobodan Predolac 07618496fc Add CI coverage for --enable-cxx-infallible-new 2026-06-06 09:50:37 -04:00
guangli-dai d7b283ed32 Update Github Actions generation script and upgrade freeBSD actions. 2026-04-21 13:16:44 -07:00
Christoph Grüninger 94977e823e [ci] Update GitHub Actions to their latest major release 2026-04-20 19:40:42 -07:00
Slobodan Predolac 441e840df7 Add a script to generate github actions instead of Travis CI and Cirrus 2026-03-10 18:14:33 -07:00
Minsoo Choo 1978e5cdac Update acitons/checkout and actions/upload-artifact to v4 2024-03-12 12:59:15 -07:00
Kevin Svetlitski 46e464a26b Fix downloading LLVM in GitHub Action
It turns out LLVM does not include a build for every platform in the
assets for every release, just some of them. As such, I've pinned us to
the latest release version with a corresponding build.
2023-06-23 14:30:49 -07:00
Kevin Svetlitski f2e00d2fd3 Remove trailing whitespace
Additionally, added a GitHub Action to ensure no more trailing
whitespace will creep in again in the future.

I'm excluding Markdown files from this check, since trailing whitespace
is significant there, and also excluding `build-aux/install-sh` because
there is significant trailing whitespace on the line that sets
`defaultIFS`.
2023-06-23 11:58:18 -07:00
Kevin Svetlitski 05385191d4 Add GitHub action which runs static analysis
Now that all of the various issues that static analysis uncovered have
been fixed (#2431, #2432, #2433, #2436, #2437, #2446), I've added a
GitHub action which will run static analysis for every PR going forward.
When static analysis detects issues with your code, the GitHub action
provides a link to download its findings in a form tailored for human
consumption.

Take a look at [this demonstration of what it looks like when static
analysis issues are
found](https://github.com/Svetlitski/jemalloc/actions/runs/5010245602)
on my fork for an example (make sure to follow the instructions in the
error message to download and inspect the results).
2023-06-23 11:55:43 -07:00