inode: don't take lock on whole table during ref/unref #21
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
inode_ref/inode_unref are very common operation, and taking
a table->lock makes no complete sense. By making 'ref' as atomic,
we can make most part of the inode_ref/inode_unref as lock-free.
also as a side effect, removed the check for root_inode from
ref/unref functions, thus making them even leaner.
also work on making critical section smaller
Credits: Mohit Agarwal
updates: #1000
Change-Id: I78f0d77f28ed48cdd0dc7c3489fc8ca32c36e263
Signed-off-by: Amar Tumballi amar@kadalu.io