daanx
6bfb1c656c
allow size==0 for mi_prim_free (issue #1041 )
2025-05-02 08:40:21 -07:00
Daan
951538d469
fix prctl.h includes for alpine linux/musl (hopefully fixes #1065 , #1066 , #1067 )
2025-04-08 13:56:31 -07:00
Daan
77b622511a
fix alpine compilation with prctl.h (issue #1059 )
2025-03-31 14:44:46 -07:00
Daan
6ed451c555
fix linux compile by including linux/prctl.h
2025-03-21 16:48:50 -07:00
Daan
01ee3568c1
name anonymous mmap address ranges for debugging on Linux (based on PR #1032 by @zhuker)
2025-03-21 16:19:54 -07:00
Daan
783c3ba486
improve QNX support
2025-03-06 20:40:52 -08:00
Timothy Kielan
c8880e1ba0
support building for QNX
2025-02-21 15:16:22 +01:00
Daan
566ab5038b
do not use syscall on android (issue #1015 )
2025-02-18 16:02:52 -08:00
daanx
0c8069adab
use physical memory in kib to avoid overflow of size_t (issue #1010 )
2025-02-11 09:18:23 -08:00
daanx
ec4aa62b65
use physical memory in kib to avoid overflow of size_t (issue #1010 )
2025-02-11 09:12:29 -08:00
Daan Leijen
2451b5685c
fix large OS page behaviour on Linux; default is now 2 which only uses large OS pages (not huge) through madvise
2025-01-03 20:00:40 -08:00
Daan
b5ef802313
Merge pull request #909 from kdrag0n/patch-1
...
Change macOS mmap tag to fix conflict with IOAccelerator
2024-12-30 12:30:21 -08:00
Daan
f33aa58d88
Merge branch 'dev' into dev
2024-12-30 12:27:46 -08:00
Daan
e05aae944f
Merge pull request #917 from rui314/missing-include
...
Add a missing #include
2024-12-30 12:20:08 -08:00
daanx
0e76fe3798
add address hint to primitive allocation API
2024-11-16 16:57:37 -08:00
daanx
b27d154ffd
add virtual address bits and physical memory to the mem config
2024-11-16 15:37:08 -08:00
daanx
b5c6495f69
don't consider memory as large OS pages if only madvise'd
2024-08-20 15:58:36 -07:00
Rui Ueyama
566b2c51fc
Add a missing #include
...
This change fixes the "implicit declaration of function 'getenv'" warning.
Since stdlib.h is completely portable, as it is defined by the C standard,
we can safely include it unconditionally.
2024-07-22 09:43:43 +09:00
QuarticCat
632421da3a
fix typos
2024-06-19 10:49:03 +08:00
Danny Lin
e8b5e51b00
Change macOS mmap tag to fix conflict with IOAccelerator
...
Tag 100 is assigned to "IOAccelerator" (the GPU driver stack on Apple silicon), which makes for confusing output when debugging.
To avoid conflicts, use a tag in the reserved application-specific range from 240–255 (inclusive).
All assigned tags: 94d3b45284/osfmk/mach/vm_statistics.h (L773-L775)
2024-06-10 15:06:39 -07:00
daanx
e4c8f42bb6
always include sys/prctl.h on linux to disable THP if large_os_pages are not enabled
2024-06-02 16:10:08 -07:00
Daan Leijen
f93fb900b7
move lock code to atomic.h
2024-06-01 17:25:45 -07:00
Daan Leijen
0b3cd51249
add initial primitive api for locks
2024-06-01 16:45:20 -07:00
daanx
92a8268fa4
make warning an trace message if we cannot allocate at a hinted address, upstream of python/cpython#113372
2024-05-18 16:45:23 -07:00
daanx
999b31fea6
allow syscall include on FreeBSD as well
2024-05-18 16:39:04 -07:00
daanx
87c4012f13
make syscall test in primitives positive and avoid unused function warnings. upstream python/cpython#111907 , python/cpython#111593 , python/cpython#117548
2024-05-18 16:37:40 -07:00
daanx
d9441ffce2
fix compilation on AIX, upstream of python/cpython#111593
2024-05-18 16:16:36 -07:00
Daan
a38c8dd0f9
rename must_free_whole -> has_partial_free
2024-05-16 14:41:10 -07:00
Daan
79ab7c63d7
disable transparent huge pages for a process too if the allow_large_os_pages option is set to false
2024-04-20 16:37:09 -07:00
Daan
764aa44598
remove macOS preprocessor macros that do not exist (anymore). issue #879
2024-04-19 09:38:40 -07:00
Daan
2473676e18
further fixes to macOS version checks by ensuring MAC_OS_X_VERSION_10_7 is always defined (issue #829 )
2024-03-03 09:54:49 -08:00
Daan
cca3fc26b0
fix macOS version checks, issues #829
2024-03-03 08:41:25 -08:00
Daan
128c7c1876
cleanup thp disable a bit
2024-03-02 16:55:13 -08:00
Daan
182583d3dd
Merge branch 'dev' into dev_thp_disable
2024-03-02 16:49:27 -08:00
Daan
3fe3d540b6
Fix incorrect MAP_HUGE_1GB check #793
2024-03-02 15:57:54 -08:00
Daan
7b398ad924
delete pthread key at shutdown, PR #810 by @jkriegshauser
2024-03-02 15:51:51 -08:00
Daan
b7d44378bb
avoid unused function warning on Solaris, PR #830 by @kulikjak
2024-03-02 15:32:35 -08:00
Daan
98abfe042c
avoid syscall on openBSD, issue #821 by @blackgnezdo
2024-03-02 15:08:22 -08:00
Daan
bccf10e164
allow random fallback on older macOS versions, issue #829
2024-03-02 14:49:37 -08:00
Daan
89afa14045
fix build on illumos; by @dancrossnyc, issue #841
2024-03-02 14:25:16 -08:00
David Carlier
388d1aa9bd
new Linux/Android option proposal.
...
Allowing to disable transparent huge pages on Linux/Android, so
we avoid affecting the whole system (such as /sys/kernel/mm/transparent_hugepage/enabled).
2023-07-14 21:55:30 +01:00
daanx
e10467f673
add libc primitives to reduce dependencies
2023-05-19 11:57:10 -07:00
daanx
0bb5cecbc2
use most performant reset on Linux (MADV_FREE) and Windows (MEM_RESET) as we use the precise decommit by default for purging anyways
2023-04-24 08:56:42 -07:00
daanx
88a8b13782
revise unix decommit
2023-04-23 20:53:27 -07:00
daanx
bfe2651ec9
revise decommit on linux in debug/secure mode
2023-04-23 20:32:22 -07:00
daanx
7f93bf02c9
be explicit about memory tracking in os.c
2023-04-23 16:40:01 -07:00
daanx
012f716485
add is_zero flag to prim_commit
2023-04-21 10:37:22 -07:00
daanx
4d976270eb
review is_zero flag
2023-04-18 17:18:39 -07:00
daanx
a8c581059b
Merge branch 'dev' into dev-reset
2023-04-17 09:48:58 -07:00
daanx
8027fcfecd
Merge branch 'dev' into dev-reset
2023-04-15 17:59:01 -07:00