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/