Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp166242imm; Tue, 19 Jun 2018 18:25:18 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLHDOGdCeW58gIz4DsPn0vIBcbXpecW5E3/PYLqgWgA0Nz4ceTygppaNSacLilbx9zBPovv X-Received: by 2002:a63:82c7:: with SMTP id w190-v6mr16827672pgd.172.1529457918109; Tue, 19 Jun 2018 18:25:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529457918; cv=none; d=google.com; s=arc-20160816; b=gGbRc6WrXj0xND3xLlT9W+HppzUvqNNdOZJtqDgeBcd2uKYuW/FGOn+S/CGXI1lF4g dJBL2B+ENf2KjqsXEAmKpd5gOqMyCzO2BHbapaLcPBFclnnJnpNhgbz0DJkyD5wD2HLp a3GSRVZIlP6tSOarWHzVPMtoi9T0B1cP1oVq8cM6WkTZn67w9xLyZQDrKlE2sETHweAq cqm6v+tuRRJmVidvZJDA6LUftfQoA/ddwnwTZExJ/iMkVdoIJ4HinnUaeCGAp0+jgLd6 J+okGqyxlj1qx0qy64/mIk2uJPdrlx0OAQDTnIn9BYIKBwbI7WsQVEjvupd1YiyXAu8e adlA== 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 :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=qrpZnblF2eHzVdn2Nztszu8BEzPzaYfYt73sXsjrhuQ=; b=d/LM25LLsmXMcAOIg76WKoOlAk7owWW675NPFni1fH9sfIWzEmDHo7qnlsQbcVGZcC 0fiJPFgF1VSwOoCO2mU5tqe6XTpgC9oL+2NAh6CVmnRybvs+sUyouIdUk787UTnK1D9a HXs7Os/LtfIdtftdlGhsEunFyERJZrOxDnIu0uoUs6NqoiX4aJXe3GsUSoTf5OTSquip 1LRI12VfpDArla7F5YMPFpJMlNAs1FP1A3UaOhpi5uqywYrc0BragQmHrS8XmzSyhxaX JdRiWzYCXwUlcZNB73z6gNC+7SpUWlVFh3Qq2I2k4bdHHF/bVwML/9Ro2i6eXnxTAlMF BF/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=xDyHqBE7; 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 e65-v6si967935pfc.336.2018.06.19.18.25.01; Tue, 19 Jun 2018 18:25:18 -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=xDyHqBE7; 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 S1753917AbeFTBYW (ORCPT + 99 others); Tue, 19 Jun 2018 21:24:22 -0400 Received: from mail-oi0-f67.google.com ([209.85.218.67]:34198 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753316AbeFTBYU (ORCPT ); Tue, 19 Jun 2018 21:24:20 -0400 Received: by mail-oi0-f67.google.com with SMTP id i205-v6so1561958oib.1 for ; Tue, 19 Jun 2018 18:24:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=qrpZnblF2eHzVdn2Nztszu8BEzPzaYfYt73sXsjrhuQ=; b=xDyHqBE79byCBXuuPAkHTlAoL4uOIfZ8WLsUMDk0y44z1wOBViwGZwcvf2gTctWE3S EEIU30JxGb+HlTG045q0WLKPx+rgCtGAYdaBBfT8CciGFozHZqt4a3y3MhZTv2q1CsC+ 3MpaadWYKPQqPrnYMcmYw0ax0M5Gwtgw870AS0ey1hE6r2STbSd4Kg+0AQS+Qouob73Q EDpLTmW89UwibzKX26dsh8X8BoE9C5Zl/E5LdPXy8hPf6P7ecONFxqS0hinh8qO5Drwo afw8Jf3TQ29WXrDatptyg5eZ3xzDWvNWz/9U3UhIbZNgeLnm93d4xlWEcbosOPoPxr53 dipw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=qrpZnblF2eHzVdn2Nztszu8BEzPzaYfYt73sXsjrhuQ=; b=Kmyfv6Z1SgRUcRkWiORdOAXZh39KIMQflw6RbUpHBgg8nRyGNerv5gxjAxkUGSJRp3 dowa3EoOt5QfZCyP6f3iEw+5HniovG75gcuYcQ+9OSkJMjIcLTQ+VECadYAeQCg+C4hi puifcQIaChOxP67J9l6Dwt4RPA47UUeYUX14tJs0cVM3SkAUbqZf+F0zurdaQjHuXAm2 4VJ/u9wRSDoXP5Ky33IAWDMMs9rN7R8TBKoo29lV0a4yPJ7pROvo0BVjJCi8cygbfRyD kaisdiYoBWYl4P7H5wPduO8wxnjAPW0WVtBcdqfjz/KvqUpihVbSLDmeeqAylBBm4zim Lmnw== X-Gm-Message-State: APt69E2lSqVypWPZVNdOI0qOehpVlHzkcQKDCzv9291DBeHcU4P/VVTA ucuwotEtgnSez5N+D5dYYi4Iqry0FUnuGq1VEq51xg== X-Received: by 2002:aca:51cb:: with SMTP id f194-v6mr11491207oib.110.1529457860344; Tue, 19 Jun 2018 18:24:20 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a9d:2ea9:0:0:0:0:0 with HTTP; Tue, 19 Jun 2018 18:24:19 -0700 (PDT) In-Reply-To: <70001987-3938-d33e-11e0-de5b19ca3bdf@nvidia.com> References: <311eba48-60f1-b6cc-d001-5cc3ed4d76a9@nvidia.com> <20180618081258.GB16991@lst.de> <3898ef6b-2fa0-e852-a9ac-d904b47320d5@nvidia.com> <0e6053b3-b78c-c8be-4fab-e8555810c732@nvidia.com> <20180619082949.wzoe42wpxsahuitu@quack2.suse.cz> <20180619090255.GA25522@bombadil.infradead.org> <20180619104142.lpilc6esz7w3a54i@quack2.suse.cz> <70001987-3938-d33e-11e0-de5b19ca3bdf@nvidia.com> From: Dan Williams Date: Tue, 19 Jun 2018 18:24:19 -0700 Message-ID: Subject: Re: [PATCH 2/2] mm: set PG_dma_pinned on get_user_pages*() To: John Hubbard Cc: Jan Kara , Matthew Wilcox , Christoph Hellwig , Jason Gunthorpe , John Hubbard , Michal Hocko , Christopher Lameter , Linux MM , LKML , linux-rdma 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 Tue, Jun 19, 2018 at 11:11 AM, John Hubbard wrote: > On 06/19/2018 03:41 AM, Jan Kara wrote: >> On Tue 19-06-18 02:02:55, Matthew Wilcox wrote: >>> On Tue, Jun 19, 2018 at 10:29:49AM +0200, Jan Kara wrote: [..] >> And then there's the aspect that both these approaches are a bit too >> heavyweight for some get_user_pages_fast() users (e.g. direct IO) - Al Viro >> had an idea to use page lock for that path but e.g. fs/direct-io.c would have >> problems due to lock ordering constraints (filesystem ->get_block would >> suddently get called with the page lock held). But we can probably leave >> performance optimizations for phase two. > > > So I assume that phase one would be to apply this approach only to > get_user_pages_longterm. (Please let me know if that's wrong.) I think that's wrong, because get_user_pages_longterm() is only a filesystem-dax avoidance mechanism, it's not trying to address all the problems that Jan is talking about. I don't see any viable half-step solutions.