Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1272115imm; Wed, 19 Sep 2018 15:28:37 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYY118Jwg7j+TNidhhuHotfvvxLa0VNIgolWjEUhK/8KTnV1Mgb926Fi2nfhZFFyrmy8fMn X-Received: by 2002:a65:62d8:: with SMTP id m24-v6mr33865846pgv.307.1537396117835; Wed, 19 Sep 2018 15:28:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537396117; cv=none; d=google.com; s=arc-20160816; b=bBmzvCBErRu3gVP69g+mXZomqV1IZOeQSWKjDXrbK6A7JGixlHa+aIJgHwgD/brXlY HUR9Yz7np47S5fP3aLl/1xZGd2QcaON3j3bOsr4WYYf+E3XIf10LhgpMc9SIemhkhjo9 1qOjMHLDZbsM2ubie9fAgmU1x2fX3PAqpsZ88xdVLZ3dJhs9/C5/OsV7baAHAwDuOTnu sTvOalto8qMThgOFUK6bFhcHUGST+c5zFk6z0KsC6CSKEJMJ4y5q+VexKIQFo++Q+KuR YKhj840EzrCDTe/lS1VOJ+7PidzxV4xrFZxKcbetDMSqF1ifIwW71HuTkinzUDTGQ5mJ Potw== 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=uGMQku/mSf/wlwCn7dSOXgEkc1lf1Qq67PJwNZrg7dk=; b=RnRa6UZj2wSiQRoJvrx3cjjnQOwf/vW306XS8LxCHkj4ArGWCMACgx9oaSV5YTuRhU yjq/3hTHdKotcemi5P/MrgxEdFNgUN94bAOWZQMC21tuGDW3I8A4gdoKtdgSu+AN+7c9 NZmch4C25zzQKAIX8orh3ELLUfIcfhxT7qHYFWK9qPtmqNAXGBhfmV7myfIJrC137qnl WRah+ynPFwz6Qm2zWOUs/DH12bDy9ID0i4MefHrD0Y+suNQefRyu1gpfw69DHKEj1xTO X+1kPt9kgVkKEQOvn+EbQoZ+U9mXE3LY0mCwO7hd2Mx3dxnYK+Zz6g3SQuoCUxSGwDaS /JZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=TAEPYJku; 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 e10-v6si24338441pln.161.2018.09.19.15.28.21; Wed, 19 Sep 2018 15:28:37 -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=TAEPYJku; 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 S1732609AbeITEH1 (ORCPT + 99 others); Thu, 20 Sep 2018 00:07:27 -0400 Received: from mail-oi0-f68.google.com ([209.85.218.68]:43099 "EHLO mail-oi0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726065AbeITEH1 (ORCPT ); Thu, 20 Sep 2018 00:07:27 -0400 Received: by mail-oi0-f68.google.com with SMTP id b15-v6so6561644oib.10 for ; Wed, 19 Sep 2018 15:27:24 -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=uGMQku/mSf/wlwCn7dSOXgEkc1lf1Qq67PJwNZrg7dk=; b=TAEPYJkunp+z1Wo7Vi84X5OEIbkdbDCf9qbroz69oJno6DvrEQPfxhws6xk9N2+3FP ibyYbpPOSjz/1aNHvPrkgfW1r2/FOoLBl0cTEXanxZpTbq58nCs7Fo3ESVYY0+TLrmw8 aLh/kF4ek1Adv4AbLQodDdsKMUHDdCHpur7FTcRYIyTneorKzr5yhy9e9bz7IB2Nhq3y IkYD+XNYkraxFdKPcQqRTmiBntJe6Sm9rcMGUlTY/J9DFJyQbhd2llsLq6Y51YOoUrij UFdWaagYTQERaAiM6+sgmnWt4s+gL7uVluexVcwAKQMiqbk4gyBZ8ZVFmfH7LHWljUVm MgIA== 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=uGMQku/mSf/wlwCn7dSOXgEkc1lf1Qq67PJwNZrg7dk=; b=TugjkaEq0fWKq32o9gDhAm3BJsOdsghqYlNo49eCVZIyVTpTkb3Sg7CVfbqkdqlSvd T+4wkjj1H/+S/AUkFPloMedW1MpGtyFthpfqjKKMHKAzQJ0nI6vwkyp2Y0No5J7ZUPXc g0zuG038x0GmwHt1eutpzDwe3Ojo/XCg4T7PQONV5Ftl0BsdIx8uuzCXyByoY1eNTpPI 12sfOV6GVQ6P5rDBOeqLw9KIHVDVUoYeaI0QRVzguynZYo4bhHK+enY/9RqHY8gXy4hF AcF7v5Y6DxiYFXYY6xB27K9m4vMVoWDGa5Xx/BERnI08sDf4r0hdOZ95RAEslCzQPNjI mEpg== X-Gm-Message-State: APzg51Cer4l0a2qIQdLcQHtVfoAb+M5V1XeNoiBlUBiXNs+BiYbFYjhh VMC+aw4WD8FWy7+WfF/tz5yA5dJaFIv4lkMN/p13lA== X-Received: by 2002:aca:e504:: with SMTP id c4-v6mr2776122oih.246.1537396044382; Wed, 19 Sep 2018 15:27:24 -0700 (PDT) MIME-Version: 1.0 References: <20180919210250.28858-1-keith.busch@intel.com> <40b392d0-0642-2d9b-5325-664a328ff677@intel.com> In-Reply-To: <40b392d0-0642-2d9b-5325-664a328ff677@intel.com> From: Dan Williams Date: Wed, 19 Sep 2018 15:27:13 -0700 Message-ID: Subject: Re: [PATCH 0/7] mm: faster get user pages To: Dave Hansen Cc: Keith Busch , Linux MM , Linux Kernel Mailing List , "Kirill A. Shutemov" 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 Wed, Sep 19, 2018 at 2:15 PM Dave Hansen wrote: > > On 09/19/2018 02:02 PM, Keith Busch wrote: > > Pinning user pages out of nvdimm dax memory is significantly slower > > compared to system ram. Analysis points to software overhead incurred > > from a radix tree lookup. This patch series fixes that by removing the > > relatively costly dev_pagemap lookup that was repeated for each page, > > significantly increasing gup time. > > Could you also remind us why DAX pages are such special snowflakes and > *require* radix tree lookups in the first place? They are special because they need to check backing device live-ness when taking new references. We manage a percpu-ref for each device that registers physical memory with devm_memremap_pages(). When that device is disabled we kill the percpu-ref to block new references being taken, and then wait for existing references to drain. This allows for disabling persistent-memory namepace-devices at will relative to new get_user_pages() requests.