Commit graph

  • 800034cb99 refactor arena abandonment in a separate file daanx 2024-06-03 17:58:34 -07:00
  • 96b69d7ef6 fix leak where OS abandoned blocks were not always reclaimed daanx 2024-06-03 17:28:14 -07:00
  • 00dacba91f maintain count of the abandoned os list daanx 2024-06-03 15:44:25 -07:00
  • 3333f776f9 push os abandoned blocks at the tail end daanx 2024-06-03 15:37:05 -07:00
  • a04905c88b revisit atomic reclaim for abandoned segments daanx 2024-06-03 15:20:35 -07:00
  • f02a0b3541 more aggressive reclaim from free for OS blocks daanx 2024-06-03 14:05:57 -07:00
  • 043df00a97 Merge branch 'dev' into dev-slice daanx 2024-06-03 11:43:49 -07:00
  • 1a9cf7bce2 switch between OS and arena allocation in stress test daanx 2024-06-03 11:43:35 -07:00
  • 3f2b6e6df9 merge from dev Daan 2024-06-03 11:34:54 -07:00
  • 7e23576efa remove old mi_abandoned_await_readers Daan 2024-06-03 09:57:03 -07:00
  • 2ed97f3ebb whitespace Daan 2024-06-03 09:55:11 -07:00
  • f17ddc3395 increase thread data cache to32 entries Daan 2024-06-03 09:55:02 -07:00
  • 84334e480a decrease meta allocation zone to 4k (to reduce .bss) Daan 2024-06-03 09:54:41 -07:00
  • 52a4ff2cb9 Merge branch 'dev' into dev-slice Daan 2024-06-03 09:26:08 -07:00
  • 58fbb67963 fix c++ compilation Daan 2024-06-03 09:25:53 -07:00
  • f77adf4a18 merge from dev (visit abandoned, upstream of python/cpython#114133) Daan 2024-06-02 17:03:13 -07:00
  • 6b15342709 fix pthread initalization of mutexes Daan 2024-06-02 16:41:07 -07:00
  • 768872e4e0 typo in stress test Daan 2024-06-02 16:24:13 -07:00
  • e4c8f42bb6 always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled daanx 2024-06-02 16:10:08 -07:00
  • f9076a5cf8 use EFAULT if a target heap tag cannot be found on reclaim daanx 2024-06-02 15:54:49 -07:00
  • f87ec74bb3 reduce delayed output from redirection to 16KiB to reduce the .bss size daanx 2024-06-02 15:10:17 -07:00
  • e8f4bdd1ea fix cast; make segment map static daanx 2024-06-02 14:59:37 -07:00
  • a964322a21 revise the segment map to only apply to OS allocated segments and reduce the .BSS footprint daanx 2024-06-02 14:46:59 -07:00
  • 5501f59f6c only reclaim for exclusive heaps in their associated arena daanx 2024-06-02 13:16:20 -07:00
  • 635d626c82 fix leak in abandoned block visiting daanx 2024-06-02 10:43:41 -07:00
  • f7fe5bf20e optimize heap walks, by Sam Gross, upstream of python/cpython#114133 daanx 2024-06-02 10:28:30 -07:00
  • 855e3b2549 add support to visit _all_ abandoned segment blocks per sub-process, upstream for python/cpython#114133 daanx 2024-06-02 09:41:12 -07:00
  • 8f874555d5 add initial support for visiting abandoned segments per subprocess, upstream for python/cpython#114133 daanx 2024-06-02 07:47:08 -07:00
  • f93fb900b7 move lock code to atomic.h Daan Leijen 2024-06-01 17:25:45 -07:00
  • 0b3cd51249 add initial primitive api for locks Daan Leijen 2024-06-01 16:45:20 -07:00
  • d9aa19a763 add support for sub-processes (to supportpython/cpython#113717) daanx 2024-06-01 15:57:18 -07:00
  • f87a4c15b2 increase max arenas daanx 2024-06-01 13:41:13 -07:00
  • aeee7907a0 fix spelling daanx 2024-06-01 13:20:28 -07:00
  • 616db104a9 prevent UB in arena reservation daanx 2024-06-01 12:29:48 -07:00
  • 78fa139a1c Build on cygwin Daisuke Fujimura (fd0) 2024-05-30 19:38:06 +09:00
  • 556b81b2cc bump version to v2.1.8 for further development Daan 2024-05-21 12:32:38 -07:00
  • 87d088b7e0 bump version to v1.8.8 for further development Daan 2024-05-21 12:31:57 -07:00
  • 2765ec9302 Merge branch 'dev-slice' Daan 2024-05-21 12:27:13 -07:00
  • 8c532c32c3 Merge branch 'dev' into dev-slice v2.1.7 Daan 2024-05-21 12:25:21 -07:00
  • 1f3ecec2e5 update readme v1.8.7 Daan 2024-05-21 12:25:13 -07:00
  • b907d76439 Merge branch 'dev' into dev-slice Daan 2024-05-21 12:15:00 -07:00
  • 4aa97336f7 remove the need for cmake patch in vcpkg port Daan 2024-05-21 12:06:52 -07:00
  • 998401b6d7 Merge branch 'dev' into dev-slice Daan 2024-05-21 11:58:10 -07:00
  • bd04cec1c4 roll back export ignore on the bin directory as it needed by vcpkg (et al) to build on Windows Daan 2024-05-21 11:57:52 -07:00
  • 836ee0a94c add alpine docker files Daan 2024-05-19 21:32:22 -07:00
  • d5ac4f7b95 add example docker file for testing on manylinux-x64 daanx 2024-05-19 20:42:58 -07:00
  • b9b321d328 use _builtin_thread_pointer also on gcc 11-x64 and clang-14-x64 daanx 2024-05-19 20:42:28 -07:00
  • d6ad058e44
    Merge pull request #897 from madsmtm/patch-1 Daan 2024-05-19 15:49:50 -07:00
  • 1462cc4e9a Merge branch 'dev' into dev-slice Daan 2024-05-19 15:43:26 -07:00
  • 9cd7e4cc68 rename library check to find_link_library Daan 2024-05-19 15:43:15 -07:00
  • f739e4f2c3 check all link libraries (pthread, rt, and atomic) via check_linker_flag first before using find_library (see also issue #898 Daan 2024-05-19 15:38:26 -07:00
  • 03224e17a0 bump cmake required version to 3.18 and detect libatomic more reliably, see pr #898 Daan 2024-05-19 13:25:31 -07:00
  • 7ea7296d3e add malloc_good_size override maacro, see issue #900 and pr #901 Daan 2024-05-19 12:03:55 -07:00
  • cfc380c4ca
    fix proposal for malloc_size/malloc_good_size symbol exports. David Carlier 2024-05-19 19:58:15 +01:00
  • 65a0c82ac9 merge from dev (support for heap tag, upstream of python/cpython#113742 Daan 2024-05-19 08:10:35 -07:00
  • 0c4041fa53 add support for custom heap and page tags, upstream of python/cpython#113742 Daan 2024-05-19 08:06:32 -07:00
  • b822a44cfe merge from dev, upstream of python/cpython#113263 Daan 2024-05-18 17:47:07 -07:00
  • 710d6138c7 refactor thread meta-data initilazation, upstream of python/cpython#113263 Daan 2024-05-18 17:42:47 -07:00
  • 66052f135f allow custom thread id, upstream of python/cpython#115488) Daan 2024-05-18 17:05:13 -07:00
  • d4a7c0ffcc merge from dev Daan 2024-05-18 16:57:35 -07:00
  • 381da05d8a make mimalloc includes relative to the current file, upstream of python/cpython#113141 daanx 2024-05-18 16:48:58 -07:00
  • 92a8268fa4 make warning an trace message if we cannot allocate at a hinted address, upstream of python/cpython#113372 daanx 2024-05-18 16:45:23 -07:00
  • c48a21215b fix arm64 windows compilation, upstream of python/cpython#111527 daanx 2024-05-18 16:41:39 -07:00
  • 999b31fea6 allow syscall include on FreeBSD as well daanx 2024-05-18 16:39:04 -07:00
  • 87c4012f13 make syscall test in primitives positive and avoid unused function warnings. upstream python/cpython#111907, python/cpython#111593, python/cpython#117548 daanx 2024-05-18 16:37:40 -07:00
  • 937fd19338 comment daanx 2024-05-18 16:32:10 -07:00
  • d9441ffce2 fix compilation on AIX, upstream of python/cpython#111593 daanx 2024-05-18 16:16:36 -07:00
  • 1daa4ea627 Merge branch 'dev' into dev-slice Daan 2024-05-18 10:01:31 -07:00
  • 1b21415dfa make retry on oom an option; revise size options to not overflow the long daanx 2024-05-18 09:56:02 -07:00
  • e58fa376d4 on windows, retry virtual alloc if out-of-memory, see issue #894 daanx 2024-05-17 13:19:37 -07:00
  • a05e1f4868 comment to not add custom fields (issue #896) Daan 2024-05-17 09:12:03 -07:00
  • 21434a2a9e Merge branch 'dev' into dev-slice Daan 2024-05-17 09:07:24 -07:00
  • 8fd1184272 fix alignment issue on Alpine 32-bit musl compilation (issue #895) Daan 2024-05-17 09:06:27 -07:00
  • 97013ee2b4 improve static allocation Daan 2024-05-16 19:16:44 -07:00
  • 69f81732f8 merge from dev, bump version to v2.1.7 Daan 2024-05-16 19:07:14 -07:00
  • aa91fe0f1c fix build warning on 32-bit musl Daan 2024-05-16 19:05:24 -07:00
  • e3fea8f4e1 temporary fix for musl libc 32-bit compilation on alpine (see issue #895) Daan 2024-05-16 18:58:18 -07:00
  • e7f2ffe26c fix build warning on alpine 32-bit Daan 2024-05-16 18:53:50 -07:00
  • 5eb29e971b bump version to 1.8.7 for further development Daan 2024-05-16 18:52:29 -07:00
  • d468745b6b Merge branch 'dev' into dev-slice Daan 2024-05-16 16:09:35 -07:00
  • 6e960f06e7 add note on using linker section instead of fiber api Daan 2024-05-16 15:13:03 -07:00
  • c27b7c4fae Merge branch 'dev' into dev-slice Daan 2024-05-16 14:41:21 -07:00
  • a38c8dd0f9 rename must_free_whole -> has_partial_free Daan 2024-05-16 14:41:10 -07:00
  • 4a26a4568e fix out-of-bounds write on span free in huge segments Daan 2024-05-16 14:26:05 -07:00
  • 44b65b19df remove pre_size parameter for slices Daan 2024-05-16 13:30:33 -07:00
  • 5141e4df24 remove MI_USE_LIBATOMIC and properly find libatomic mojyack 2024-05-16 16:19:24 +09:00
  • fefdce3ee4
    macOS: Fix linking statically Mads Marquart 2024-05-15 21:12:54 +02:00
  • a1b284de0a Merge branch 'dev-slice' Daan 2024-05-13 10:18:56 -07:00
  • 6141843614 Merge branch 'dev' into dev-slice v2.1.6 Daan 2024-05-13 10:17:32 -07:00
  • 81a771161e update readme for updated release v1.8.6 Daan 2024-05-13 10:16:55 -07:00
  • d824b9db2b fix page collection where a freed segment could be accessed Daan 2024-05-13 10:11:57 -07:00
  • 7b2e9c6e77 bump version to v2.1.6 Daan 2024-05-13 09:17:04 -07:00
  • 9e721e564a bump version to v1.8.6 Daan 2024-05-13 09:16:26 -07:00
  • 8b15203950 merge from dev-slice Daan 2024-05-13 09:15:44 -07:00
  • 16d6baddf4 Merge branch 'dev' into dev-slice v2.1.5 Daan 2024-05-13 09:14:05 -07:00
  • eb2bab87d5 update readme for new release v1.8.5 Daan 2024-05-13 09:12:38 -07:00
  • f94f101d22 Merge branch 'dev' into dev-slice Daan 2024-05-13 09:02:51 -07:00
  • 13e519202a fix comments; nicer strdup/strndup Daan 2024-05-13 09:02:40 -07:00
  • 3b057c08b4 refactor in-place expansion dev-remap Daan 2024-05-11 10:07:15 -07:00
  • 8b8e689b91 merge from dev Daan 2024-05-11 09:40:54 -07:00