From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH v2] fs/dcache.c: avoid soft-lockup in dput() To: Boqun Feng References: <1466564475-30417-1-git-send-email-fangwei1@huawei.com> <20160622065128.GB28443@insomnia> CC: , , , , , , , From: Wei Fang Message-ID: <577C6EA9.6050703@huawei.com> Date: Wed, 6 Jul 2016 10:36:25 +0800 MIME-Version: 1.0 In-Reply-To: <20160622065128.GB28443@insomnia> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: Hi, Boqun, >> diff --git a/fs/dcache.c b/fs/dcache.c >> index d5ecc6e..074fc1c 100644 >> --- a/fs/dcache.c >> +++ b/fs/dcache.c >> @@ -578,7 +578,7 @@ static struct dentry *dentry_kill(struct dentry *dentry) >> >> failed: >> spin_unlock(&dentry->d_lock); >> - cpu_relax(); >> + cond_resched(); > > Is it better to put the cond_resched() in the caller(i.e. dput()), right > before "goto repeat"? Because it's obviously a loop there, which makes > the purpose of cond_resched() more straightforward. Agreed, that's more reasonable. I'll send v3 soon. Thanks, Wei