Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752306AbdHDPLF (ORCPT ); Fri, 4 Aug 2017 11:11:05 -0400 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:35562 "EHLO esa2.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751921AbdHDPLC (ORCPT ); Fri, 4 Aug 2017 11:11:02 -0400 X-IronPort-AV: E=Sophos;i="5.41,321,1498492800"; d="scan'208";a="136025081" From: Bart Van Assche To: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "swanson@eng.ucsd.edu" , "linux-fsdevel@vger.kernel.org" CC: "dan.j.williams@intel.com" , "steven.swanson@gmail.com" Subject: Re: [RFC 01/16] NOVA: Documentation Thread-Topic: [RFC 01/16] NOVA: Documentation Thread-Index: AQHTDIVOwf08JctjQkm13Hkh1sH8VqJ0TmIA Date: Fri, 4 Aug 2017 15:09:49 +0000 Message-ID: <1501859388.2757.1.camel@wdc.com> References: <150174646416.104003.14042713459553361884.stgit@hn> <150174649708.104003.4595004262958377346.stgit@hn> In-Reply-To: <150174649708.104003.4595004262958377346.stgit@hn> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Bart.VanAssche@wdc.com; x-originating-ip: [63.163.107.100] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY1PR0401MB1534;20:qbaq9tWo1ue6tc3fiWxq5zXecW1x5F68FbjKLTjDIFUK9iHWsp+RdhE4K42Kq0Q8XetoT7Y64xmve3vYb0VF8Wp/ldY9uh5CG5qwquJ2ItCDc19U8AMDCg4VLZ+6vMvcOqFLb93DDNriNHob/OjhNuPVLJoj+C1Wz2fsCr9YbEg= x-ms-office365-filtering-correlation-id: 4d17ecc5-2883-46fc-d1db-08d4db4ada39 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(2017052603031)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:CY1PR0401MB1534; x-ms-traffictypediagnostic: CY1PR0401MB1534: wdcipoutbound: EOP-TRUE x-exchange-antispam-report-test: UriScan:; x-microsoft-antispam-prvs: x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(100000703101)(100105400095)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:CY1PR0401MB1534;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:CY1PR0401MB1534; x-forefront-prvs: 0389EDA07F x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(39850400002)(39450400003)(39860400002)(39840400002)(39400400002)(39410400002)(189002)(199003)(24454002)(377424004)(86362001)(2900100001)(36756003)(7736002)(33646002)(229853002)(6116002)(102836003)(8936002)(3846002)(2906002)(6512007)(72206003)(478600001)(25786009)(66066001)(6436002)(54906002)(99286003)(5660300001)(39060400002)(6246003)(305945005)(38730400002)(2950100002)(53936002)(68736007)(2171002)(103116003)(189998001)(3660700001)(4326008)(14454004)(106356001)(8676002)(101416001)(105586002)(97736004)(76176999)(50986999)(2201001)(345774005)(81166006)(3280700002)(6506006)(54356999)(6486002)(77096006)(2501003)(81156014);DIR:OUT;SFP:1102;SCL:1;SRVR:CY1PR0401MB1534;H:CY1PR0401MB1536.namprd04.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-ID: <581854719780B94A9B82DBA986255F00@namprd04.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Aug 2017 15:09:49.9516 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR0401MB1534 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v74FBBLD014859 Content-Length: 1597 Lines: 35 On Thu, 2017-08-03 at 00:48 -0700, Steven Swanson wrote: > +### DAX Support > + > +Supporting DAX efficiently is a core feature of NOVA and one of the challenges > +in designing NOVA is reconciling DAX support which aims to avoid file system > +intervention when file data changes, and other features that require such > +intervention. > + > +NOVA's philosophy with respect to DAX is that when a program uses DAX mmap to > +to modify a file, the program must take full responsibility for that data and > +NOVA must ensure that the memory will behave as expected. At other times, the > +file system provides protection. This approach has several implications: > + > +1. Implementing `msync()` in user space works fine. > + > +2. While a file is mmap'd, it is not protected by NOVA's RAID-style parity > +mechanism, because protecting it would be too expensive. When the file is > +unmapped and/or during file system recovery, protection is restored. > + > +3. The snapshot mechanism must be careful about the order in which in adds > +pages to the file's snapshot image. Hello Steven, Thank you for having shared this very interesting work. After having read the NOVA paper and patch 01/16 I have a question for you. Does the above mean that COW is disabled for writable mmap-ed files? If so, what is the reason behind this? Is there a fundamental issue that does not allow to implement COW for writable mmap-ed files? Or have you perhaps tried to implement this and was the performance not sufficient? Please note that I'm neither a filesystem nor a persistent memory expert. Thanks, Bart.