[lkml]   [2000]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[patch] wakeup_bdflush related fixes and nfsd optimizations for test10

This patch includes two sets of things against test10:
First, there are several places where schedule() is called after
wakeup_bdflush(1) is called. This is completely unnecessary, since
wakeup_bdflush(1) already gave up the control, and when the control is
returned to the calling thread who called wakeup_bdflush(1), it should just
go on. Calling schedule() after wakeup_bdflush(1) will make the calling
thread give up control again. This is a problem for some of those latency
sensitive benchmarks (like SPEC SFS) and applications.

Second, (I have posted this to the kernel mailing list, but I forgot to cc
to Linus.) I made some optimizations on racache in nfsd in test10. The idea
is to replace with existing fixed length table for readahead cache in NFSD
with a hash table. The old racache is essentially ineffective in dealing
with large # of files, and yet eats CPU cycles in scanning the table (even
though the table is small), the hash table-based is much more effective
and fast. I have generated the patch for test10 and tested it.

(See attached file: a)

Ying Chen
IBM Almaden Research Center
[unhandled content-type:application/octet-stream]
 \ /
  Last update: 2005-03-22 12:45    [W:0.054 / U:2.836 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site