From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932709AbbKCVS3 (ORCPT ); Tue, 3 Nov 2015 16:18:29 -0500 Received: from mga02.intel.com ([134.134.136.20]:20245 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754871AbbKCVS2 (ORCPT ); Tue, 3 Nov 2015 16:18:28 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,240,1444719600"; d="scan'208";a="826119324" Date: Tue, 3 Nov 2015 14:18:27 -0700 From: Ross Zwisler To: Dan Williams Cc: Dave Chinner , Jens Axboe , Jan Kara , "linux-nvdimm@lists.01.org" , "linux-kernel@vger.kernel.org" , Ross Zwisler , Christoph Hellwig Subject: Re: [PATCH v3 14/15] dax: dirty extent notification Message-ID: <20151103211827.GE23366@linux.intel.com> References: <20151102042941.6610.27784.stgit@dwillia2-desk3.amr.corp.intel.com> <20151102043058.6610.15559.stgit@dwillia2-desk3.amr.corp.intel.com> <20151103011653.GO10656@dastard> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Nov 02, 2015 at 08:56:24PM -0800, Dan Williams wrote: > On Mon, Nov 2, 2015 at 5:16 PM, Dave Chinner wrote: > > On Sun, Nov 01, 2015 at 11:30:58PM -0500, Dan Williams wrote: <> > > Yes, that's a basic feature of Ross's patches. Hence I think this > > special case DAX<->bdev interface is the wrong direction to be > > taking. > > So here's my problem with the "track dirty mappings" in the core > mm/vfs approach, it's harder to unwind and delete when it turns out no > application actually needs it, or the platform gives us an O(1) flush > method that is independent of dirty pte tracking. I don't think that we'll ever be able to "unwind and delete" the dirty page tracking. Even if *some* platform gives us an 0(1) flush method independent of PTE tracking, that will be an optimized path that will need to live along side the path that we'll need to keep for other architectures (like all the ones that exist today).