https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217138
--- Comment #21 from Mark Millard <mar...@dsl-only.net> --- I my test program I reported: #define region_size (4u*1024u+1u) // Bad dyn_region pattern, parent and child // processes: // 256u, 2u*1024u, 4u*1024u, 8u*1024u, // 9u*1024u, 12u*1024u, 14u*1024u // (but see the partial_test_check() call // notes above). // Works: // 14u*1024u+1u, 15u*1024u, 16u*1024u, // 32u*1024u, 256u*1024u*1024u It appears to turn out that the 14u*1024u vs. 14u*1024+1u boundary matches up with jemalloc: contrib/jemalloc/include/jemalloc/internal/size_classes.h : . . . size == 1<<lg_grp + ndelta<<lg_delta . . .\ * bin: 'yes' if a small bin size class, 'no' otherwise. . . . #if (LG_SIZEOF_PTR == 3 && LG_TINY_MIN == 3 && LG_QUANTUM == 3 && LG_PAGE == 12) #define SIZE_CLASSES \ /* index, lg_grp, lg_delta, ndelta, psz, bin, lg_delta_lookup */ \ . . . SC( 38, 13, 11, 3, no, yes, no) \ SC( 39, 13, 11, 4, yes, no, no) \ . . . #define SMALL_MAXCLASS ((((size_t)1) << 13) + (((size_t)3) << 11)) So SMALL_MAXCLASS==(14u*1024u). The problem in the example program is tied to small bin size handling in jemalloc. -- You are receiving this mail because: You are the assignee for the bug. _______________________________________________ freebsd-bugs@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-bugs To unsubscribe, send any mail to "freebsd-bugs-unsubscr...@freebsd.org"