![]() | ||||||||||
Messages in this thread |
On 11/30/06, Jens Wilke <jens.wilke@de.ibm.com> wrote: > - You don't keep track of I/O on the fly to the cache that is mapped > directly in cache_hit(). How do you make sure that this I/O is completed > before you replace a cache block? The previous I/O from cache hit and the later I/O for cache replacement should be queued in order on the cache block device - is this a safe assumption? > - The cache block index is hashed, this means the cache data blocks are not > clustered. I don't think you can solve this problem with a proper hash function. > Perhaps you should consider a (B-)Tree structure for that. The current hash algorithm does clustering to some extent by mapping consecutive blocks from the source device to consecutive blocks on the cache device. But I agree that more sophisticated algorithms can be studied. Thanks a lot for the suggestions. I will try to incorporate them in the next patch. - Ming - 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/ | |||||||||
| Last update: 2006-12-01 07:19 [from the cache] ©2003-2008 | ||||||||||