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 18:05:28 -07:00
2020-06-26 14:20:02 -07:00
2020-06-26 14:20:02 -07:00
2020-06-26 14:20:02 -07:00
2020-06-26 18:05:28 -07:00
2020-06-24 18:45:44 -07:00
2020-06-24 18:20:18 -07:00
2020-06-26 15:09:20 -07:00
2020-06-26 14:20:02 -07:00
2020-04-14 11:36:28 -07:00
2017-11-13 09:18:18 -08:00
2018-05-29 16:00:33 -07:00
2019-04-30 10:58:45 -07:00
2020-06-26 14:20:02 -07:00
2020-06-09 21:24:09 -07:00
2018-05-29 16:00:33 -07:00
2020-06-26 14:20:02 -07:00
2020-04-09 09:16:46 -07:00
2018-09-18 12:03:47 -07:00
2018-05-29 16:00:33 -07:00
2020-06-03 19:46:31 -07:00
2020-03-16 10:46:03 -07:00

img

OpenZFS is an advanced file system and volume manager which was originally developed for Solaris and is now maintained by the OpenZFS community. This repository contains the code for running OpenZFS on Linux and FreeBSD.

codecov coverity

Official Resources

Installation

Full documentation for installing OpenZFS on your favorite Linux distribution can be found at the ZoL Site.

Contribute & Develop

We have a separate document with contribution guidelines.

We have a Code of Conduct.

Release

OpenZFS is released under a CDDL license. For more details see the NOTICE, LICENSE and COPYRIGHT files; UCRL-CODE-235197

Supported Kernels

  • The META file contains the officially recognized supported Linux kernel versions.
  • Supported FreeBSD versions are 12-STABLE and 13-CURRENT.
S
Description
No description provided
Readme 122 MiB
Languages
C 70.2%
Shell 19.9%
Assembly 5.1%
M4 1.9%
Python 1.6%
Other 1.3%