> 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/

Reply via email to