From df593a3ec1927093a7c9ad95d979a9c68cde4a21 Mon Sep 17 00:00:00 2001 From: Daan Leijen Date: Tue, 17 Dec 2024 00:35:28 -0800 Subject: [PATCH 1/3] make timeout for tests in the pipeline up to 4 min --- azure-pipelines.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index eb520aa0..bccf7a3f 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -43,7 +43,7 @@ jobs: solution: $(BuildType)/libmimalloc.sln configuration: '$(MSBuildConfiguration)' msbuildArguments: -m - - script: ctest --verbose --timeout 180 -C $(MSBuildConfiguration) + - script: ctest --verbose --timeout 240 -C $(MSBuildConfiguration) workingDirectory: $(BuildType) displayName: CTest #- script: $(BuildType)\$(BuildType)\mimalloc-test-stress @@ -126,7 +126,7 @@ jobs: cmakeArgs: .. $(cmakeExtraArgs) - script: make -j$(nproc) -C $(BuildType) displayName: Make - - script: ctest --verbose --timeout 180 + - script: ctest --verbose --timeout 240 workingDirectory: $(BuildType) displayName: CTest env: @@ -157,7 +157,7 @@ jobs: cmakeArgs: .. $(cmakeExtraArgs) - script: make -j$(sysctl -n hw.ncpu) -C $(BuildType) displayName: Make - - script: ctest --verbose --timeout 180 + - script: ctest --verbose --timeout 240 workingDirectory: $(BuildType) displayName: CTest # - upload: $(Build.SourcesDirectory)/$(BuildType) @@ -192,7 +192,7 @@ jobs: solution: $(BuildType)/libmimalloc.sln configuration: '$(MSBuildConfiguration)' msbuildArguments: -m - - script: ctest --verbose --timeout 180 -C $(MSBuildConfiguration) + - script: ctest --verbose --timeout 240 -C $(MSBuildConfiguration) workingDirectory: $(BuildType) displayName: CTest @@ -235,7 +235,7 @@ jobs: cmakeArgs: .. $(cmakeExtraArgs) - script: make -j$(nproc) -C $(BuildType) displayName: Make - - script: ctest --verbose --timeout 180 + - script: ctest --verbose --timeout 240 workingDirectory: $(BuildType) displayName: CTest @@ -278,7 +278,7 @@ jobs: cmakeArgs: .. $(cmakeExtraArgs) - script: make -j$(nproc) -C $(BuildType) displayName: Make - - script: ctest --verbose --timeout 180 + - script: ctest --verbose --timeout 240 workingDirectory: $(BuildType) displayName: CTest @@ -302,6 +302,6 @@ jobs: cmakeArgs: .. $(cmakeExtraArgs) - script: make -j$(sysctl -n hw.ncpu) -C $(BuildType) displayName: Make - - script: ctest --verbose --timeout 180 + - script: ctest --verbose --timeout 240 workingDirectory: $(BuildType) displayName: CTest From c2e0aa49c46894d4fe41037067a9048c1094ab3f Mon Sep 17 00:00:00 2001 From: daanx Date: Tue, 17 Dec 2024 16:07:18 -0800 Subject: [PATCH 2/3] update minject to v1.1 --- bin/minject-arm64.exe | Bin 20992 -> 20992 bytes bin/minject.exe | Bin 22016 -> 22016 bytes bin/minject32.exe | Bin 18944 -> 18944 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/bin/minject-arm64.exe b/bin/minject-arm64.exe index 63987afcacc42511aca435e78a70d56a64163ff2..97188c4f14e644b66d938ce44a940f3058153a13 100644 GIT binary patch delta 1887 zcmeIyPe_wt90%~<`}&79E38b#L?)P+$x;&&v3jKuDkjUO){>YtY(WQ!AtJ(dD3DI+ z>%mL0LSj^e_;v{CVB*1p$PN;o!u}j2q9i(ui0J$5{jO%W?!GWS`+c9^^JinvqBB}_ zMw@kLS^BQ4W}bFOU-OxhTD4X>QGUo=*8=)dsnx7Mt#m%jn{bFE3SQ@#U#qS--?7wo zqinZgM*@0e>$0St#(vvDdYgKwle(zgEwbKczkAHQg)XwObVhTxgyRn{<}? z>3qLc?Ow~xaShkG>#Sc5_j9aR^ORPIpW$`2&K|r%x=7TESBt4-HCiJlTeL_51MXYF zf$)Gmrh4qUVsvygn3}xVErQ=F^6<5a_SROl-qyCvpZXe-nVHY-lM5MheRiJ%*@}ks zMuKNj8?X69UZ@RjsDo70s}06`M2i1r$5j?X)}#(-_cf?&z0Vpx-K$47FqVFr@TC|A zK2UEu5y{47+CWytAG;cRv6w zQrNUlq!z}Z0TZwjy7r3%VJ!?p1CBw@0g)-_g)ta_FJTle!M20AYOtV4cc$_XjGYfzd9a$D}F4BD3J6l-uok~HTpH1 zAB9=zpEzNW-D?U3hrUH)EAuAP$ds9>Of4G8o3zza))TL2_7>}3nD3ds?fc#In>YMq z-e-miw6bk%)|9(fLmrK;oi@jXqI7JVm@2b4NH@`WF7TWk^USZz4JL7+Pt0UyCi4ul zn0bM@&K%}EFWFuYME$=bj{~xqQ5^V)+0BhsF_SrNi0$u82Xllu%bZ|_3NFLe3nPXT zO>@91)5kP1r(68l`nP-i5&2Id{f~m*DSK6QsL z7Pe92uGhgZ|1T3uE|ptn_YpxK!N0|RQCc<9x7BAhPhE?Z`0S((VS zwoPjezSs3|twD?1+@@)9)IhW(Az!~*9xS|MCYlii+C?LoXG8%{BT?!C2Z=_&I&d7c zfK#9coCS@CkONFgA^HFsQmCHRu?RpQG~zpnW978CT_;KdyEo;txc@FqQxS diff --git a/bin/minject.exe b/bin/minject.exe index dba8f80fd2a0ef8b0137d50a8e67996c5b84a9c9..53c42f5d6dc7f643c03e832ff9e0aff42b2fc265 100644 GIT binary patch delta 10296 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 XSWvGy4SYjULvce%LwN&~I@tdPn9V1t delta 9946 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%0DVy0e+#w&*e+l+?3>Rs^t`bhntS{I_mhnMZ%?w` z7feMm<}Tq+)|uW}l9dj3nWv+}(eAG9*uKTl*}1BPWZit8`U+tGjh`TkCE|O=WARy8=_lW71WfD;)QF?z_*?QQhI_#4E@f z^4fOi=Ju90M~i*e7DwI=ckA|c*l{~L2-zvGak&3Yeyf-hj@V|UJxrab+TP-6b5um_ zpsq56_iQQ5LE&TD!%vo~71$SK%_p{#y}r@|j1ZJKdy`gNXS{S9FzjM>BkN_KW#49h z#r~fCD?3e_uGMRsv_I5-q*dxNbjx*3x?Q?H{crV(d{cgZezxI$!%K!Ytxq|S#f&tv&AnJzgc{~ z_@m-*vCN$0HP1B9H!n38nqM&g#{5U~Kh4>er51yw*|Nj(kcG26Yx$|=q-D_Z2g_B9 z)S6+{ShZHGwbI&X-D-W%y5IV;^=)g=dcpds^=m64$;L^8KxJ$)JD1I4JK1jb6#FH+ zP`gq4q_$uCtyZVos(W5{Q76-9>&x_<-utBf2l^NFefkmoH~O^v1^I>f4f*@?f0F-U z{&;@6!D?7<_@3dA;W@+0hBpjf88Qp}1+N!`3eFV#uHbJ4UlowTqQcF~1IvTUKUx0u za-}iZm~Nb7)EJi-S)<*!!MNFYpYb81-#BUv8?%daMLUapMO@L-MXwcoQuOyCscD+m zRA6c{IZXGP9x<&hb``se4;Q~*e7U&5Y&EYi*PHJ*?=bt#N6e?p#3HxMw9L2US$=Q% z(DI38o;A;Euv)A&)+Q@&J#77<^;PRz)=SnuS+7~ITM6pF8wr_)Ow49AY$0oB?_}4q z^=vb{g>|tz*H+@N>G~%{tpi@_0a$T From 617190880daf359249844aa447b28aabe9d28434 Mon Sep 17 00:00:00 2001 From: daanx Date: Tue, 17 Dec 2024 17:53:34 -0800 Subject: [PATCH 3/3] add ajust stats to compensate for double counting --- include/mimalloc/types.h | 15 ++++++++++++--- src/stats.c | 31 ++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/include/mimalloc/types.h b/include/mimalloc/types.h index 3d8014c3..ad948d36 100644 --- a/include/mimalloc/types.h +++ b/include/mimalloc/types.h @@ -609,18 +609,27 @@ typedef struct mi_stats_s { } mi_stats_t; +// add to stat keeping track of the peak void _mi_stat_increase(mi_stat_count_t* stat, size_t amount); void _mi_stat_decrease(mi_stat_count_t* stat, size_t amount); +// adjust stat in special cases to compensate for double counting +void _mi_stat_adjust_increase(mi_stat_count_t* stat, size_t amount); +void _mi_stat_adjust_decrease(mi_stat_count_t* stat, size_t amount); +// counters can just be increased void _mi_stat_counter_increase(mi_stat_counter_t* stat, size_t amount); #if (MI_STAT) #define mi_stat_increase(stat,amount) _mi_stat_increase( &(stat), amount) #define mi_stat_decrease(stat,amount) _mi_stat_decrease( &(stat), amount) #define mi_stat_counter_increase(stat,amount) _mi_stat_counter_increase( &(stat), amount) +#define mi_stat_adjust_increase(stat,amount) _mi_stat_adjust_increase( &(stat), amount) +#define mi_stat_adjust_decrease(stat,amount) _mi_stat_adjust_decrease( &(stat), amount) #else -#define mi_stat_increase(stat,amount) (void)0 -#define mi_stat_decrease(stat,amount) (void)0 -#define mi_stat_counter_increase(stat,amount) (void)0 +#define mi_stat_increase(stat,amount) ((void)0) +#define mi_stat_decrease(stat,amount) ((void)0) +#define mi_stat_counter_increase(stat,amount) ((void)0) +#define mi_stat_adjuct_increase(stat,amount) ((void)0) +#define mi_stat_adjust_decrease(stat,amount) ((void)0) #endif #define mi_heap_stat_counter_increase(heap,stat,amount) mi_stat_counter_increase( (heap)->tld->stats.stat, amount) diff --git a/src/stats.c b/src/stats.c index 29376ace..8566e8f2 100644 --- a/src/stats.c +++ b/src/stats.c @@ -26,7 +26,7 @@ static bool mi_is_in_main(void* stat) { static void mi_stat_update(mi_stat_count_t* stat, int64_t amount) { if (amount == 0) return; - if (mi_is_in_main(stat)) + if mi_unlikely(mi_is_in_main(stat)) { // add atomically (for abandoned pages) int64_t current = mi_atomic_addi64_relaxed(&stat->current, amount); @@ -51,6 +51,27 @@ static void mi_stat_update(mi_stat_count_t* stat, int64_t amount) { } } +// Adjust stats to compensate; for example before committing a range, +// first adjust downwards with parts that were already committed so +// we avoid double counting. +static void mi_stat_adjust(mi_stat_count_t* stat, int64_t amount) { + if (amount == 0) return; + if mi_unlikely(mi_is_in_main(stat)) + { + // adjust atomically + mi_atomic_addi64_relaxed(&stat->current, amount); + mi_atomic_addi64_relaxed(&stat->allocated, amount); + mi_atomic_addi64_relaxed(&stat->freed, amount); + } + else { + // don't affect the peak + stat->current += amount; + // add to both + stat->allocated += amount; + stat->freed += amount; + } +} + void _mi_stat_counter_increase(mi_stat_counter_t* stat, size_t amount) { if (mi_is_in_main(stat)) { mi_atomic_addi64_relaxed( &stat->count, 1 ); @@ -70,6 +91,14 @@ void _mi_stat_decrease(mi_stat_count_t* stat, size_t amount) { mi_stat_update(stat, -((int64_t)amount)); } +void _mi_stat_adjust_increase(mi_stat_count_t* stat, size_t amount) { + mi_stat_adjust(stat, (int64_t)amount); +} + +void _mi_stat_adjust_decrease(mi_stat_count_t* stat, size_t amount) { + mi_stat_adjust(stat, -((int64_t)amount)); +} + // must be thread safe as it is called from stats_merge static void mi_stat_add(mi_stat_count_t* stat, const mi_stat_count_t* src, int64_t unit) { if (stat==src) return;