[Trusty] Hang and corruption in dcache_shrink_list
Dave Chiluk
chiluk at canonical.com
Thu Aug 14 18:58:22 UTC 2014
I did some more review of the recent dcache changes that have gone in
upstream, and I think it's appropriate for us to bring those in as well.
I hope pushed my branch 70318 to
http://kernel.ubuntu.com/git?p=chiluk/ubuntu-trusty.git;a=shortlog;h=refs/heads/70318
for review.
Basically I included all upstream patches related to locking (or their
requisite code cleanup patches) that pertain to dcache_shrink_list.
Dave.
On 08/12/2014 08:59 AM, Tim Gardner wrote:
> On 08/08/2014 12:18 PM, Dave Chiluk wrote:
>> BugLink: http://bugs.launchpad.net/bugs/1354157
>>
>> The patchset described here and committed to upstream
>> https://lkml.org/lkml/2014/5/4/7
>> can be cleanly cherry-picked, and has been applied to
>> git://kernel.ubuntu.com/chiluk/ubuntu-trusty.git branch 70318
>> The end user reports that the above patch set fixes the issue.
>>
>> I'd like to get some additional review on this patchset before
>> submitting it for actual inclusion.
>>
>> That all being said, I think we should strongly consider pulling in
>> 046b961b4
>> b2b80195d
>> 9f12600fe
>> and b2b80195d88
>> as well, as these look to be more related to a possible lock starvation
>> case.
>>
>> Open for discussion.
>> Dave.
>>
>
> I did an identical patch set for a different bug
> (http://bugs.launchpad.net/bugs/1354234). Shall we dup them ?
>
> The following changes since commit 0a0caf5157bffb6340de804b3a8c94e045f68fb7:
>
> ahci_xgene: Use correct OOB tunning parameters for APM X-Gene SoC AHCI
> SATA Host controller driver. (2014-08-12 06:40:52 -0600)
>
> are available in the git repository at:
>
> git://kernel.ubuntu.com/rtg/ubuntu-trusty.git
> lp1354234-dcache-shrink-list-corruption
>
> for you to fetch changes up to 3b1cbde08418dbd8cc2d819b9e7412303818deba:
>
> dcache: don't need rcu in shrink_dentry_list() (2014-08-12 07:47:39 -0600)
>
> ----------------------------------------------------------------
> Al Viro (7):
> fold d_kill() and d_free()
> fold try_prune_one_dentry()
> new helper: dentry_free()
> expand the call of dentry_lru_del() in dentry_kill()
> dentry_kill(): don't try to remove from shrink list
> don't remove from shrink list in select_collect()
> more graceful recovery in umount_collect()
>
> Miklos Szeredi (1):
> dcache: don't need rcu in shrink_dentry_list()
>
> fs/dcache.c | 315
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> include/linux/dcache.h | 2 ++
> 2 files changed, 103 insertions(+), 214 deletions(-)
>
>
More information about the kernel-team
mailing list