Ben Maurer be8e59f5a6 Don't dereference chunk->arena in free() hot path
When you call free() we load chunk->arena even though that
data isn't used on the tcache hot path.

In profiling some FB applications, I found that ~30% of the
dTLB misses in the free() function come from this line. With
4 MB chunks, the arena_chunk_t->map is ~ 32 KB (1024 pages
in the chunk, 4 8 byte pointers in arena_chunk_map_t). This
means there's only a 1/8 chance of the page containing
chunk->arena also comtaining the map bits.
2014-04-05 15:59:08 -07:00
..
2012-05-01 11:32:11 -07:00
2012-03-13 16:31:41 -07:00
2013-12-08 20:52:21 -08:00
2013-12-08 22:28:27 -08:00
2012-10-08 18:04:49 -07:00
2014-03-30 16:27:08 -07:00
2012-02-28 16:50:47 -08:00
2012-04-21 21:27:46 -07:00
2013-12-08 22:28:27 -08:00
2014-01-28 23:04:02 -08:00
2013-12-08 22:28:27 -08:00
2013-12-08 22:28:27 -08:00
2014-01-21 20:49:58 -08:00
2012-03-07 16:19:19 -08:00