HomeFreeBSD

Allocate zfs_znode_cache on the Linux slab

Description

Allocate zfs_znode_cache on the Linux slab

The Linux slab, in general, performs better than the SPl slab in cases
where a lot of objects are allocated and fragmentation is likely present.

This patch fixes pathologically bad behavior in cases where the ARC is
filled with mostly metadata and a user program needs to allocate and
dirty enough memory which would require an insignificant amount of the
ARC to be reclaimed.

If zfs_znode_cache is on the SPL slab, the system may spin for a very
long time trying to reclaim sufficient memory. If it is on the Linux
slab, the behavior has been observed to be much more predictible; the
memory is reclaimed more efficiently.

Signed-off-by: Tim Chase <tim@chase2k.com>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #3283

Details

Provenance
Tim Chase <tim@chase2k.com>Authored on Apr 14 2015, 5:06 AM
Brian Behlendorf <behlendorf1@llnl.gov>Committed on Apr 14 2015, 7:19 PM
Parents
rGd07a16360c1e: Tag zfs-0.6.4
Branches
Unknown
Tags
Unknown

Event Timeline

Brian Behlendorf <behlendorf1@llnl.gov> committed rG5074bfe8ade4: Allocate zfs_znode_cache on the Linux slab (authored by Tim Chase <tim@chase2k.com>).Apr 14 2015, 7:19 PM