Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spinlock cleanup #3858

Closed
wants to merge 3 commits into from
Closed

Spinlock cleanup #3858

wants to merge 3 commits into from

Conversation

ryao
Copy link
Contributor

@ryao ryao commented Sep 30, 2015

I found a few minor improvements in a review of the use of spinlocks in the zfsonlinux/zfs repository yesterday evening.

posix_acl_dup() is just an atomic_inc. There is no need to protect it
with the inode spinlock.

Signed-off-by: Richard Yao <ryao@gentoo.org>
All users of zv_lock were removed by
37f9dac, but we forgot to remove it.
Lets remove it as clean up.

Signed-off-by: Richard Yao <ryao@gentoo.org>
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
@behlendorf behlendorf added this to the 0.7.0 milestone Sep 30, 2015
@ryao
Copy link
Contributor Author

ryao commented Sep 30, 2015

@behlendorf Just a FYI, ryao/zfs@7046959 is safe to merge. It deletes an unused spin lock whose only invocation is initialization.

behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Oct 2, 2015
All users of zv_lock were removed by 37f9dac, but we forgot to remove
it.  Lets remove it as clean up.

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#3858
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Oct 2, 2015
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#3858
@behlendorf
Copy link
Contributor

Commit 3504ceb skipped, the other were merged as:

919efe9 zfs_inode_update should not call dmu_object_size_from_db under spinlock
bc8ffb2 Remove obsolete zv_lock

@behlendorf behlendorf closed this Oct 2, 2015
tuxoko pushed a commit to tuxoko/zfs that referenced this pull request Nov 11, 2016
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#3858
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Feb 2, 2017
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#3858
behlendorf pushed a commit to behlendorf/zfs that referenced this pull request Feb 2, 2017
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue openzfs#3858
Requires-builders: style
behlendorf pushed a commit that referenced this pull request Feb 3, 2017
We should never block when holding a spin lock, but zfs_inode_update can
block in the critical section of a spin lock in zfs_inode_update:

zfs_inode_update -> dmu_object_size_from_db -> zrl_add -> mutex_enter

Signed-off-by: Richard Yao <ryao@gentoo.org>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Issue #3858
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants