|
From: Hartmut B. <har...@te...> - 2001-11-11 10:35:39
|
> > The current cache manger can only handle small memory segments. This > > results in many calls to the fsd, when there is a read or write with large > > datas, which are not in the cache. > > > This is not true; the fileystem can select the size of the segments which > are used. The filesystem know the size. For a read operation the kernel seclect the correct size. When the datas are in the cache, there is a simple copy operation within memory. When the datas are not in the cache, the cache manger makes for each cache segment a call to the FSD for reading the segment. On FAT32 it is a call for a 4k page. This is result from moving the cache manager function from vfat to the kernel. > > The cooperation betwen the cache and the memory manger isn't good. Each > > missing page results in a single call to the fsd for 4K page. The cache > > manager has no read ahead or delayed write function. > > > I'm working on fixing this. Could you give more detail about what is > missing in the cache manager to support asynchronous i/o. The missing functions are not for asynchronous i/o. For a 'big' rewrite of the vfat driver, there needs some more of the Cc-functions (CcFlushCache, CcCanIWrite, CcDefereWrite, CcPurgeCacheSection, ...). Vfatfs must also implement some callback functions (AcquireForLazyWrite, ReleaseFromLazyWrite, AcquireForReadAhead, ReleaseFromReadAhead). ==================================================== = To remove yourself from this mailing list, go to = = http://www.reactos.com/home/mailing.html = ==================================================== |