Messages in this thread | | | Subject | [patch] wakeup_bdflush related fixes and nfsd optimizations for test10 | From | "Ying Chen/Almaden/IBM" <> | Date | Sat, 11 Nov 2000 09:53:21 -0800 |
| |
Hi,
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 ying@almaden.ibm.com IBM Almaden Research Center [unhandled content-type:application/octet-stream] | |