Messages in this thread | | | Date | Fri, 23 Nov 2012 10:10:26 +0800 | From | Jaegeuk Hanse <> | Subject | Re: Problem in Page Cache Replacement |
| |
On 11/22/2012 11:53 PM, Fengguang Wu wrote: > On Thu, Nov 22, 2012 at 11:41:07PM +0800, Fengguang Wu wrote: >> On Wed, Nov 21, 2012 at 12:07:22PM +0200, Metin Döşlü wrote: >>> On Wed, Nov 21, 2012 at 12:00 PM, Jaegeuk Hanse <jaegeuk.hanse@gmail.com> wrote: >>>> On 11/21/2012 05:58 PM, metin d wrote: >>>> >>>> Hi Fengguang, >>>> >>>> I run tests and attached the results. The line below I guess shows the data-1 page caches. >>>> >>>> 0x000000080000006c 6584051 25718 __RU_lA___________________P________ referenced,uptodate,lru,active,private >>>> >>>> >>>> I thinks this is just one state of page cache pages. >>> But why these page caches are in this state as opposed to other page >>> caches. From the results I conclude that: >>> >>> data-1 pages are in state : referenced,uptodate,lru,active,private >> I wonder if it's this code that stops data-1 pages from being >> reclaimed: >> >> shrink_page_list(): >> >> if (page_has_private(page)) { >> if (!try_to_release_page(page, sc->gfp_mask)) >> goto activate_locked; >> >> What's the filesystem used? > Ah it's more likely caused by this logic: > > if (is_active_lru(lru)) { > if (inactive_list_is_low(mz, file)) > shrink_active_list(nr_to_scan, mz, sc, priority, file); > > The active file list won't be scanned at all if it's smaller than the > active list. In this case, it's inactive=33586MB > active=25719MB. So > the data-1 pages in the active list will never be scanned and reclaimed.
Hi Fengguang,
It seems that most of data-1 file pages are in active lru cache and most of data-2 file pages are in inactive lru cache. As Johannes mentioned, if inter-reference distance is bigger than half of memory, the pages will not be actived. How you intend to resolve this issue? Is Johannes's inactive list threshing idea available?
Regards, Jaegeuk
> >>> data-2 pages are in state : referenced,uptodate,lru,mappedtodisk >> Thanks, >> Fengguang
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |