> read_pages > for(page_idx ...) { > if (!add_to_page_cache_lru)) { <-- 1) > mapping->a_ops->readpage(filp, page) > squashfs_readpage > for (i ...) { 2) Here, 31 pages are inserted into page cache > grab_cahe_page_nowait <------/ > add_to_page_cache_lru > } > } > /* > * 1) will be failed with EEXIST by 2) so every pages other than first > page > * in list would be freed > */ > page_cache_release(page) > } > > If you see ReadAhead works, it is just by luck as I told you. > Please simulate it with 64K dd. You right, This luck happened frequently with 128k dd or my test.
> I understand it but your patch doesn't make it. > I think my patch can make it if readahead works normally or luckily. Thanks a lot! Chanho, -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/