Hello Petr, >Because all pages must go into the cache, data is unnecessarily >copied from mmapped regions to cache. Avoid this copying by storing >the mmapped regions directly in the cache. > >First, the cache code needs a clean up clarification of the concept, >especially the meaning of the pending list (allocated cache entries >whose content is not yet valid). > >Second, the cache must be able to handle differently sized objects >so that it can store individual pages as well as mmapped regions. > >Last, the cache eviction code must be extended to allow either >reusing the read buffer or unmapping the region. > >Changelog: > v3: do not mmap fractional pages > v2: add mmapped regions to page cache Thanks for your re-posting. I'm testing with the v3 patch, it works fine so far. So v1.5.8 can be released next week. Thanks Atsushi Kumagai >Petr Tesarik (7): > cache: get rid of search loop in cache_add() > cache: allow to return a page to the pool > cache: do not allocate from the pending list > cache: add hit/miss statistics to the final report > cache: allocate buffers in one big chunk > cache: allow arbitrary size of cache entries > cache: store mapped regions directly in the cache > > cache.c | 81 +++++++++++++++++---------------- > cache.h | 16 +++++-- > makedumpfile.c | 138 ++++++++++++++++++++++++++++++++++----------------------- > 3 files changed, 138 insertions(+), 97 deletions(-) > >-- >1.8.4.5