Re : Re: Re: Re : Re: [PATCH] Squashfs: add asynchronous read support

From: Chanho Min
Date: Sun Dec 22 2013 - 22:03:49 EST




> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/