mjg e3c2d3a906 Eliminate false sharing in malloc due to statistic collection
Currently stats are collected in a MAXCPU-sized array which is not
aligned and suffers enormous false-sharing. Fix the problem by
utilizing per-cpu allocation.

The counter(9) API is not used here as it is too incomplete and does
not provide a win over per-cpu zone sized for malloc stats struct. In
particular stats are being reported for each cpu separately by just
copying what is supposed to be an array element for given cpu.

This eliminates significant false-sharing during malloc-heavy tests
e.g. on Skylake. See the review for details.

Reviewed by:	markj
Approved by:	re (kib)
Differential Revision:	https://reviews.freebsd.org/D17289
2018-09-23 19:00:06 +00:00
..
2018-07-03 01:55:09 +00:00
2018-04-13 20:30:49 +00:00
2018-08-18 06:33:51 +00:00
2018-05-06 00:19:48 +00:00
2018-08-04 20:45:43 +00:00
2018-05-22 15:13:25 +00:00
2017-12-13 16:30:39 +00:00
2018-06-13 16:48:07 +00:00
2018-08-18 19:45:56 +00:00
2018-04-08 16:34:10 +00:00
2018-06-01 13:26:45 +00:00
2018-06-01 13:26:45 +00:00
2018-08-04 20:45:43 +00:00
2018-06-01 13:26:45 +00:00
2018-03-27 15:20:03 +00:00
2018-06-01 13:26:45 +00:00
2018-05-20 04:45:05 +00:00
2018-09-20 18:25:26 +00:00
2018-08-17 16:07:06 +00:00