@@ -512,11 +512,18 @@ pub const mi_option_large_os_pages: mi_option_t = 6;
512
512
/// allocate just a little to take up space in the huge OS page area (which cannot be reset).
513
513
pub const mi_option_reserve_huge_os_pages: mi_option_t = 7 ;
514
514
515
- /// TODO: update later
516
- pub const mi_option_reserve_os_memory: mi_option_t = 8 ;
515
+ /// Option (experimental) reserve huge OS pages at a specific NUMA node
516
+ ///
517
+ /// The huge pages are usually allocated evenly among NUMA nodes.
518
+ /// You can use mi_option_reserve_huge_os_pages_at=N where `N` is the numa node (starting at 0) to allocate all
519
+ /// the huge pages at a specific numa node instead.
520
+ pub const mi_option_reserve_huge_os_pages_at: mi_option_t = 8 ;
521
+
522
+ /// Option (experimental) reserve specified amount of OS memory at startup
523
+ pub const mi_option_reserve_os_memory: mi_option_t = 9 ;
517
524
518
525
/// Option (experimental) specifying number of segments per thread to keep cached.
519
- pub const mi_option_segment_cache: mi_option_t = 9 ;
526
+ pub const mi_option_segment_cache: mi_option_t = 10 ;
520
527
521
528
/// Option (experimental) to reset page memory after mi_option_reset_delay milliseconds when it becomes free.
522
529
///
@@ -528,19 +535,19 @@ pub const mi_option_segment_cache: mi_option_t = 9;
528
535
/// off completely.
529
536
///
530
537
/// Default: 1 (true)
531
- pub const mi_option_page_reset: mi_option_t = 10 ;
538
+ pub const mi_option_page_reset: mi_option_t = 11 ;
532
539
533
540
/// Experimental
534
- pub const mi_option_abandoned_page_reset: mi_option_t = 11 ;
541
+ pub const mi_option_abandoned_page_reset: mi_option_t = 12 ;
535
542
536
543
/// Experimental
537
- pub const mi_option_segment_reset: mi_option_t = 12 ;
544
+ pub const mi_option_segment_reset: mi_option_t = 13 ;
538
545
539
546
/// Experimental
540
- pub const mi_option_eager_commit_delay: mi_option_t = 13 ;
547
+ pub const mi_option_eager_commit_delay: mi_option_t = 14 ;
541
548
542
549
/// Option (experimental) specifying delay in milli-seconds before resetting a page (100ms by default).
543
- pub const mi_option_reset_delay: mi_option_t = 14 ;
550
+ pub const mi_option_reset_delay: mi_option_t = 15 ;
544
551
545
552
/// Option (experimental) to pretend there are at most N NUMA nodes.
546
553
///
@@ -549,19 +556,19 @@ pub const mi_option_reset_delay: mi_option_t = 14;
549
556
/// actual NUMA nodes is fine and will only cause threads to potentially allocate more
550
557
/// memory across actual NUMA nodes (but this can happen in any case as NUMA local
551
558
/// allocation is always a best effort but not guaranteed).
552
- pub const mi_option_use_numa_nodes: mi_option_t = 15 ;
559
+ pub const mi_option_use_numa_nodes: mi_option_t = 16 ;
553
560
554
561
/// TODO: update later
555
- pub const mi_option_limit_os_alloc: mi_option_t = 16 ;
562
+ pub const mi_option_limit_os_alloc: mi_option_t = 17 ;
556
563
557
564
/// Option (experimental) specifying OS tag to assign to mimalloc'd memory.
558
- pub const mi_option_os_tag: mi_option_t = 17 ;
565
+ pub const mi_option_os_tag: mi_option_t = 18 ;
559
566
560
567
/// Experimental
561
- pub const mi_option_max_errors: mi_option_t = 18 ;
568
+ pub const mi_option_max_errors: mi_option_t = 19 ;
562
569
563
570
/// Experimental
564
- pub const mi_option_max_warnings: mi_option_t = 19 ;
571
+ pub const mi_option_max_warnings: mi_option_t = 20 ;
565
572
566
573
extern "C" {
567
574
// Note: mi_option_{enable,disable} aren't exposed because they're redundant
0 commit comments