Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp703008ybi; Fri, 24 May 2019 10:04:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqwuCNFc1qHXqRUBNHan5r7OW5Sc3iM4GNfR3B0FethkN6JUlFAHo+kbrY+RD/fKyPpypeeU X-Received: by 2002:a62:55:: with SMTP id 82mr31057947pfa.86.1558717470214; Fri, 24 May 2019 10:04:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1558717470; cv=none; d=google.com; s=arc-20160816; b=qFipOUEo775D3whsf2TKWYsD/xn/v2reLy9O/RhPRBdNTEYlc6xR8k1TUKO8Ua+prn quYiJCVS6aY5/G1v72cYrK5Px0ZniSKLGXQeejgdUJacKwKPjYz8lmHNMIQqpTnKHjm2 4fT30nCCJRUZzmUcTzB8JlBCbJGrI9rW4AFmZrPCPL/NAm4lnBw/daNpOUU7ROlEdccG JHLwTwHVYjVWKhOaHIsm6aOs1gAgfzTFRq96m4gPDU/98y88KOZ6S7mi4pBd+8KecMGQ 9QEV9qinViNSaJjTiioCJTe5GrUKQq6tO11znB75uttMNFuzCSuhziEPQXg+0nYFzEYj Gg2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=uxIEMvL9NPIZt76HNNKGot2fHQFb8ScQQVFnfVEGVdE=; b=sABwyC964Sg0FGb+wVMwsOwdvLyw4GFo0NMfbvk1eMi+lPZZuvF0TCfKo1+VUbgZj9 XuZ9PPOVOF4vvnbdKbbbRil5OHvFVFvdeD5iVA7+Iny6TgMEo295qEBL91HoyLgIiNY6 wW7Cuh/9uh0zcBBgumgWj1Go+xGGctnnwl8DsEw7rRYh6XCmViXO3zerkOfYf+be6n9G COm3W3rhAvW80haCUGVicKVWhe0oplr2fTNsxoYVVlJnlSWgYYeulMWaBmCgRtP0szjw A1v5MfzkAZAVhcHZnSKeyX0JnqqEIGgm48beKRXYg8VNSZg/2DfgILshK12suyRr1LFh ZhQA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=J6E7gPFq; 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m11si4596596pgc.244.2019.05.24.10.04.14; Fri, 24 May 2019 10:04:30 -0700 (PDT) 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; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=J6E7gPFq; 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391234AbfEXRCR (ORCPT + 99 others); Fri, 24 May 2019 13:02:17 -0400 Received: from mail-ot1-f65.google.com ([209.85.210.65]:33227 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2390532AbfEXRCR (ORCPT ); Fri, 24 May 2019 13:02:17 -0400 Received: by mail-ot1-f65.google.com with SMTP id 66so9352713otq.0 for ; Fri, 24 May 2019 10:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=uxIEMvL9NPIZt76HNNKGot2fHQFb8ScQQVFnfVEGVdE=; b=J6E7gPFqhGjQkK6F3GbGp2bqy4JZqM2JGDp4Q4363sxZZKkY1eebXwTOzadjVyNxa/ AwEmFnD2OnTGLyCOsb4EVByimH7YKeH+ofbH0xOkO83ECfI0kA1wzco1g7dCyhxMmqn1 lAjQLIEU87kbYcXgUjMEft09EG/s78/uSMvtXR561r30xuSwzTQgeEs/f23iRNxDK0Oq iv1DfXdnUJiXSNllUJOnrj1nEQzbEEh613meCgyIzDBkPavcXHBSW8mDbIRUarQv5EPB dh51oEmUu1WNnPiJZf+vDq4g8Yp9QXZQJUaZzJ7lJ/aNehbHAk4st7jpd1AxQslcrFO3 kCKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=uxIEMvL9NPIZt76HNNKGot2fHQFb8ScQQVFnfVEGVdE=; b=VR3Xsk4Xe2nx1DSVe/7CoRxwi6PR+3fK6Zov7lBXNWfGt3OKsbwUwVLvk2O1hoj64E Nap8+u5E09boEOdC56QJDFep2dv+JTNr7cST9o3Kuek3J7i7Qc8uSkF4qlP1zn7XSdlc fkecWnVjsuP5HrxU9kxa5xybyXSWlngxOh82qnRXHfFstLvEdgRreane359WhSDtKHWa YPu1fOXjhIGEu4ws3udB2QKhEEf5j/oL0gl04ATqKupCXAzDt7CxZbcNp1KuhSiq+ICK Yj3HUnpUy/XPLktbx0ChysPI+BlLf697uE7pTZc7zF/Rj8ZtwPbOGVvr3CULUOdjmxkJ jXqw== X-Gm-Message-State: APjAAAWu+Z+cck6ya/cGHgKt6TNa8Znld4R8J5dm6XRGd8k4zFnnf2e5 iOaNJdyM/89w5YzuREZnsgsOJsxjn/15krV6JfEHkQ== X-Received: by 2002:a9d:2963:: with SMTP id d90mr14793834otb.126.1558717336323; Fri, 24 May 2019 10:02:16 -0700 (PDT) MIME-Version: 1.0 References: <1557417933-15701-1-git-send-email-larry.bassel@oracle.com> <1557417933-15701-3-git-send-email-larry.bassel@oracle.com> <20190514130147.2pk2xx32aiomm57b@box> <20190524160711.GF19025@ubuette> In-Reply-To: <20190524160711.GF19025@ubuette> From: Dan Williams Date: Fri, 24 May 2019 10:02:04 -0700 Message-ID: Subject: Re: [PATCH, RFC 2/2] Implement sharing/unsharing of PMDs for FS/DAX To: Larry Bassel Cc: "Kirill A. Shutemov" , Mike Kravetz , Matthew Wilcox , Linux MM , Linux Kernel Mailing List , linux-nvdimm Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, May 24, 2019 at 9:07 AM Larry Bassel wrote: > On 14 May 19 16:01, Kirill A. Shutemov wrote: > > On Thu, May 09, 2019 at 09:05:33AM -0700, Larry Bassel wrote: [..] > > > diff --git a/mm/memory.c b/mm/memory.c > > > index f7d962d..4c1814c 100644 > > > --- a/mm/memory.c > > > +++ b/mm/memory.c > > > @@ -3845,6 +3845,109 @@ static vm_fault_t handle_pte_fault(struct vm_fault *vmf) > > > return 0; > > > } > > > > > > +#ifdef CONFIG_MAY_SHARE_FSDAX_PMD > > > +static pmd_t *huge_pmd_offset(struct mm_struct *mm, > > > + unsigned long addr, unsigned long sz) > > > > Could you explain what this function suppose to do? > > > > As far as I can see vma_mmu_pagesize() is always PAGE_SIZE of DAX > > filesystem. So we have 'sz' == PAGE_SIZE here. > > I thought so too, but in my testing I found that vma_mmu_pagesize() returns > 4KiB, which differs from the DAX filesystem's 2MiB pagesize. A given filesystem-dax vma is allowed to support both 4K and 2M mappings, so the vma_mmu_pagesize() is not granular enough to describe the capabilities of a filesystem-dax vma. In the device-dax case, where there are mapping guarantees, the implementation does arrange for vma_mmu_pagesize() to reflect the right page size.