Messages in this thread | | | Date | Sat, 10 Nov 2001 15:56:03 +1100 | From | Anton Blanchard <> | Subject | Re: speed difference between using hard-linked and modular drives? |
| |
Hi,
> I'm assuming that walking on average 5-10 pages on a lookup is not too big a > deal, especially when you use prefetch for the list walk. It is a tradeoff > between a big hash table thrashing your cache and a smaller hash table that > can be cached but has on average >1 entries/buckets. At some point the the > smaller hash table wins, assuming the hash function is evenly distributed. > > It would only get bad if the average chain length would become much bigger. > > Before jumping to real conclusions it would be interesting to gather > some statistics on Anton's machine, but I suspect he just has an very > unevenly populated table.
You can find the raw data here:
http://samba.org/~anton/linux/pagecache/pagecache_data_gfp.gz http://samba.org/~anton/linux/pagecache/pagecache_data_vmalloc.gz
You can see the average depth of the get_free_page hash is way too deep. I agree there are a lot of pagecache pages (17GB in the gfp test and 21GB in the vmalloc test), but we have to make use of the 32GB of RAM :)
I did some experimentation with prefetch and I dont think it will gain you anything here. We need to issue the prefetch many cycles before using the data which we cannot do when walking the chain.
Anton - 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/
| |