Serapheim Dimitropoulos ec1fea4516
Use percpu_counter for obj_alloc counter of Linux-backed caches
A previous commit enabled the tracking of object allocations
in Linux-backed caches from the SPL layer for debuggability.
The commit is: 9a170fc6fe54f1e852b6c39630fe5ef2bbd97c16

Unfortunately, it also introduced minor performance regressions
that were highlighted by the ZFS perf test-suite. Within Delphix
we found that the regression would be from -1%, all the way up
to -8% for some workloads.

This commit brings performance back up to par by creating a
separate counter for those caches and making it a percpu in
order to avoid lock-contention.

The initial performance testing was done by myself, and the
final round was conducted by @tonynguien who was also the one
that discovered the regression and highlighted the culprit.

Reviewed-by: Matt Ahrens <matt@delphix.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Serapheim Dimitropoulos <serapheim@delphix.com>
Closes #10397
2020-06-26 18:06:50 -07:00
..
2020-06-26 14:20:02 -07:00
2020-03-27 09:11:22 -07:00
2017-09-19 12:17:29 -07:00
2020-06-18 12:21:32 -07:00
2020-06-18 12:21:32 -07:00
2020-06-26 14:20:02 -07:00
2017-08-09 15:31:08 -07:00
2019-12-05 13:10:29 -08:00
2019-06-24 16:44:01 -07:00
2020-02-11 13:19:12 -08:00