Received: by 2002:ac0:946b:0:0:0:0:0 with SMTP id j40csp186743imj; Thu, 14 Feb 2019 18:14:23 -0800 (PST) X-Google-Smtp-Source: AHgI3Ia9urcx1cuWOoL/XePMHjHNQ9LzXIbseqWUJBEJMgi28fXES1HQGWYNGJqOm/cUYbM4avyX X-Received: by 2002:a17:902:6941:: with SMTP id k1mr7427926plt.195.1550196863199; Thu, 14 Feb 2019 18:14:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550196863; cv=none; d=google.com; s=arc-20160816; b=SZj34co5pBecB2mA8BS5FHtMFECvGcLg3p8AWdOTt4Vh3L8OBx/uTiVULdiFcMdAW1 V6jX8uLre9Bk1NdY8UEFXvmoGbU2e9vNgQ8+mFzy0aWBtRyIWaMHzWks/mWjIRvopzwG FgXAkmrL5WcGlUtk3M4imzFZ6F8u1PPQf+owuzLc400mLtBrPgndEtxDF/ARkP3CMh88 BJ9/18J/LJUuVUYJYwNKXOMcAwuXWZTYcbwmG765cPfkL225osPf/sZM8x3n4w9dhKQC jolu2czoMf3AypV9XMaipW7T78pNs7zsOsIQA1uPmBm0BRrkRc9RQWzxD0g10Ir0hDKg kYhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=HrnmOcLwQtleQurYKggtjP9g5bRSbNniMtw2xw4Qz3E=; b=hnzAqwQcPOS3jTGrxAzf4F/LIiYs42/W4ToAzXwJoRzoqDsfTi7Ar71t33E9E2Tf52 gJIYhmpoR7W3FWdjbcuUbUm1YlBA6hYqu6JQqePBzyrYj9vh4mAhJzcS7r9iz3ryfotd CWyepouGeYX54q+E9Z+GpnCfv133GEBHD8DJ0A2e+wZVoGsfIddfWpV+X9jq8OjjWV/5 udSm8uzzFjPguUOAGn9pW8yOowygsGkFc4/USpCSBHmPZw4dYAXuc7icJbLwiT0PrY+U Qlb/vkxN5t/3QX6NSGAXh234aogWH+0ofz1V4kTCQU4V0+FG0KjZ3AQ3YIuzdz0VrdMn 5wJQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l3si4338730pld.233.2019.02.14.18.14.07; Thu, 14 Feb 2019 18:14:23 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2406894AbfBNUeP (ORCPT + 99 others); Thu, 14 Feb 2019 15:34:15 -0500 Received: from mx1.redhat.com ([209.132.183.28]:40180 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2406868AbfBNUeP (ORCPT ); Thu, 14 Feb 2019 15:34:15 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D52C880E73; Thu, 14 Feb 2019 20:34:14 +0000 (UTC) Received: from redhat.com (unknown [10.20.6.236]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D998C60A9F; Thu, 14 Feb 2019 20:34:13 +0000 (UTC) Date: Thu, 14 Feb 2019 15:34:12 -0500 From: Jerome Glisse To: Dan Williams Cc: Matthew Wilcox , Michal Hocko , lsf-pc@lists.linux-foundation.org, linux-xfs , linux-fsdevel , linux-ext4 , Linux Kernel Mailing List , linux-nvdimm Subject: Re: [Lsf-pc] [LSF/MM TOPIC] The end of the DAX experiment Message-ID: <20190214203411.GC3420@redhat.com> References: <20190214134622.GG4525@dhcp22.suse.cz> <20190214191013.GA3420@redhat.com> <20190214200840.GB12668@bombadil.infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.10.0 (2018-05-17) X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Thu, 14 Feb 2019 20:34:15 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 14, 2019 at 12:20:11PM -0800, Dan Williams wrote: > On Thu, Feb 14, 2019 at 12:09 PM Matthew Wilcox wrote: > > > > On Thu, Feb 14, 2019 at 11:31:24AM -0800, Dan Williams wrote: > > > On Thu, Feb 14, 2019 at 11:10 AM Jerome Glisse wrote: > > > > I am just again working on my struct page mapping patchset as well as > > > > the generic page write protection that sits on top. I hope to be able > > > > to post the v2 in couple weeks. You can always look at my posting last > > > > year to see more details. > > > > > > Yes, I have that in mind as one of the contenders. However, it's not > > > clear to me that its a suitable fit for filesystem-reflink. Others > > > have floated the 'page proxy' idea, so it would be good to discuss the > > > merits of the general approaches. > > > > ... and my preferred option of putting pfn entries in the page cache. > > Another option to include the discussion. > > > Or is that what you meant by "page proxy"? > > Page proxy would be an object that a filesystem could allocate to > point back to a single physical 'struct page *'. The proxy would > contain an override for page->index. Note that generic page write protection has such object, kind of like stable_node in KSM. You overwritte page->mapping to point to this generic struct which has a pointer to set of callback so that whatever is protecting the page can offer API to break protection (break sharing here). So instead of having struct proxy_page -> struct page you would have the reverse: struct page -> struct proxy and so you do not have to change much in all the file system beside removing the reliance on page->mapping which is what most of my patches are about. Cheers, J?r?me