On Apr 28, 2012, at 5:09 AM, Aleksandr Rybalko wrote: >>> On Apr 21, 2012, at 11:54 AM, David Wolfskill wrote: >>>> >>>> But contrib/jemalloc/src/arena.c contains a function, >>>> arena_chunk_validate_zeroed(): >>>> >>>> 175 static inline void >>>> 176 arena_chunk_validate_zeroed(arena_chunk_t *chunk, size_t >>>> run_ind) 177 { >>>> 178 size_t i; >>>> 179 UNUSED size_t *p = (size_t *)((uintptr_t)chunk + >>>> (run_ind << LG_PAGE)); 180 >>>> 181 for (i = 0; i < PAGE / sizeof(size_t); i++) >>>> 182 assert(p[i] == 0); >>>> 183 } > > maybe it somehow related to low count of free memory, because I see > that very frequently on my box. (Atheros AR7242 mips32be with 32M of > RAM) > > After "#ifdef" of that function body, box behave good (seems) :) Yes, arena_chunk_validate_zeroed() (which is debug-only code) has the side effect of faulting in untouched pages, so it potentially increases physical memory usage. In practice, this sanity checking has saved jemalloc from regressions that would otherwise manifest as mysterious application memory corruption (and would have prevented even more regressions, had it existed earlier). You can disable it and many other performance-sacrificing debug features by defining MALLOC_PRODUCTION in /etc/make.conf. JasonReceived on Sat Apr 28 2012 - 16:29:08 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:26 UTC