lkml.org 
[lkml]   [2008]   [May]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH][RFC]fix soft lock up at NFS mount by per-SB LRU-list of unused dentries
Hi, David

Thank you for reviewing the patch.
I'd fix coding style issues at next post. And,...

David Chinner wrote:
> On Thu, May 22, 2008 at 11:22:18AM +0900, Kentaro Makita wrote:
>> + }
>> + }
>> + }
>
> I'm wondering if this loop is an excessively long time to be holding the
> dcache_lock. I guess the hol dtime is limited by the size of *count being
> passed in. I think we could also do a:
>
> cond_resched_lock(&dcache_lock);
>
> in the loop here to prevent this from occurring....
Did you mean:
- scan sb->s_dentry_lru and move dentries to temporary list
with lock held
- cond_resched_lock(&dcache_lock);
- prune dentries on temporary list
Is that right?

....
>> + spin_lock(&sb_lock);
>> + list_for_each_entry(sb, &super_blocks, s_list) {
>
> Question on lock ordering of sb_lock vs dcache_lock - which is the inner
> lock? Are the two of them held together anywhere else? (/me doesn't
> have time to searchthe code right now).
>
The sb_lock is inner lock. And I searched the whole code and found only
prune_dcache() held both sb_lock and dcache_lock.

Best Regards,
Kentaro Makita
>
> Otherwise it's looking good.
>
> Cheers,
>
> Dave.


\
 
 \ /
  Last update: 2008-05-23 04:17    [W:0.106 / U:0.004 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site