Messages in this thread | | | Date | Tue, 7 Dec 2021 13:17:41 +0000 | From | Matthew Wilcox <> | Subject | Re: [PATCH] fs/dcache: prevent repeated locking |
| |
On Tue, Dec 07, 2021 at 10:16:46AM +0000, cgel.zte@gmail.com wrote: > From: Lv Ruyi <lv.ruyi@zte.com.cn> > > Move the spin_lock above the restart to prevent to lock twice > when the code goto restart.
This is madness.
void d_prune_aliases(struct inode *inode) spin_lock(&inode->i_lock); if (likely(!dentry->d_lockref.count)) { __dentry_kill(dentry); goto restart; ... static void __dentry_kill(struct dentry *dentry) if (dentry->d_inode) dentry_unlink_inode(dentry); ... static void dentry_unlink_inode(struct dentry * dentry) spin_unlock(&inode->i_lock);
Did you even test this patch?
| |