Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753977Ab0KRDZQ (ORCPT ); Wed, 17 Nov 2010 22:25:16 -0500 Received: from mx1.redhat.com ([209.132.183.28]:58592 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750850Ab0KRDZO (ORCPT ); Wed, 17 Nov 2010 22:25:14 -0500 Message-ID: <4CE49C8B.2050005@redhat.com> Date: Wed, 17 Nov 2010 22:24:59 -0500 From: Rik van Riel User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100806 Fedora/3.1.2-1.fc13 Lightning/1.0b2pre Thunderbird/3.1.2 MIME-Version: 1.0 To: Minchan Kim CC: Peter Zijlstra , KOSAKI Motohiro , Ben Gamari , linux-kernel@vger.kernel.org, rsync@lists.samba.org, linux-mm@kvack.org, Wu Fengguang Subject: Re: fadvise DONTNEED implementation (or lack thereof) References: <20101109162525.BC87.A69D9226@jp.fujitsu.com> <877hgmr72o.fsf@gmail.com> <20101114140920.E013.A69D9226@jp.fujitsu.com> <1289810825.2109.469.camel@laptop> <4CE14848.2060805@redhat.com> <4CE40129.9060103@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1608 Lines: 43 On 11/17/2010 09:47 PM, Minchan Kim wrote: > On Thu, Nov 18, 2010 at 1:22 AM, Rik van Riel wrote: >> On 11/17/2010 05:16 AM, Minchan Kim wrote: >> >>> Absolutely. But how about rsync's two touch? >>> It can evict working set. >>> >>> I need the time for investigation. >>> Thanks for the comment. >> >> Maybe we could exempt MADV_SEQUENTIAL and FADV_SEQUENTIAL >> touches from promoting the page to the active list? >> > > The problem is non-mapped file page. > non-mapped file page promotion happens by only mark_page_accessed. > But it doesn't enough information to prevent promotion(ex, vma or file) I believe we have enough information in filemap.c and can just pass that as a parameter to mark_page_accessed. > Here is another idea. > Current problem is following as. > User can use fadivse with FADV_DONTNEED. > But problem is that it can't affect when it meet dirty pages. > So user have to sync dirty page before calling fadvise with FADV_DONTNEED. > It would lose performance. > > Let's add some semantic of FADV_DONTNEED. > It invalidates only pages which are not dirty. > If it meets dirty page, let's move the page into inactive's tail or head. > If we move the page into tail, shrinker can move it into head again > for deferred write if it isn't written the backed device. That sounds like a good idea. -- All rights reversed -- 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/