Re: [patch] voluntary-preempt-2.6.8.1-P5
From: Ingo Molnar
Date: Fri Aug 20 2004 - 14:03:49 EST
* K.R. Foley <kr@xxxxxxxxxx> wrote:
> Here is a latency trace generated by the NFS compile in the
> stress-kernel. It is ~1.7 ms which doesn't really surprise me for the
> NFS compile. I am going to take the NFS compile out of the test now
> and see what else falls out.
NFS uses lock_kernel() for most of its locking. This means that the
sharing and locking rules and assumptions are not clear (it's all within
this opaque lock). I tried to figure out whether it would be safe to do
a lock-break in nfs_cached_lookup() but it's quite hard ... Please bug
the NFS-client maintainer(s) about this. To break this latency we'd have
to do a lock-break in fs/nfs/dir.c:nfs_cached_lookup()'s main loop:
for(;(page = find_get_page(dir->i_mapping, desc.page_index)); desc.page_index++) {
res = -EIO;
you could try this at the end of the loop:
if (res == 0)
goto out_found;
if (res != -EAGAIN)
break;
+ cond_resched();
}
but i cannot guarantee that this is correct ... It might seem to work
now but break later under load, etc. It's the NFS maintainer's call.
> If it would be useful for me to provide additional information with
> this, please let me know.
reports like this are perfect for most latencies. I tried to include
everything that is needed normally in /proc/latency_trace itself.
Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/