lkml.org 
[lkml]   [2004]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [patch] voluntary-preempt-2.6.8.1-P9

    * Lee Revell <rlrevell@joe-job.com> wrote:

    > I am seeing large latencies (600-2000 usec) latencies in
    > dcache_readdir. This started when the machine became a Samba server
    > and the dcache presumably got large. Traces are at the above url (8
    > and 9 I believe). I think this patch fixes it.
    >
    > --- fs/libfs.c~ 2004-08-14 06:54:47.000000000 -0400
    > +++ fs/libfs.c 2004-08-27 00:44:17.000000000 -0400
    > @@ -140,6 +140,7 @@
    > }
    > for (p=q->next; p != &dentry->d_subdirs; p=p->next) {
    > struct dentry *next;
    > + voluntary_resched_lock(&dcache_lock);
    > next = list_entry(p, struct dentry, d_child);
    > if (d_unhashed(next) || !next->d_inode)
    > continue;

    In this loop we are iterating over the child-directories of this
    directory. In the next line (not shown in this patch) we drop the
    dcache_lock - so the issue is the 'continue' - where we skip already
    deleted entries. Are you positive this fixes the latencies you are
    seeing? The 'deleted entries' situation ought to be relatively rare.

    Ingo
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:05    [W:4.123 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site