Skip to content
This repository has been archived by the owner on Feb 26, 2020. It is now read-only.

Remove skc_ref from alloc/free paths #465

Closed
wants to merge 1 commit into from

Conversation

behlendorf
Copy link
Contributor

As described in spl_kmem_cache_destroy() the ->skc_ref count was
added to address the case of a cache reap or grow racing with a
destroy. They are not strictly needed in the alloc/free paths
because consumers of the cache are responsible for not using it
while it's being destroyed.

Removing this code is desirable because there is some evidence that
contention on this atomic negative impacts performance on large-scale
NUMA systems.

As described in spl_kmem_cache_destroy() the ->skc_ref count was
added to address the case of a cache reap or grow racing with a
destroy.  They are not strictly needed in the alloc/free paths
because consumers of the cache are responsible for not using it
while it's being destroyed.

Removing this code is desirable because there is some evidence that
contention on this atomic negative impacts performance on large-scale
NUMA systems.
@behlendorf behlendorf changed the title Issue 463 2 Remove skc_ref from alloc/free paths Jul 23, 2015
@dweeezil
Copy link
Contributor

@behlendorf LGTM and largely matches the change I made myself prior to your posting of this one.

@behlendorf
Copy link
Contributor Author

Merged as:

4699d76 Remove skc_ref from alloc/free paths

@behlendorf behlendorf closed this Jul 24, 2015
@behlendorf behlendorf deleted the issue-463-2 branch July 28, 2017 22:11
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants