Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755278AbbLaD3W (ORCPT ); Wed, 30 Dec 2015 22:29:22 -0500 Received: from userp1040.oracle.com ([156.151.31.81]:41883 "EHLO userp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752239AbbLaD3P (ORCPT ); Wed, 30 Dec 2015 22:29:15 -0500 Message-ID: <5684A0CD.9040005@oracle.com> Date: Thu, 31 Dec 2015 11:28:13 +0800 From: Bob Liu User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 MIME-Version: 1.0 To: Dan Williams CC: Ross Zwisler , "linux-kernel@vger.kernel.org" , "H. Peter Anvin" , "J. Bruce Fields" , "Theodore Ts'o" , Alexander Viro , Andreas Dilger , Dave Chinner , Ingo Molnar , Jan Kara , Jeff Layton , Matthew Wilcox , Thomas Gleixner , linux-ext4 , linux-fsdevel , Linux MM , linux-nvdimm , X86 ML , XFS Developers , Andrew Morton , Matthew Wilcox , Dave Hansen Subject: Re: [PATCH v6 2/7] dax: support dirty DAX entries in radix tree References: <1450899560-26708-1-git-send-email-ross.zwisler@linux.intel.com> <1450899560-26708-3-git-send-email-ross.zwisler@linux.intel.com> <56838FA3.5030909@oracle.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Source-IP: aserv0021.oracle.com [141.146.126.233] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1512 Lines: 33 On 12/31/2015 04:39 AM, Dan Williams wrote: > On Wed, Dec 30, 2015 at 12:02 AM, Bob Liu wrote: >> Hi Ross, >> >> On 12/24/2015 03:39 AM, Ross Zwisler wrote: >>> Add support for tracking dirty DAX entries in the struct address_space >>> radix tree. This tree is already used for dirty page writeback, and it >>> already supports the use of exceptional (non struct page*) entries. >>> >>> In order to properly track dirty DAX pages we will insert new exceptional >>> entries into the radix tree that represent dirty DAX PTE or PMD pages. >> >> I may get it wrong, but there is "struct page" for persistent memory after >> "[PATCH v4 00/18]get_user_pages() for dax pte and pmd mappings". >> So why not just add "struct page" to radix tree directly just like normal page cache? >> >> Then we don't need to deal with any exceptional entries and special writeback. > > That "struct page" is optional and fsync/msync needs to operate in its absence. > Any special reason or scenario that "struct page" should not be enabled? I didn't see any disadvantages if always enable "struct page" by force when using DAX model for pmem. The benefits would be things can be more simple and less potential bugs because of smaller patches. Happy New Year! Bob -- 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/