From patchwork Tue Aug 6 16:05:39 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079277 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 30801746 for ; Tue, 6 Aug 2019 16:06:06 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 20C2E1FFD8 for ; Tue, 6 Aug 2019 16:06:06 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 15124209CD; Tue, 6 Aug 2019 16:06:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 894EA1FFD8 for ; Tue, 6 Aug 2019 16:06:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E96966B0006; Tue, 6 Aug 2019 12:06:03 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id E45846B0007; Tue, 6 Aug 2019 12:06:03 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D5CB26B0008; Tue, 6 Aug 2019 12:06:03 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by kanga.kvack.org (Postfix) with ESMTP id 99B1A6B0006 for ; Tue, 6 Aug 2019 12:06:03 -0400 (EDT) Received: by mail-pg1-f199.google.com with SMTP id j9so1205060pgk.20 for ; Tue, 06 Aug 2019 09:06:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ilF0L5eSgEyyYaXFSbddhy3bpJmKXINzOGRCtzZ9aSI=; b=J8M7ae/AXdCFqMTxS19CfczqCqQKnv7J2vNR6v89pjBVLiMgxQ92/kYoTqIK5eCf/9 YU6Q4x3SX+TV+UQC2OHwkKs1ZR+YW4zpWoijxlBofog5gXS5q5+4PewvFImuqzX32cqo SkX/Xe+0OWepTf1WR7T9roBGDlnSUbpojxu60gh8Z/5ua3WxWsGC727PLz8sYEyjJAFE uL/DjNYYC/+rg8mwuV7givtzILI7PCyAiN70yALDX1vQ8N8tc+xbbmzP2ZSfsxtE60JL WD7bqAdIMMUbe6FIwabyfn9E5gTQob67N6BLwUqrDyOhw0uDXEz9OfACj3105IpwnqR2 lFlQ== X-Gm-Message-State: APjAAAWpddciLXcY48IUcPYSkfiOjS6mV6NyR9CRwOd9xSVzrurYGl9Z hYwQJBWJyKgZPn5inubdwNLESw3yU05fKlk0EdKkgepi9GO9LO0rh/ewfwVm4rUJRt6p+LBsNOm N0/JDCYkwYp2n31fdj6w3DW7IwfL/qVZ48gGwCWSKFrbikw3sDiNP5oVGKOqltic= X-Received: by 2002:a63:1341:: with SMTP id 1mr3820415pgt.48.1565107563006; Tue, 06 Aug 2019 09:06:03 -0700 (PDT) X-Google-Smtp-Source: APXvYqxy3rMWXNjuBsbjMbPrKuhAcXcUCRh3JL635sMkd1IcTGqtX9pASVasmMzz7WiR0SjeTTSq X-Received: by 2002:a63:1341:: with SMTP id 1mr3820348pgt.48.1565107561985; Tue, 06 Aug 2019 09:06:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107561; cv=none; d=google.com; s=arc-20160816; b=Kb8p4/KxPERh9Wx8mIfRv8Xtt7dwupBZa6t+uwaomamvetFUH1Bbu01CQpsmyiTCOa 3SPH4iKibgZd9/tlDou0tuHcCOGYNC1uxA1NgHfoP8zEW/76MsgprYJQAWiyEG7G6ZD/ ghVSn6dHbi7Zb3WyGybrVev1uuu2GHmfxZMO46MrgPqeDkE1rBNaYIlKWbrWi61vGNmd Enk1/5e0Ob6+5lDrx8fXk+OrNT4tv9mBG6Twh0cPgtsrgLCv+etStp1AcOds90w4NXra tRyeOnPhxXBK4PPEhslfDXisWKcCTbRSxAflZxKk1jqvQ8yID8mBida/2yKw5V6MTXhw P3mA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ilF0L5eSgEyyYaXFSbddhy3bpJmKXINzOGRCtzZ9aSI=; b=BvUHZRoLBz4BWoy30xX5a7ooYYXN5bj5aeg9UPFNL35+ncwlZpCdLACbnA5f+d2c4D beQrJ1Er8dGjEk2QDVwBxxYbN0FWy0+Rg1wOKlMXXSNWXi0sLktOtYYft/snWIJpbC2y vuXIzVwlxywhVoZiqkoy5qQoCX5jgRncm00br+SiL8+L2Qiv84GmQGKcSScbTS5KVNOF iFU+NgoFmaNdcHwOdVfJxAOvcHYIF3IUiCp+qcqPqXrmN8Klj9aPTy7yuj5B8JGd8z3M 0PKyiAITfqiPAUc8FhoHVxBb9ZjN/chOs41gSQ2Z0f6jXkI7wY3vkmBY/RwbrpP4K5bq H2VQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=hikw7GF8; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id 21si49887909pfo.138.2019.08.06.09.06.01 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=hikw7GF8; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ilF0L5eSgEyyYaXFSbddhy3bpJmKXINzOGRCtzZ9aSI=; b=hikw7GF8n+d60ROTxLBfZvDIvt lWGBz9OAMJ4nVqhoGyF4yYzPEmJ50hwItuCKNXTUScMYDtgdD6ZtVj3qYG7++ZGVk2Q9ltV1R4RHc VqGAKowzDVzvNZ7dsp+tGHAjV0mYw5H5M1cyez5eq1JzrGvXUiS7lApWz9SBQ/bibG532unQjBY13 ObQgADiTMFp8hoPx6SpBkPuWGpWTBCAbirU5kADQ6QscvnjbmbVC0GEWrdHpMovVv26BjA8cMUAt3 tEUUxB/GXyk0FXHu5Z89DXWfkmfju4jCd9ICs/SYWALm/vkEEUwmU+M8iyftX3yZHv5hdll4Qa2Lc j6pVLf9Q==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yI-0000Vj-LP; Tue, 06 Aug 2019 16:05:59 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/15] amdgpu: remove -EAGAIN handling for hmm_range_fault Date: Tue, 6 Aug 2019 19:05:39 +0300 Message-Id: <20190806160554.14046-2-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP hmm_range_fault can only return -EAGAIN if called with the HMM_FAULT_ALLOW_RETRY flag, which amdgpu never does. Remove the handling for the -EAGAIN case with its non-standard locking scheme. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe Reviewed-by: Felix Kuehling --- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 23 +++-------------------- 1 file changed, 3 insertions(+), 20 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 12a59ac83f72..f0821638bbc6 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -778,7 +778,6 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) struct hmm_range *range; unsigned long i; uint64_t *pfns; - int retry = 0; int r = 0; if (!mm) /* Happens during process shutdown */ @@ -822,7 +821,6 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) hmm_range_register(range, mirror, start, start + ttm->num_pages * PAGE_SIZE, PAGE_SHIFT); -retry: /* * Just wait for range to be valid, safe to ignore return value as we * will use the return value of hmm_range_fault() below under the @@ -831,24 +829,12 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) hmm_range_wait_until_valid(range, HMM_RANGE_DEFAULT_TIMEOUT); down_read(&mm->mmap_sem); - r = hmm_range_fault(range, 0); - if (unlikely(r < 0)) { - if (likely(r == -EAGAIN)) { - /* - * return -EAGAIN, mmap_sem is dropped - */ - if (retry++ < MAX_RETRY_HMM_RANGE_FAULT) - goto retry; - else - pr_err("Retry hmm fault too many times\n"); - } - - goto out_up_read; - } - up_read(&mm->mmap_sem); + if (unlikely(r < 0)) + goto out_free_pfns; + for (i = 0; i < ttm->num_pages; i++) { pages[i] = hmm_device_entry_to_page(range, pfns[i]); if (unlikely(!pages[i])) { @@ -864,9 +850,6 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) return 0; -out_up_read: - if (likely(r != -EAGAIN)) - up_read(&mm->mmap_sem); out_free_pfns: hmm_range_unregister(range); kvfree(pfns); From patchwork Tue Aug 6 16:05:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079279 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 669C7746 for ; Tue, 6 Aug 2019 16:06:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 52C1028622 for ; Tue, 6 Aug 2019 16:06:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 43CCF286AC; Tue, 6 Aug 2019 16:06:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D363B28622 for ; Tue, 6 Aug 2019 16:06:08 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B39C86B0007; Tue, 6 Aug 2019 12:06:07 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A9CD26B0008; Tue, 6 Aug 2019 12:06:07 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8A18D6B000A; Tue, 6 Aug 2019 12:06:07 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by kanga.kvack.org (Postfix) with ESMTP id 56D2D6B0007 for ; Tue, 6 Aug 2019 12:06:07 -0400 (EDT) Received: by mail-pg1-f197.google.com with SMTP id j9so1205194pgk.20 for ; Tue, 06 Aug 2019 09:06:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ufYdFo+9XJwMOX62CI8v2zFvEvykN+4LFgKRtsn/jXw=; b=uj1TTtP3JuQkI+mskBIUWJmjMTcA9S7/m5o+Fx7hfQoOSU6m3A4bItRJmv56x5MsFG NtT+ri0B8nm77IzLmKfKm3Ny/ZvzVe9Eavaxof472ryRD/05z1k0+jrrZFQo8dOd82Iy I81QGwZlB5JATak1GbbvVYcw41UbL9ngkRAFaIwqnHMoUIeM9XSPLu9kpCY0U6ZyR3ha B05ZrYMAN9PIV7U5IDri2tXtnJkDcVBcGxOXTpITAP3JY6SW3cVUsVsXhjIqTdRlni1X AVZiXFK3VBV3SR7wzY6pIujQ/or+kpR1hnxb2MPNrLt81+9oXCIt7JEQC6yPgWkGMoov V9zg== X-Gm-Message-State: APjAAAUndBNqZWW0VrsvTIW4SvVucgieTJq2mGQhUjLZz8o1kTWQK02s oKykahl1NlM9Xj2w6im7LJ9sRPFIIGOLUQiARtS3ah+4rg4S/oyYD4MEKBuGFv8BGiLNu882IUT P9Ozq5X6ExW9CufYbtpnD/dIUvdzkZ8W23Z44zOKrsitiB672n3FWwNpX9aiyndk= X-Received: by 2002:a63:2c8:: with SMTP id 191mr3637695pgc.139.1565107566904; Tue, 06 Aug 2019 09:06:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqw/m3MK3AgpOuH7huOS8QGE37ggPOWljBXiOGQ0uATdIop/f0pP3Z98ZYEnn8YUxrt5yOfy X-Received: by 2002:a63:2c8:: with SMTP id 191mr3637631pgc.139.1565107566102; Tue, 06 Aug 2019 09:06:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107566; cv=none; d=google.com; s=arc-20160816; b=U6jnYgedPUIMKzqjRQsj/W1hnOalwjHBYYjROQm28BQIf7k8Jr6Ep1BEM0nF+AT6wG 661UNveyK6xsYjtnd4rkMsMmT1ErO/dfLr+iJQPNZrbpKRu/3GHXsC70MIptErHY1avA vwchglMW6jKqB9t1yUH1vm7DrFWNzxcyNy8xYZaZ/QNirNmCP0j02RQdJDawTanM2Fv0 I9aHRH/3d5mgMTMLGPHI+cFMMmDorh4/DkOhHv5jiPtfIgE9AWQ6kdIv04OieJlR3hO7 4fDCS5Ioxks9KEjAinb7QO4QhePb9Agn3XFaEupGdmZ5GJhjum0BChb7VnmegcyWnpND fW8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=ufYdFo+9XJwMOX62CI8v2zFvEvykN+4LFgKRtsn/jXw=; b=0qrSRVm1ayQq5FzshuQUKDk5vl3P2xuG2+Xj8FEdSC1ylE7s3x7L4KrzWVv4R2VXas 2Rna48Lck1I/D/YZ+ffs0fGDquC0ETkTHwIkulf262Z5//KKCi1kWxrDB1CqVEXdQYXF 0T5T1A8omr36Q9YfQ3aaoIqXyeJl6BHT8aii60uw5IMmRpSdNc0QfWOOlHQZ/e/r85Pt LjFgpcOmRyuGaTSKkH2txxH09sU18WOn+TEDN9RNN/KPB4n8KEhhRV7m59u8qvTL6jB9 ZQ924QDrNlK1fMto0ynllJpK7GT78DP9mNp/0irq/xl35LgHYq1TBWgjFZw+2Rg6eAna GYsg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=q54LJoAx; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id c13si42063228plz.242.2019.08.06.09.06.05 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=q54LJoAx; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ufYdFo+9XJwMOX62CI8v2zFvEvykN+4LFgKRtsn/jXw=; b=q54LJoAxOoyTjGRyl8D80iZGMb lYxNuteSkjzIL5LB2TYkC0TXo+C0bsRy0oaVuqo9j0MlqChurC+FdW3n95QWIEUWw/aLfcWCP06yu YXY4J7ATQpT5OS8URVwWNOdqkWOYwNLcl0Hw3gLuN6FJ0B2COSdS/G5yYN5hPpGFTaOp3SSAoAhBN qThI/PXzNb6HKEIEt8dVxjuNyMmN3/LShHRtoUekUi9yBJA6s3ob8DsdTaxVBL+x/f2AtJACyVtKV r6sws4m88ditq+6B0oyycJeE1GcnQuNUd5x4WojtPgxtoFGkbowjE63VyCmmwr/UBTCy6BBjx33BB No0OVtTQ==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yL-0000WO-Aq; Tue, 06 Aug 2019 16:06:01 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 02/15] amdgpu: don't initialize range->list in amdgpu_hmm_init_range Date: Tue, 6 Aug 2019 19:05:40 +0300 Message-Id: <20190806160554.14046-3-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The list is used to add the range to another list as an entry in the core hmm code, and intended as a private member not exposed to drivers. There is no need to initialize it in a driver. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe Reviewed-by: Felix Kuehling --- drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c index b698b423b25d..60b9fc9561d7 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c @@ -484,6 +484,5 @@ void amdgpu_hmm_init_range(struct hmm_range *range) range->flags = hmm_range_flags; range->values = hmm_range_values; range->pfn_shift = PAGE_SHIFT; - INIT_LIST_HEAD(&range->list); } } From patchwork Tue Aug 6 16:05:41 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079281 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B5EE01395 for ; Tue, 6 Aug 2019 16:06:12 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A67F528622 for ; Tue, 6 Aug 2019 16:06:12 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9AC14286AC; Tue, 6 Aug 2019 16:06:12 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 73CF828622 for ; Tue, 6 Aug 2019 16:06:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B15536B0008; Tue, 6 Aug 2019 12:06:08 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A794B6B000A; Tue, 6 Aug 2019 12:06:08 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A7C26B000C; Tue, 6 Aug 2019 12:06:08 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id 34ACE6B0008 for ; Tue, 6 Aug 2019 12:06:08 -0400 (EDT) Received: by mail-pf1-f199.google.com with SMTP id i26so56107999pfo.22 for ; Tue, 06 Aug 2019 09:06:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=jw2njJjxDN00xjjd9oeT2JTOUWmPpUSj71zvFEWivDw=; b=UqJ+Z1iKY4fPiRsPDamrYva8rEHnL9m0smstcy6Ry/4P9+TXnGL+jS+XZqRRSnyYEC VuJnJHHsTKQ9iZMuBIDQoBM8+SomFhAAEZ6V//RToHpVjae+pG1MJS0dC5Gtk/1wxvFR /sLNYda9yuCN56XZN1AHsdAePsshPeVBF5SQQ2i6+X1qTCMvUzeUPHfBPSwwllLtAy8/ EcCvUlm7L+RcICkV7ra4uxunqtBTYmyUN2LrzsrX8vw+s1yEji5ucf00fGXCRqL1ROnr hkw5YpC/SDQ+nMgD1x0E+2sjPvU448sigc2n0V2dPohtFEJnAtBVOkUkhz8QzxtSlr5H t8zA== X-Gm-Message-State: APjAAAUnnFO8NqabjoC1oiz87gAGSLAEERpBKB7RkgXAAvPXqeM83Oul b7I4nVIpQiuMhH+oNkoh3fT+1Qog6X1EQT18i1z1AXvYHDbbju7LE/pdtd0uf2eAl81D6K8sKLJ 8x6dLIyymTHIrIRKpPwTjVzwidUudIhuDKYXH6HHLuoCmPdg4AKlEvZjERn2YPkY= X-Received: by 2002:a17:90a:d998:: with SMTP id d24mr3919201pjv.89.1565107567820; Tue, 06 Aug 2019 09:06:07 -0700 (PDT) X-Google-Smtp-Source: APXvYqzeOwuyBI34ezvV+7pe1pu/1+U9TBB3wwXh5YJtj6QP1vcyZXycdyUJ3Sk8s0KCUzvb8gpC X-Received: by 2002:a17:90a:d998:: with SMTP id d24mr3919131pjv.89.1565107567043; Tue, 06 Aug 2019 09:06:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107567; cv=none; d=google.com; s=arc-20160816; b=oa4Wr7XT3u508T+KiGt+NvNbW1FJFPTLO0Pf5mofpAywfAYCjnE4GtCtj2w7MCTCOl 0awWgQYy4kkEWNgVfbacOjcXOrh4kJb99Il5vJ2NQhejrLo2FQQvfx1kPedyUZBhhp1m DXFEE9LcBxM+uCuQDqVPuCQR44PM+xbAqvxoyzs65hn4qxlPmOfctQEj3MKGXQlPBYRz Ig+0+LM0L2xqqCzjXbSMKYowvLXYDruaEDwf6LAhoxPAJDmLmGHjhy22i5ahSZ33FId2 rsEfUeTIbNihLXK27msEkKMPvlA+9p3GhN0K9pQpNlaPyTSietLsiUUVu2aYIzzCRChZ DTgw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=jw2njJjxDN00xjjd9oeT2JTOUWmPpUSj71zvFEWivDw=; b=xw3lkQ5rqLqhDZaEk5gAdeKbv1ZQpsfSlmOzwlmbzYihbFbN43x5HIXzIuS+Y4VbqC 1mVve4dqrGjxInqqvp6yobS6NdwtxusoxH65HN6q24uiMklIonCDGh2iZOktqgIwlUDj hT+/00Oc42XVjlPIvVVtx/jFK7q5ywUz9sQBQb4oiAWFBQcGZDnRsHbrwQgZ7SZq6rA7 rpBLaClEPEfoETmhCIlJCwZZNhiOIuCUjdAL10WL9dwe4if6wj/kvibo1ZP3OPpCxLIr AaqkuNj9JSMDSxuK+ZkHBv0g4spKp3HTt+CKJcSCLtgpWQg5Gyf8peav+JWSYK+iPqZh 3V4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=cmioyjZC; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id l9si42216945plb.317.2019.08.06.09.06.06 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:07 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=cmioyjZC; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=jw2njJjxDN00xjjd9oeT2JTOUWmPpUSj71zvFEWivDw=; b=cmioyjZCRaAvXECnpQCfCtKV3C K6YAmV14z7KzaLLRcZnOGNm3ot7ObXpIslQKkBo302RvxpCZ57t1lyfgPMlq0K6LpFLAnnuXnxN2l oK6v0GVmq4XYrQlvovjELgFqZz8EvXaxN7ZAD+Zzn5q9BWmWt0Bj9Ng4wanLQM9xg9QLPubAnfYfs o87f0v3ABw2MP8ipKyGHf5hthuEMCBJiFKlblJH1sngrV+4+Yt59Ls/zba8gozAbC/+Xx83B8UIBT qbQ8T3GYeHHLhVMf6okW/RCk/RAHVfakdX+WZ43C01pgYavVeXeSjx5UpdazVVL0bwLYw0obZTQhj gvK/DVXQ==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yO-0000X0-0k; Tue, 06 Aug 2019 16:06:04 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/15] nouveau: pass struct nouveau_svmm to nouveau_range_fault Date: Tue, 6 Aug 2019 19:05:41 +0300 Message-Id: <20190806160554.14046-4-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP We'll need the nouveau_svmm structure to improve the function soon. For now this allows using the svmm->mm reference to unlock the mmap_sem, and thus the same dereference chain that the caller uses to lock and unlock it. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- drivers/gpu/drm/nouveau/nouveau_svm.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c index a74530b5a523..98072fd48cf7 100644 --- a/drivers/gpu/drm/nouveau/nouveau_svm.c +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c @@ -485,23 +485,23 @@ nouveau_range_done(struct hmm_range *range) } static int -nouveau_range_fault(struct hmm_mirror *mirror, struct hmm_range *range) +nouveau_range_fault(struct nouveau_svmm *svmm, struct hmm_range *range) { long ret; range->default_flags = 0; range->pfn_flags_mask = -1UL; - ret = hmm_range_register(range, mirror, + ret = hmm_range_register(range, &svmm->mirror, range->start, range->end, PAGE_SHIFT); if (ret) { - up_read(&range->hmm->mm->mmap_sem); + up_read(&svmm->mm->mmap_sem); return (int)ret; } if (!hmm_range_wait_until_valid(range, HMM_RANGE_DEFAULT_TIMEOUT)) { - up_read(&range->hmm->mm->mmap_sem); + up_read(&svmm->mm->mmap_sem); return -EBUSY; } @@ -509,7 +509,7 @@ nouveau_range_fault(struct hmm_mirror *mirror, struct hmm_range *range) if (ret <= 0) { if (ret == 0) ret = -EBUSY; - up_read(&range->hmm->mm->mmap_sem); + up_read(&svmm->mm->mmap_sem); hmm_range_unregister(range); return ret; } @@ -689,7 +689,7 @@ nouveau_svm_fault(struct nvif_notify *notify) range.values = nouveau_svm_pfn_values; range.pfn_shift = NVIF_VMM_PFNMAP_V0_ADDR_SHIFT; again: - ret = nouveau_range_fault(&svmm->mirror, &range); + ret = nouveau_range_fault(svmm, &range); if (ret == 0) { mutex_lock(&svmm->mutex); if (!nouveau_range_done(&range)) { From patchwork Tue Aug 6 16:05:42 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079283 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 32E0B1395 for ; Tue, 6 Aug 2019 16:06:15 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 23F221FFD8 for ; Tue, 6 Aug 2019 16:06:15 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 17F0128662; Tue, 6 Aug 2019 16:06:15 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5C0931FFD8 for ; Tue, 6 Aug 2019 16:06:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76BD96B000A; Tue, 6 Aug 2019 12:06:11 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 6A5796B000C; Tue, 6 Aug 2019 12:06:11 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 486B66B000D; Tue, 6 Aug 2019 12:06:11 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id F20356B000A for ; Tue, 6 Aug 2019 12:06:10 -0400 (EDT) Received: by mail-pf1-f199.google.com with SMTP id j22so56133126pfe.11 for ; Tue, 06 Aug 2019 09:06:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=SLYhAoIvzDqEf4YX6gjEiCAIywOZyrNyWp5yd9O/FEc=; b=eCTL1t08mAvbawsfjOJdOeIncnoJzkajC5LsqfrhRm6aD+Z7rm4qfHk47/3hbwfk/0 fWD84NupEyKNOvtLFN5x+DlO3NulMpDK3IKWyd90IsjcrcPytwlsutH+bg00/Bi/eFYb pKOmYcOTomeNttyQbInaxzsOEWKRI03Bh+F5+OOtrXJEELKuycmk8SCf026vFTgnYbc/ R49o1wYFx5qBnfnMnJd37OQGR9Vrn1v3ykEJefqLkUFjlX0aoIe1UtXrDPa+dQ5aAps2 EyJe515dIuihDykgcrTbjWl+kdCnO/XtKoqGWGAkGljk683SePtQTLDnM45dGapXoRdo y4mQ== X-Gm-Message-State: APjAAAXmkD2YQMyLHR5pJ8+kAIBHDjgI5sJv0YJyEtwJPhgdsuwLUo2M d6NoLZKChFaZRYnGem6pDVikmnX11r72sEUaOYObLLXzu4HPnRJ8L52SPkeI/XvrwZKMiSD6EKu tNTOf8cFtf2poY/zt7G+wWqLBmPHdp/7ipzLR3M3l37cAHdSXBie3OZcnKzQ+e8g= X-Received: by 2002:a17:902:9a07:: with SMTP id v7mr3933554plp.245.1565107570646; Tue, 06 Aug 2019 09:06:10 -0700 (PDT) X-Google-Smtp-Source: APXvYqyw+DYyP3EHreoFnw9k3rilByTtf48/g6QUu23a7S7DRCegjoHyU6+BgLuOWn6vg7GTyjhb X-Received: by 2002:a17:902:9a07:: with SMTP id v7mr3933489plp.245.1565107569648; Tue, 06 Aug 2019 09:06:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107569; cv=none; d=google.com; s=arc-20160816; b=l/UUi697bdCSmDlK6Nc/J/i8YrCbYsceAmaZBnc2sWdX3ofAaP4ogzXvMygaatJjxQ zIpN3FkcstJ2hWJ8pKmyKQk/vpu/l0DIHCaVuSJgLe90s36WeyfHTQXS5704LiFFKmhS xRSNAFfiEyqFtkvE1XYNsVSRaMtxoBmO5R37FqgAQPTgADmIX2rxPOBiZvtCpipjGlnS bT2NO+EfkkqbV76qBCfN6cvzCXuruOlBeyiYeBnVBK2zBuN4GBlBcukMwcCHHjNbaKdJ F+q3t/XaoYXnNEcPv/5d8mHLScp3ekgwjOobV92cMpSXG3yGVMKOvqjk1XPOtFpVJCQA JIkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=SLYhAoIvzDqEf4YX6gjEiCAIywOZyrNyWp5yd9O/FEc=; b=pwyeWd6Tp5DXKFMUZja8IptiuZzOb1t26muAF11CDdzoOZXcyGEmq3GRkjrxZfGzgs 7UUs428cJCmE8oEdrkjbUe+53UWMfsBArnndjwSaEWzg1/5lE9dileiic0oQMu8T73BP ORIDIFPQ1V2MIDKA3o8hnumwpYpgha+Jg/YCQMUMBoJjMKQwVFnePLBm2PCSaxoSJlzD 4A+NGpctoUoKLq0r2SoAXm794VBeAlC2NohPtjUwJincMtANwPBveEft3JUJ6eQUZ+Iv 6fZ+fDaWq2YiVxQqDxQA919NBWmWXFetrx5xZNLekVYJIZaSOhMmnSTEFWz39zled07o 3b8g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=ZNuLdRhA; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id q14si14717750pjp.78.2019.08.06.09.06.09 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:09 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=ZNuLdRhA; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=SLYhAoIvzDqEf4YX6gjEiCAIywOZyrNyWp5yd9O/FEc=; b=ZNuLdRhAOMk24S174/yZdDV6qO lGDI8hj/2Sp6HzhN6L4ltpD8OkBMyBd8t54sr7xtN/Nm0X9aScPZNYbr6e24CdIcFY0ifRnqbhvSx g4e1gGltvFziBE4qSwzZL3Mpsx87iJegFvxi/T6uj3sYDUyXUrnVVrzbxRnMDWlxU6AJLWqgv2JK7 H7WPXVEgRHKLJLJ2yCGHOBFynfDAy/39Yl1kWt9L1tZOkXaAWNOnFq/1380shWLbJiJpBGFU1D6Dq 3N6XXfM9pTJqjDNxS7LuY57MTjTKAcw3aS1ggvk+SOq+w5ey5DAXmyTNXS5yU3KC4vdcf/IlskrE4 GWrBdBhg==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yQ-0000XS-IJ; Tue, 06 Aug 2019 16:06:06 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 04/15] mm: remove the pgmap field from struct hmm_vma_walk Date: Tue, 6 Aug 2019 19:05:42 +0300 Message-Id: <20190806160554.14046-5-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP There is only a single place where the pgmap is passed over a function call, so replace it with local variables in the places where we deal with the pgmap. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 62 ++++++++++++++++++++++++-------------------------------- 1 file changed, 27 insertions(+), 35 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index 9a908902e4cc..d66fa29b42e0 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -278,7 +278,6 @@ EXPORT_SYMBOL(hmm_mirror_unregister); struct hmm_vma_walk { struct hmm_range *range; - struct dev_pagemap *pgmap; unsigned long last; unsigned int flags; }; @@ -475,6 +474,7 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk, #ifdef CONFIG_TRANSPARENT_HUGEPAGE struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; + struct dev_pagemap *pgmap = NULL; unsigned long pfn, npages, i; bool fault, write_fault; uint64_t cpu_flags; @@ -490,17 +490,14 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk, pfn = pmd_pfn(pmd) + pte_index(addr); for (i = 0; addr < end; addr += PAGE_SIZE, i++, pfn++) { if (pmd_devmap(pmd)) { - hmm_vma_walk->pgmap = get_dev_pagemap(pfn, - hmm_vma_walk->pgmap); - if (unlikely(!hmm_vma_walk->pgmap)) + pgmap = get_dev_pagemap(pfn, pgmap); + if (unlikely(!pgmap)) return -EBUSY; } pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags; } - if (hmm_vma_walk->pgmap) { - put_dev_pagemap(hmm_vma_walk->pgmap); - hmm_vma_walk->pgmap = NULL; - } + if (pgmap) + put_dev_pagemap(pgmap); hmm_vma_walk->last = end; return 0; #else @@ -520,7 +517,7 @@ static inline uint64_t pte_to_hmm_pfn_flags(struct hmm_range *range, pte_t pte) static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr, unsigned long end, pmd_t *pmdp, pte_t *ptep, - uint64_t *pfn) + uint64_t *pfn, struct dev_pagemap **pgmap) { struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; @@ -591,9 +588,8 @@ static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr, goto fault; if (pte_devmap(pte)) { - hmm_vma_walk->pgmap = get_dev_pagemap(pte_pfn(pte), - hmm_vma_walk->pgmap); - if (unlikely(!hmm_vma_walk->pgmap)) + *pgmap = get_dev_pagemap(pte_pfn(pte), *pgmap); + if (unlikely(!*pgmap)) return -EBUSY; } else if (IS_ENABLED(CONFIG_ARCH_HAS_PTE_SPECIAL) && pte_special(pte)) { *pfn = range->values[HMM_PFN_SPECIAL]; @@ -604,10 +600,10 @@ static int hmm_vma_handle_pte(struct mm_walk *walk, unsigned long addr, return 0; fault: - if (hmm_vma_walk->pgmap) { - put_dev_pagemap(hmm_vma_walk->pgmap); - hmm_vma_walk->pgmap = NULL; - } + if (*pgmap) + put_dev_pagemap(*pgmap); + *pgmap = NULL; + pte_unmap(ptep); /* Fault any virtual address we were asked to fault */ return hmm_vma_walk_hole_(addr, end, fault, write_fault, walk); @@ -620,6 +616,7 @@ static int hmm_vma_walk_pmd(pmd_t *pmdp, { struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; + struct dev_pagemap *pgmap = NULL; uint64_t *pfns = range->pfns; unsigned long addr = start, i; pte_t *ptep; @@ -683,23 +680,21 @@ static int hmm_vma_walk_pmd(pmd_t *pmdp, for (; addr < end; addr += PAGE_SIZE, ptep++, i++) { int r; - r = hmm_vma_handle_pte(walk, addr, end, pmdp, ptep, &pfns[i]); + r = hmm_vma_handle_pte(walk, addr, end, pmdp, ptep, &pfns[i], + &pgmap); if (r) { /* hmm_vma_handle_pte() did unmap pte directory */ hmm_vma_walk->last = addr; return r; } } - if (hmm_vma_walk->pgmap) { - /* - * We do put_dev_pagemap() here and not in hmm_vma_handle_pte() - * so that we can leverage get_dev_pagemap() optimization which - * will not re-take a reference on a pgmap if we already have - * one. - */ - put_dev_pagemap(hmm_vma_walk->pgmap); - hmm_vma_walk->pgmap = NULL; - } + /* + * We do put_dev_pagemap() here and not in hmm_vma_handle_pte() so that + * we can leverage the get_dev_pagemap() optimization which will not + * re-take a reference on a pgmap if we already have one. + */ + if (pgmap) + put_dev_pagemap(pgmap); pte_unmap(ptep - 1); hmm_vma_walk->last = addr; @@ -714,6 +709,7 @@ static int hmm_vma_walk_pud(pud_t *pudp, struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; unsigned long addr = start, next; + struct dev_pagemap *pgmap = NULL; pmd_t *pmdp; pud_t pud; int ret; @@ -744,17 +740,14 @@ static int hmm_vma_walk_pud(pud_t *pudp, pfn = pud_pfn(pud) + ((addr & ~PUD_MASK) >> PAGE_SHIFT); for (i = 0; i < npages; ++i, ++pfn) { - hmm_vma_walk->pgmap = get_dev_pagemap(pfn, - hmm_vma_walk->pgmap); - if (unlikely(!hmm_vma_walk->pgmap)) + pgmap = get_dev_pagemap(pfn, pgmap); + if (unlikely(!pgmap)) return -EBUSY; pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags; } - if (hmm_vma_walk->pgmap) { - put_dev_pagemap(hmm_vma_walk->pgmap); - hmm_vma_walk->pgmap = NULL; - } + if (pgmap) + put_dev_pagemap(pgmap); hmm_vma_walk->last = end; return 0; } @@ -1002,7 +995,6 @@ long hmm_range_fault(struct hmm_range *range, unsigned int flags) return -EPERM; } - hmm_vma_walk.pgmap = NULL; hmm_vma_walk.last = start; hmm_vma_walk.flags = flags; hmm_vma_walk.range = range; From patchwork Tue Aug 6 16:05:43 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079285 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 8097A746 for ; Tue, 6 Aug 2019 16:06:17 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 710CB1FFD8 for ; Tue, 6 Aug 2019 16:06:17 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6593D28662; Tue, 6 Aug 2019 16:06:17 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EF3591FFD8 for ; Tue, 6 Aug 2019 16:06:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CEFD16B000C; Tue, 6 Aug 2019 12:06:13 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id B602F6B000D; Tue, 6 Aug 2019 12:06:13 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9B5A16B000E; Tue, 6 Aug 2019 12:06:13 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by kanga.kvack.org (Postfix) with ESMTP id 5C83B6B000C for ; Tue, 6 Aug 2019 12:06:13 -0400 (EDT) Received: by mail-pg1-f198.google.com with SMTP id p15so11582050pgl.18 for ; Tue, 06 Aug 2019 09:06:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=HrWzyj8Xwb8+ibZdNfy7jRFBuLt7LJC7W3wGhE3v6+k=; b=B2VAID+Y39bJpfJM8hq1GUkfm51/CH/QXzoo37TCE6q+1+Egwvl2NkU9csHQyifh5l msyY8MJDb/3dXKVOMNFmotJDryTFF1JPBqWpzOg0nXp/wa9xftjCGSJpGJbvZ6bBfpwB TOJ5S+1q7rz6GFwmoy8v12AQTg4dCZyStfJT1S4A7ZzpH25MxbY0aGMh8bhBCv3uW6BA lZZtg0iTaLS/94APQuxB4bQyw5ZrX9enz31yUoZl5uuy6zDB+a1O2tKSx/0Ulshdu28y g3xK7YQMCURgJZvEWUq4wV6pKJbUButzgnmlBPyKhI3KidyiUpr0Qw3RB/YOcnAYujpE cLQw== X-Gm-Message-State: APjAAAVCZudsyLE3e7F1r2imTTe9qUbqPhxJmeBorAcl+1itJx/AVJww pgDzk6tA+plcMqnA+8KvNNNy9+/efM4CgwKdQ0+Ca+fZGYpecL+G2LC8YHlaE5o+FBkTyiD6ivE tg7EcIl9JmY7W85wHhg/w0/Kfv2rzNlwPE4/XAAD6UngkI+tE0t4pqMnnzws79Hg= X-Received: by 2002:a17:90a:8688:: with SMTP id p8mr4023875pjn.57.1565107573019; Tue, 06 Aug 2019 09:06:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqxJEZeLxChStwpG/ROIpuvmTbospirawcwlX12XMK0FWcYORO4fb64zuqtz1c+DEb903Lje X-Received: by 2002:a17:90a:8688:: with SMTP id p8mr4023797pjn.57.1565107572049; Tue, 06 Aug 2019 09:06:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107572; cv=none; d=google.com; s=arc-20160816; b=fPDGz1UOssCCrJThfxvqxJgmM0ExIVWk/svuBX4rPg/BYyUfFlCoN9eyL2WdxC4vef NR6KVxCG4cB0EmVCtGZWigyVGtM4+xfeZCGUSOotg7Fy2RHVvAGWIwthAm/Fj0XkNLtk 3HdIDDPegCdLK6j7+Ys47D7ukKmfhAenqdb7LHseoM7Y0hXmWIDqhOhbig7pGCL0vgBm yOoXP9w07tyQrRQwbTZIKZi3DY4pYvGxxsuhY4NorbPEF7e5g5IyC9ag2g+OR+pHJ2JX EB++zgs77g2ZTb9TF4i8r8qWBzhPAzRfZpzigKAdfHALTYQ7EIOGcQg4vuWq2y1Y2lQB u6lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=HrWzyj8Xwb8+ibZdNfy7jRFBuLt7LJC7W3wGhE3v6+k=; b=sEzIJ9Rh6bc5F80/PPTJF174C+culcCHu8o3que+j4PB81P/v/HWWfB1sGtmSX2QwG kDbJ9ranCPwty7fO7Epz683tS/3L/spR+OF0jICDV/T0HSEnzNClMHdCv1G+D7s76NFX VFufsn8afH7rzV0qb9o2JJ308ujZsVEejtYolMA06jD8htoxaNZAwQDnkQQUbToQ85oh Is3JObrxFhnn1FbL6UR51oV6sf77cFYlw5ai1x0HRsZjhLO57g2KyQokPvzjgT3SPY0T QHQn1xutVHiITo1sKKfAFPJFfJhGn0IKQIf/h0sMK+KyNAmjvZz7S540ac2RaFii+gg1 LPig== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=tn2lwfTf; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id 66si44969309pld.6.2019.08.06.09.06.11 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:12 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=tn2lwfTf; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=HrWzyj8Xwb8+ibZdNfy7jRFBuLt7LJC7W3wGhE3v6+k=; b=tn2lwfTfokh2Oc5zgMto3Ypnv3 6iPGcbfNQjgmkUu5mqIUEy9RxUmoQoXg0P7FxJsxuV2BqHEUOHG1ZqrGSY77Pd6zjtOG6Kfvy56LL m3DeHaj1r7hN8MK2Z91bk1YSOGvBk4kWiIC+TWAZpScFP1nDvvHRZt0EY0fVphGycnOn6kL6BeVrB 1ZEVzB+PTNmO7XUSZqoPkpb0bHShNHZF8PKoFc0MtKMY3kUn01xaKVO1LGg6/Iiv1krfGhdfpgyoI fiwRrtGmUw7YQTJ+jHCBUcPckkdw/G7pPSJPaJuqBBDwA0N34uvyfuMud/oaFaEHpUJsbW+AcXaEM neN8+r1A==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yT-0000Xl-31; Tue, 06 Aug 2019 16:06:09 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 05/15] mm: remove the unused vma argument to hmm_range_dma_unmap Date: Tue, 6 Aug 2019 19:05:43 +0300 Message-Id: <20190806160554.14046-6-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- include/linux/hmm.h | 1 - mm/hmm.c | 2 -- 2 files changed, 3 deletions(-) diff --git a/include/linux/hmm.h b/include/linux/hmm.h index 82265118d94a..59be0aa2476d 100644 --- a/include/linux/hmm.h +++ b/include/linux/hmm.h @@ -422,7 +422,6 @@ long hmm_range_dma_map(struct hmm_range *range, dma_addr_t *daddrs, unsigned int flags); long hmm_range_dma_unmap(struct hmm_range *range, - struct vm_area_struct *vma, struct device *device, dma_addr_t *daddrs, bool dirty); diff --git a/mm/hmm.c b/mm/hmm.c index d66fa29b42e0..3a3852660757 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -1121,7 +1121,6 @@ EXPORT_SYMBOL(hmm_range_dma_map); /** * hmm_range_dma_unmap() - unmap range of that was map with hmm_range_dma_map() * @range: range being unmapped - * @vma: the vma against which the range (optional) * @device: device against which dma map was done * @daddrs: dma address of mapped pages * @dirty: dirty page if it had the write flag set @@ -1133,7 +1132,6 @@ EXPORT_SYMBOL(hmm_range_dma_map); * concurrent mmu notifier or sync_cpu_device_pagetables() to make progress. */ long hmm_range_dma_unmap(struct hmm_range *range, - struct vm_area_struct *vma, struct device *device, dma_addr_t *daddrs, bool dirty) From patchwork Tue Aug 6 16:05:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079287 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id B90871395 for ; Tue, 6 Aug 2019 16:06:20 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A92861FFD8 for ; Tue, 6 Aug 2019 16:06:20 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 9D71A28662; Tue, 6 Aug 2019 16:06:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id EC7D81FFD8 for ; Tue, 6 Aug 2019 16:06:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 91A616B000D; Tue, 6 Aug 2019 12:06:16 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 87F6C6B000E; Tue, 6 Aug 2019 12:06:16 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6F3B36B0010; Tue, 6 Aug 2019 12:06:16 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f198.google.com (mail-pl1-f198.google.com [209.85.214.198]) by kanga.kvack.org (Postfix) with ESMTP id 3203E6B000D for ; Tue, 6 Aug 2019 12:06:16 -0400 (EDT) Received: by mail-pl1-f198.google.com with SMTP id r7so48614230plo.6 for ; Tue, 06 Aug 2019 09:06:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=mqfjTQaTTQFNSro/hN6gkYpjLV3E2bwnPvulWJTlCQk=; b=Ey5VnNj1sUMLv9R04u9MDeD80+tRT3hc7bEgbL9uPd4w1iH40rk0olRY2sZlL3wwHO pk/Q4tc4gZlHQ+fBP3ixpsiOgmMjghTzxV4fUJpEDjJp+lOj2EqyK5Ww25D6vq4Y14v7 8rNdjMFIJoDWNTDgfE0bhuCbf1dlYquQipCeiv6emzVd8wkCiwxAW4vsQqOuthUQF3+T +xDy0iuK0vGERzOEz3AyADGWJoEKADAOF4SWgvaSyan6iOuVA12QIAjjMBtkJN2WznKW MrQh4c86te6B/zPwI8o7HwtI30X8Snx9tVzqptna9jK8eks1nd3W1lXnEjpHZt31Npxb CtWQ== X-Gm-Message-State: APjAAAXGBzEVaWB+cefbvILsn7PJwXCjeo77zNqtdVHvLgUin0BUCpy1 /qMSIXoEsKJKvtQVIzS7qcmP8qwuVULiHc0/E/7tTZpOEe61PiZ87w4Mulb49V+gcyVovOt6pJq JKkgPiKQ3o7VF+oPEYY00U/9kiKkSC6F+6L7xjd9LOR/RbVYPBzabUQBjGN0LqUc= X-Received: by 2002:a17:902:2884:: with SMTP id f4mr3839649plb.286.1565107575742; Tue, 06 Aug 2019 09:06:15 -0700 (PDT) X-Google-Smtp-Source: APXvYqzo+5oOSwWsoQp1iS7W/98xyiqfTqh4AYmggOBGTh6JcSLq2Z3eYQBmXXT/Z7t70EiWPYyt X-Received: by 2002:a17:902:2884:: with SMTP id f4mr3839580plb.286.1565107574858; Tue, 06 Aug 2019 09:06:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107574; cv=none; d=google.com; s=arc-20160816; b=jx/gX+daliTd9rtE4E4EMxfKq4JE42ztmmPCFPTn7/mFTAag0S8E7a6GzxpoP20LXB u1Ccs5VpXcSlaaA+YOHRoVEYHXx16ksmn79MghMWb91Sn/RX+NXXN5l028XzMklIJW/K /ULFV1n/2Jcf5O1ipKxGfbSspgo/Nq5QZuyy4UfuNrXPEIgbUQWawhZJ5RFq4w201XAC H1fWNLS8RwmRyk/MTGOonthlQbY8BcRNuq0gqxc1PgPtsZbHDZecgNKpacls8OHAXUNY RnFNlexv0jSmn6zh1vAHO6UCW6aO/ax16swIOGtSkWBp8OOI2qB40Yi5Rq+Sb6Oe+hTu HSdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=mqfjTQaTTQFNSro/hN6gkYpjLV3E2bwnPvulWJTlCQk=; b=vN4dzrsxBgq5OLI0yUudcaOFiXNNhZu/5mxcSyyzZqMVg6wjRTMqy7XyP7aAWN7uRy gW5dN0xBxOkoZ/G5w9vXMzmOQlvSZdBhSJ5/vtVl5LqM/OYhZBT4eY67h7ftDcVDTWSa tHQ/ar/vBoKGHSeGKlMbI8gUjKpcvEQETDWmq3dnbGS+RpPRzo5Ih4JqNHCPfV9nf+nO BZY+Z0k9kjIX6IOjy89wDYyaql0I+0RcF3zawAEAtNw1XRv5xkYyz36LljM/q5JYAiIo pEdkr4zy84a2u20pgG6swQZE2PqnEZX+CKnlSv3IEKsCnduCBhzOR5X4vZlPwPHt8tT3 wywg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=qZW70f9C; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id s128si47972872pfb.207.2019.08.06.09.06.14 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:14 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=qZW70f9C; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=mqfjTQaTTQFNSro/hN6gkYpjLV3E2bwnPvulWJTlCQk=; b=qZW70f9CDkLcMchhuvgQXFX1hB gk0dQRjjzMNkOXpQ1vj/+CZf+DGdkKL4wy9lfG80WezxLzvgoBIi65VwKPxRO7XZvSGu4lkfJvtpO YLB+2QpTOftupd6T5+u5wIWRCdr7UNLJV9pI2yGFI17FzFotQ9rc45MMEuT6B4ZuXTSOCdG8lIElC zh1luwoZ5mTRukbW+Ku/WPNKTQRqYa226GtVA3dqqlnKiykhAF/jkll9ZPoFo+gRfPjqymMQitRIQ EbyGZEvR37jYfqmSXzrxeXNhYxuKZ/JVcMkmWceWLyjt1pnZa/P8rF90JPLdFdMkz1Y9M89sHhy44 fGQB1PQQ==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yV-0000Ys-M1; Tue, 06 Aug 2019 16:06:12 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 06/15] mm: remove superflous arguments from hmm_range_register Date: Tue, 6 Aug 2019 19:05:44 +0300 Message-Id: <20190806160554.14046-7-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The start, end and page_shift values are all saved in the range structure, so we might as well use that for argument passing. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe Reviewed-by: Felix Kuehling --- Documentation/vm/hmm.rst | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 7 +++++-- drivers/gpu/drm/nouveau/nouveau_svm.c | 5 ++--- include/linux/hmm.h | 6 +----- mm/hmm.c | 20 +++++--------------- 5 files changed, 14 insertions(+), 26 deletions(-) diff --git a/Documentation/vm/hmm.rst b/Documentation/vm/hmm.rst index ddcb5ca8b296..e63c11f7e0e0 100644 --- a/Documentation/vm/hmm.rst +++ b/Documentation/vm/hmm.rst @@ -222,7 +222,7 @@ The usage pattern is:: range.flags = ...; range.values = ...; range.pfn_shift = ...; - hmm_range_register(&range); + hmm_range_register(&range, mirror); /* * Just wait for range to be valid, safe to ignore return value as we diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index f0821638bbc6..71d6e7087b0b 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -818,8 +818,11 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) 0 : range->flags[HMM_PFN_WRITE]; range->pfn_flags_mask = 0; range->pfns = pfns; - hmm_range_register(range, mirror, start, - start + ttm->num_pages * PAGE_SIZE, PAGE_SHIFT); + range->page_shift = PAGE_SHIFT; + range->start = start; + range->end = start + ttm->num_pages * PAGE_SIZE; + + hmm_range_register(range, mirror); /* * Just wait for range to be valid, safe to ignore return value as we diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c index 98072fd48cf7..41fad4719ac6 100644 --- a/drivers/gpu/drm/nouveau/nouveau_svm.c +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c @@ -492,9 +492,7 @@ nouveau_range_fault(struct nouveau_svmm *svmm, struct hmm_range *range) range->default_flags = 0; range->pfn_flags_mask = -1UL; - ret = hmm_range_register(range, &svmm->mirror, - range->start, range->end, - PAGE_SHIFT); + ret = hmm_range_register(range, &svmm->mirror); if (ret) { up_read(&svmm->mm->mmap_sem); return (int)ret; @@ -682,6 +680,7 @@ nouveau_svm_fault(struct nvif_notify *notify) args.i.p.addr + args.i.p.size, fn - fi); /* Have HMM fault pages within the fault window to the GPU. */ + range.page_shift = PAGE_SHIFT; range.start = args.i.p.addr; range.end = args.i.p.addr + args.i.p.size; range.pfns = args.phys; diff --git a/include/linux/hmm.h b/include/linux/hmm.h index 59be0aa2476d..c5b51376b453 100644 --- a/include/linux/hmm.h +++ b/include/linux/hmm.h @@ -400,11 +400,7 @@ void hmm_mirror_unregister(struct hmm_mirror *mirror); /* * Please see Documentation/vm/hmm.rst for how to use the range API. */ -int hmm_range_register(struct hmm_range *range, - struct hmm_mirror *mirror, - unsigned long start, - unsigned long end, - unsigned page_shift); +int hmm_range_register(struct hmm_range *range, struct hmm_mirror *mirror); void hmm_range_unregister(struct hmm_range *range); /* diff --git a/mm/hmm.c b/mm/hmm.c index 3a3852660757..926735a3aef9 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -843,35 +843,25 @@ static void hmm_pfns_clear(struct hmm_range *range, * hmm_range_register() - start tracking change to CPU page table over a range * @range: range * @mm: the mm struct for the range of virtual address - * @start: start virtual address (inclusive) - * @end: end virtual address (exclusive) - * @page_shift: expect page shift for the range + * * Return: 0 on success, -EFAULT if the address space is no longer valid * * Track updates to the CPU page table see include/linux/hmm.h */ -int hmm_range_register(struct hmm_range *range, - struct hmm_mirror *mirror, - unsigned long start, - unsigned long end, - unsigned page_shift) +int hmm_range_register(struct hmm_range *range, struct hmm_mirror *mirror) { - unsigned long mask = ((1UL << page_shift) - 1UL); + unsigned long mask = ((1UL << range->page_shift) - 1UL); struct hmm *hmm = mirror->hmm; unsigned long flags; range->valid = false; range->hmm = NULL; - if ((start & mask) || (end & mask)) + if ((range->start & mask) || (range->end & mask)) return -EINVAL; - if (start >= end) + if (range->start >= range->end) return -EINVAL; - range->page_shift = page_shift; - range->start = start; - range->end = end; - /* Prevent hmm_release() from running while the range is valid */ if (!mmget_not_zero(hmm->mm)) return -EFAULT; From patchwork Tue Aug 6 16:05:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079289 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id ED1871395 for ; Tue, 6 Aug 2019 16:06:23 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DD36B286AC for ; Tue, 6 Aug 2019 16:06:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D186D2872F; Tue, 6 Aug 2019 16:06:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 09DE6286CC for ; Tue, 6 Aug 2019 16:06:23 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0B4496B000E; Tue, 6 Aug 2019 12:06:20 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 0159F6B0010; Tue, 6 Aug 2019 12:06:19 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id D83F16B0266; Tue, 6 Aug 2019 12:06:19 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by kanga.kvack.org (Postfix) with ESMTP id 9D3E06B000E for ; Tue, 6 Aug 2019 12:06:19 -0400 (EDT) Received: by mail-pf1-f197.google.com with SMTP id 6so56188919pfz.10 for ; Tue, 06 Aug 2019 09:06:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Q9JVQd7TJgJOaVqaurRsAZJZ/a1e9OVXXKhPpucQrUU=; b=Nt2iU0MDfDXZpTJiqMwUBGHCmcVRuhfJCrhDe+KMT5XRY2kWDG5AxatvodNcPu7ZAJ l0hp9W/LShQ2790Qn5OZe8TVeOH/KJCpsk3JVRIKBWHZnrACJGbdYW9EGjCddOmXHV1A pP6fQaAJ+nWREX3FC0/VCaW5d31P54KeVXJ5TWbh74g4hUwNmJyz53tG9/jxM9mrDI5c MEWzQyu/uFGjzioqYh0lKw6/cgePoz3P1r8+hj3B90ZKNGyHtl/7FmXn/vp4shLAsV+E jB/Ym64IGTD1bxiuOC7iHotrPSSdS+QOj67XR7y4Ue0lwj9Ksebr/CeP461x87b7+dPq jxGQ== X-Gm-Message-State: APjAAAUSOA3GTyuULF4xP9PkniM+hgNSGzKUnuZOK95L8Fpffx1fQJ1F fnwYXILIHePcOzKNc9o1vwSInz7l/fL57ayxiMmgH/U0MugaIoiOh0elvcOVl6soD2wpi8I06VL 1U40Z3s+yn4mIjp/haRBaJgDryJmA+PI+xcCFJMx8OYol/KtPyJlntJ/zxTG8rqQ= X-Received: by 2002:a17:902:b713:: with SMTP id d19mr3954555pls.267.1565107579211; Tue, 06 Aug 2019 09:06:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqzJY84jSwBRVzEChCiRnQsG+zZKLLtECZCof4RYKxdSb2Qdjhx1HIzGGG/5mDwMlN17Sa+y X-Received: by 2002:a17:902:b713:: with SMTP id d19mr3954412pls.267.1565107577531; Tue, 06 Aug 2019 09:06:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107577; cv=none; d=google.com; s=arc-20160816; b=w0WY2jOFHB+qcMMqtE1uQrclo1uydvKHvoixUwl7S+A+DZlZVNqI4Hldr1EkNqnt9V 08OwnoMGQUTF4iLJpjmqpy7wMO9yTpWKqOKs8RzulTeTG2zLsHzLmIniibjU/UW89qZI vF7HX5+losi1T4EplWqWWb6qLl4FKt1vHjFytHu7kJgJcWhNctK/mo56TV3g6f2Wf9iX QNy1u0p94XPTvkafIEKGXUmgjzT1nDfANyWewFNfdddEfVkjtA388kb5Od4Pj9s+ltpI gLSoZyl7921MRKm+Est7PhFEMXQwLRYtIdoCj28Cfv1kDprcin+J6ntymdKvYqn93ww8 +apA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Q9JVQd7TJgJOaVqaurRsAZJZ/a1e9OVXXKhPpucQrUU=; b=Gg6rb7tgxlNj3bBzCt4YPVTIVCNSuvMTIK2ZhdVQVsBmKIDNcFimpUkKQc/tdvx3ZW QddvMXGtXmyQYx/S4QL33xg5uvIlWpMGm68LUiUkP8QIOTNXrGKMyBXqLSzmjn3Rn3kR WyfG+Uw7knL3iGdpEzaq07IkTbUA1DaLAAaq66CgsfgXxtwmep/I4blD5nnAnFmFVilI 3XbMfs8JV9uV3Am/YNgmBH/OuEK7v6v6jx9Q/a/+x61qWER9c7To93v8AtUCWPfP3EQe /9h5tiMUJ71mb7c1DuyN7f7Ry8QzsxQ4v9k+JGb8ZmpagGKrG3Lsr9/QZWTM0msr6GGs VAqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=MUB+vxB5; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id d1si42643375pla.75.2019.08.06.09.06.17 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=MUB+vxB5; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Q9JVQd7TJgJOaVqaurRsAZJZ/a1e9OVXXKhPpucQrUU=; b=MUB+vxB5rP4ER3qjacjm5Pc9YP 3rAbr813U0gZg9RKoi/v6hUQNTqTGuX2TKWFEsWPO2TzaiCevtIz8l3d9wFFfuVazPHbL4Q7e3/V7 297l7eXFcTe1sz/yBPuXzv3RlMt4n22/OHc3vCQp/7VMF48E3Fa0iWiBY0lbRVYM+hpUv8UAxCNJG nyFiAT9g8ZXX7m01dK89ZkBAMY31IThBAc5yPgsvVZTgPBBqOroW6dAYgn51tTUBJSlbkLe3o6Jnu gbVCcpEJ8Iwmt/ac+R1QY9t3e2kTHFs8ljzE8q6wgdh4Wr+DcSGIhSXm/BTvvok7Sm1Dl9CrS/CR+ iv/kqmIQ==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yY-0000ZU-88; Tue, 06 Aug 2019 16:06:14 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 07/15] mm: remove the page_shift member from struct hmm_range Date: Tue, 6 Aug 2019 19:05:45 +0300 Message-Id: <20190806160554.14046-8-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP All users pass PAGE_SIZE here, and if we wanted to support single entries for huge pages we should really just add a HMM_FAULT_HUGEPAGE flag instead that uses the huge page size instead of having the caller calculate that size once, just for the hmm code to verify it. Signed-off-by: Christoph Hellwig Acked-by: Felix Kuehling Reviewed-by: Jason Gunthorpe --- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1 - drivers/gpu/drm/nouveau/nouveau_svm.c | 1 - include/linux/hmm.h | 22 ------------- mm/hmm.c | 42 ++++++------------------- 4 files changed, 9 insertions(+), 57 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 71d6e7087b0b..8bf79288c4e2 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -818,7 +818,6 @@ int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages) 0 : range->flags[HMM_PFN_WRITE]; range->pfn_flags_mask = 0; range->pfns = pfns; - range->page_shift = PAGE_SHIFT; range->start = start; range->end = start + ttm->num_pages * PAGE_SIZE; diff --git a/drivers/gpu/drm/nouveau/nouveau_svm.c b/drivers/gpu/drm/nouveau/nouveau_svm.c index 41fad4719ac6..668d4bd0c118 100644 --- a/drivers/gpu/drm/nouveau/nouveau_svm.c +++ b/drivers/gpu/drm/nouveau/nouveau_svm.c @@ -680,7 +680,6 @@ nouveau_svm_fault(struct nvif_notify *notify) args.i.p.addr + args.i.p.size, fn - fi); /* Have HMM fault pages within the fault window to the GPU. */ - range.page_shift = PAGE_SHIFT; range.start = args.i.p.addr; range.end = args.i.p.addr + args.i.p.size; range.pfns = args.phys; diff --git a/include/linux/hmm.h b/include/linux/hmm.h index c5b51376b453..51e18fbb8953 100644 --- a/include/linux/hmm.h +++ b/include/linux/hmm.h @@ -158,7 +158,6 @@ enum hmm_pfn_value_e { * @values: pfn value for some special case (none, special, error, ...) * @default_flags: default flags for the range (write, read, ... see hmm doc) * @pfn_flags_mask: allows to mask pfn flags so that only default_flags matter - * @page_shift: device virtual address shift value (should be >= PAGE_SHIFT) * @pfn_shifts: pfn shift value (should be <= PAGE_SHIFT) * @valid: pfns array did not change since it has been fill by an HMM function */ @@ -172,31 +171,10 @@ struct hmm_range { const uint64_t *values; uint64_t default_flags; uint64_t pfn_flags_mask; - uint8_t page_shift; uint8_t pfn_shift; bool valid; }; -/* - * hmm_range_page_shift() - return the page shift for the range - * @range: range being queried - * Return: page shift (page size = 1 << page shift) for the range - */ -static inline unsigned hmm_range_page_shift(const struct hmm_range *range) -{ - return range->page_shift; -} - -/* - * hmm_range_page_size() - return the page size for the range - * @range: range being queried - * Return: page size for the range in bytes - */ -static inline unsigned long hmm_range_page_size(const struct hmm_range *range) -{ - return 1UL << hmm_range_page_shift(range); -} - /* * hmm_range_wait_until_valid() - wait for range to be valid * @range: range affected by invalidation to wait on diff --git a/mm/hmm.c b/mm/hmm.c index 926735a3aef9..f26d6abc4ed2 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -344,13 +344,12 @@ static int hmm_vma_walk_hole_(unsigned long addr, unsigned long end, struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; uint64_t *pfns = range->pfns; - unsigned long i, page_size; + unsigned long i; hmm_vma_walk->last = addr; - page_size = hmm_range_page_size(range); - i = (addr - range->start) >> range->page_shift; + i = (addr - range->start) >> PAGE_SHIFT; - for (; addr < end; addr += page_size, i++) { + for (; addr < end; addr += PAGE_SIZE, i++) { pfns[i] = range->values[HMM_PFN_NONE]; if (fault || write_fault) { int ret; @@ -772,7 +771,7 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, struct mm_walk *walk) { #ifdef CONFIG_HUGETLB_PAGE - unsigned long addr = start, i, pfn, mask, size, pfn_inc; + unsigned long addr = start, i, pfn, mask; struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; struct vm_area_struct *vma = walk->vma; @@ -783,24 +782,12 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, pte_t entry; int ret = 0; - size = huge_page_size(h); - mask = size - 1; - if (range->page_shift != PAGE_SHIFT) { - /* Make sure we are looking at a full page. */ - if (start & mask) - return -EINVAL; - if (end < (start + size)) - return -EINVAL; - pfn_inc = size >> PAGE_SHIFT; - } else { - pfn_inc = 1; - size = PAGE_SIZE; - } + mask = huge_page_size(h) - 1; ptl = huge_pte_lock(hstate_vma(vma), walk->mm, pte); entry = huge_ptep_get(pte); - i = (start - range->start) >> range->page_shift; + i = (start - range->start) >> PAGE_SHIFT; orig_pfn = range->pfns[i]; range->pfns[i] = range->values[HMM_PFN_NONE]; cpu_flags = pte_to_hmm_pfn_flags(range, entry); @@ -812,8 +799,8 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, goto unlock; } - pfn = pte_pfn(entry) + ((start & mask) >> range->page_shift); - for (; addr < end; addr += size, i++, pfn += pfn_inc) + pfn = pte_pfn(entry) + ((start & mask) >> PAGE_SHIFT); + for (; addr < end; addr += PAGE_SIZE, i++, pfn++) range->pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags; hmm_vma_walk->last = end; @@ -850,14 +837,13 @@ static void hmm_pfns_clear(struct hmm_range *range, */ int hmm_range_register(struct hmm_range *range, struct hmm_mirror *mirror) { - unsigned long mask = ((1UL << range->page_shift) - 1UL); struct hmm *hmm = mirror->hmm; unsigned long flags; range->valid = false; range->hmm = NULL; - if ((range->start & mask) || (range->end & mask)) + if ((range->start & (PAGE_SIZE - 1)) || (range->end & (PAGE_SIZE - 1))) return -EINVAL; if (range->start >= range->end) return -EINVAL; @@ -964,16 +950,6 @@ long hmm_range_fault(struct hmm_range *range, unsigned int flags) if (vma == NULL || (vma->vm_flags & device_vma)) return -EFAULT; - if (is_vm_hugetlb_page(vma)) { - if (huge_page_shift(hstate_vma(vma)) != - range->page_shift && - range->page_shift != PAGE_SHIFT) - return -EINVAL; - } else { - if (range->page_shift != PAGE_SHIFT) - return -EINVAL; - } - if (!(vma->vm_flags & VM_READ)) { /* * If vma do not allow read access, then assume that it From patchwork Tue Aug 6 16:05:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079291 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id C0096746 for ; Tue, 6 Aug 2019 16:06:26 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B00941FFD8 for ; Tue, 6 Aug 2019 16:06:26 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A2DC1286AC; Tue, 6 Aug 2019 16:06:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 27E091FFD8 for ; Tue, 6 Aug 2019 16:06:26 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 795306B0010; Tue, 6 Aug 2019 12:06:21 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 6F2D06B0266; Tue, 6 Aug 2019 12:06:21 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5C2C96B0269; Tue, 6 Aug 2019 12:06:21 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by kanga.kvack.org (Postfix) with ESMTP id 18EB86B0010 for ; Tue, 6 Aug 2019 12:06:21 -0400 (EDT) Received: by mail-pg1-f198.google.com with SMTP id g126so8667632pgc.22 for ; Tue, 06 Aug 2019 09:06:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=CFSretyqs/RdirX2o42+13inYYFm9UN8GL7VmbVQVoQ=; b=OEVC72W/wPNJivIBWfl/q5FIUJlOggKTGRSnbDJfTRbLIWYa/5dJ/Df0r/H/EC0m4/ 82CBAdQcOGFZ57Vsshj3rCzqLtO6ZjB7BwjK7xIVHxoeIScOLaARW/A1F/GqHo0kCxeI 5HetvPBwt9BVax0zceW7fHdj/gb1gVmuQGBw/z4kjmfRW1LaMe07ImOmWAJkM5Mrtfhi XehUULuPetkXF2zGsBUx8imbyfUVcXVl4ZM4uLByVVpvxIRJu2IoGkbhId9F8znixBnX +QPJpgXBKwmiiH8OJHtclhp/MNG1j2AXUR+QNoC6pEP78627+j7aNZj6M4y1AqckKSBM TbQQ== X-Gm-Message-State: APjAAAUm2E9TbIMnpw4aKFL19LgOsLodKMQYjYIcj8HpFLxvlkGUAF5U eayiIzeVcG2Klz70c7ONGE5CASGpSu6hbDhKh541yhNmvj9a6/rFP3GdQ5Pun1q4XhPGl1cwoK/ t5Xx+3i5opnlpHyEYeVat5As9YHkdMsqvo904OOvEr9Rr49g56PJ3Ozmod5h8/DM= X-Received: by 2002:a17:90a:a116:: with SMTP id s22mr3928119pjp.47.1565107580757; Tue, 06 Aug 2019 09:06:20 -0700 (PDT) X-Google-Smtp-Source: APXvYqwV6wE0WRtrlet2OaHfJIHmB+UUj7K0ktPa9zlRBlvnBfAQD7eUPz4xU2Noahfo75IrUrX0 X-Received: by 2002:a17:90a:a116:: with SMTP id s22mr3928061pjp.47.1565107580004; Tue, 06 Aug 2019 09:06:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107580; cv=none; d=google.com; s=arc-20160816; b=c1PPNqceBHUT2K0dHzM3bHhdVIJW/67GnQjoyJrwpaCvHSEpV6AHGxbK3E9BKQUGqR jBsPTBEwNmLp2T2aGM77utsjt56hTvm4O38PunFLRgvDj7yjFX098IRdm9PNW+6kI0T1 VfMpzCdaknnAL+p7MTdyQfi+xC4FD8Uqb+bg6zDhEzUeQGObUeQnnvcyGKRP/I5BDyPs 5MHsN4ken1dZ6PMPXcDk9doybTJqY9drOc2u8ww0NS9cZKDKFuA7EmAeD9HRj6jibN2+ 7mGG/4Xi9sz0iSWv5YVGE9UOuaF8vYjlHfXfjjcRmTd2vSx/B+rsHG58sYetzA1Ry0t/ UAxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=CFSretyqs/RdirX2o42+13inYYFm9UN8GL7VmbVQVoQ=; b=MRepd75gEOlzTggA3b34GuO2tooh9YaEEAj5giNNLhuysmP+O42g0GsfYLFkg6aJWn kSxiOpcg9mHCp7dGUUwE8M7LgRHEJatD52hzqnHGENYiqL2qx//iW4wzC8mPlSA+4H3F 5FdrrR8a2LiyA7dQwwJ3pBzbKGAb+HpTEAC7ssQeRiVPMCcvcxt2BBxmGcomrh/hWHNa y+7SqK88v/qillWp+WP2u2JD2shMH8Sp0Fc8IuaMRF9WL9iJRWKmlnUNIIDobvPk5fyF +hjStGogSlq+jcpbyjr+LNEQx4rgfSJVCr8Xwuopln7JJIoO75e6Yt867a+WjTH9PK4R FEDg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=tzhuPYOZ; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id y3si15502587pjv.50.2019.08.06.09.06.19 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=tzhuPYOZ; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=CFSretyqs/RdirX2o42+13inYYFm9UN8GL7VmbVQVoQ=; b=tzhuPYOZCfgFbsA9DJibfh/0Jh woYpb6mEK7ChEy3EQSIGvnXDPse4koxKMp2IVNjgzLQ6T38WsL385CiPX1vHD2Jucbed+H/5Pu4lp H/90sdP/K9vSYZY7RNildl5jevquWCkAzhbCbvPIWLnT8ZyEjqMSz1km+VUCFKhynvVxvf7KPyJzg 9mcmtQVc/phVgwX4EZ1FmOwnOHVrXcWWe9j1QCmpobC8EUhF4daYBvAmBpQimWumDoicwaVczgeco 1Y8lm/34Pe/d56aQqfFjYbBd3j92PHqKQzIpa9qOWRMFQHFJdLuWEV9jOHRkdM2ZEkyYHq03VPBtC QFOhtlvA==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1ya-0000aD-R6; Tue, 06 Aug 2019 16:06:17 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/15] mm: remove the mask variable in hmm_vma_walk_hugetlb_entry Date: Tue, 6 Aug 2019 19:05:46 +0300 Message-Id: <20190806160554.14046-9-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The pagewalk code already passes the value as the hmask parameter. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index f26d6abc4ed2..03d37e102e3b 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -771,19 +771,16 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, struct mm_walk *walk) { #ifdef CONFIG_HUGETLB_PAGE - unsigned long addr = start, i, pfn, mask; + unsigned long addr = start, i, pfn; struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; struct vm_area_struct *vma = walk->vma; - struct hstate *h = hstate_vma(vma); uint64_t orig_pfn, cpu_flags; bool fault, write_fault; spinlock_t *ptl; pte_t entry; int ret = 0; - mask = huge_page_size(h) - 1; - ptl = huge_pte_lock(hstate_vma(vma), walk->mm, pte); entry = huge_ptep_get(pte); @@ -799,7 +796,7 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, goto unlock; } - pfn = pte_pfn(entry) + ((start & mask) >> PAGE_SHIFT); + pfn = pte_pfn(entry) + ((start & ~hmask) >> PAGE_SHIFT); for (; addr < end; addr += PAGE_SIZE, i++, pfn++) range->pfns[i] = hmm_device_entry_from_pfn(range, pfn) | cpu_flags; From patchwork Tue Aug 6 16:05:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079293 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 68BCF746 for ; Tue, 6 Aug 2019 16:06:29 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 57FBF1FFD8 for ; Tue, 6 Aug 2019 16:06:29 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 49A4A286AC; Tue, 6 Aug 2019 16:06:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DCF9F1FFD8 for ; Tue, 6 Aug 2019 16:06:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DE316B0266; Tue, 6 Aug 2019 12:06:24 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 8F0476B0269; Tue, 6 Aug 2019 12:06:24 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 797826B026A; Tue, 6 Aug 2019 12:06:24 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by kanga.kvack.org (Postfix) with ESMTP id 3CC9A6B0266 for ; Tue, 6 Aug 2019 12:06:24 -0400 (EDT) Received: by mail-pg1-f198.google.com with SMTP id q9so55135507pgv.17 for ; Tue, 06 Aug 2019 09:06:24 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=hA5e1EMCJqgYejGyHIpPpeJ8rKRPHls2nPKmf9TbEpQ=; b=U4pZU/9zf/RVavF8d9TDSZGIf4b754ZgqGxaqY3uQV6gd7olyEhA5/JeNRGW7VKW0z aJghBA/H+ReABzKb7gSg29t7wsi6cbKkro3plbOD3n8/Zj3ZUxidg5qdkgVRO7MVpp81 NCDilobeD8VTsjZG0ebRxua36eV53DXtdNegFDunLsn9278wBIRnLR3YbLHZoLK1n+Iu vCPoC5rWZ3OJiVxjmI4ofm5pKIIYtcfnxR/fQNVWTsccQtCXDkG70QYTu2vq0MPVNZjn WZZOY/W3BzGlCGyNlbhocChbY/rUowAdWu/+YT+ptDGs8l2xknFKE6Qk6Jt7kM7HP/2a RHGg== X-Gm-Message-State: APjAAAUXXzur4LBLUGlkvY4qvN2+lOWNX0/GtIKeq/WQ/4d75YUO3w4A F+YqovczbU6C/J8f/lpc71DlsHGECcOL8LArV1Gp2iL5/YaMiR52ptw2Wm6qk1iUPxNyXt9pTyL y4ZqnRhfcrq2LBs2C1esoBHjCsRtrieAL7+r1g6BaYp66ouGlIhqBrFsFxjpC31A= X-Received: by 2002:a63:a35e:: with SMTP id v30mr3562779pgn.129.1565107583810; Tue, 06 Aug 2019 09:06:23 -0700 (PDT) X-Google-Smtp-Source: APXvYqzn1PDDeZCH7o29Jx4sn/7JxVZ/pRQqgQpdpbKeWJNv/hR/mdujyvK8e7FO69OawxCVGaCD X-Received: by 2002:a63:a35e:: with SMTP id v30mr3562723pgn.129.1565107583048; Tue, 06 Aug 2019 09:06:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107583; cv=none; d=google.com; s=arc-20160816; b=s6WpZGirVMOKRkYzfFk+wv9uSpHJPquEKeaPGgo2ebgJqrhvZmU4IletDvGOD4wFiM ljWFT0+XVYqZAMsBE6sIYKKd4D7v/GCNTgTAO64+atrfmhYNs/+l8P2pt60Lofe7k28q xw0CSPREYvOYjiOrkh1OMYFT+UxaEGqv4Vfv5Mme+55rbK6DoQJIZecBlzLwxHS8eS8k snEEtzFR4CG+r4w3aLy6lQZz8Nu+QeXbTW8TkcYikcWrapdB1GLvVfv7f0VmqIloacuQ yn1X41nXXaJtj6YtmTpxo/1dF8R+rZRnXuQ1pXtN594H0kdZ7FSX1HLrDJ5DLgefzT4r BROg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=hA5e1EMCJqgYejGyHIpPpeJ8rKRPHls2nPKmf9TbEpQ=; b=gmbnQgepiB3LATYaPEWiTmnhMWum2hN2KxYcsOJe1k4iFIBmHbFhMR7ppmHpDGvOL0 135lP2jTBt7SuknkF9EMaloeba/BTrCbnhuOC/fRnJBcnIdCmeJGvtXxUopqsUtJa804 2fjqYG+HLUPz2gA7CGYiWxwIqtR39f2TPYieMS+77N8aK/grjb5L7Iv/c/al1eZggO49 f991sBiSCDIf0x503FbvvLZM5bmhmjB7fo7mHoHtUyFvMpNLmPu6j7Ei/HZnkXMGOyxS jhNv4S3U0SR+opctkw6eOauz621lhlF6hbsHySePrwHB2LfR5eDIuFWLOCESi2g+CCip x2hA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=LJcJrwq5; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id 4si49368550pfo.266.2019.08.06.09.06.22 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=LJcJrwq5; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=hA5e1EMCJqgYejGyHIpPpeJ8rKRPHls2nPKmf9TbEpQ=; b=LJcJrwq5ZQewZswvYmY5mRyZpk 1/AAsPIRIW9UA0cst7PGgdo7pRhh4ePjyxEFTqCdsjh7EUORxH2CndglB5DcSZf9X3N8Sn6sKAltb WWBPJiV/lfl2ul+hsqSrk3D/C5ivDdgjfKPGZTXQhSeNBkogGgnyFlzPfkD559I+eEh9rfGeY2c5w FXeB6uScMW1EUmmFK+YdXOfdvFKqwMpCyBF9uzdonrdefrto7s1GONe11pm+yR0lE/qvtGNXNdtUe 37jSnqybZHehtfCReL3qhmxac2PdimKbmfpWhqJn7mnocY10bShkJ+bK3Y3BkCgnsn/hpbFZ7MPsn 8usxetzw==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yd-0000b0-BS; Tue, 06 Aug 2019 16:06:19 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/15] mm: don't abuse pte_index() in hmm_vma_handle_pmd Date: Tue, 6 Aug 2019 19:05:47 +0300 Message-Id: <20190806160554.14046-10-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP pte_index is an internal arch helper in various architectures, without consistent semantics. Open code that calculation of a PMD index based on the virtual address instead. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/hmm.c b/mm/hmm.c index 03d37e102e3b..2083e4db46f5 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -486,7 +486,7 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk, if (pmd_protnone(pmd) || fault || write_fault) return hmm_vma_walk_hole_(addr, end, fault, write_fault, walk); - pfn = pmd_pfn(pmd) + pte_index(addr); + pfn = pmd_pfn(pmd) + ((addr & ~PMD_MASK) >> PAGE_SHIFT); for (i = 0; addr < end; addr += PAGE_SIZE, i++, pfn++) { if (pmd_devmap(pmd)) { pgmap = get_dev_pagemap(pfn, pgmap); From patchwork Tue Aug 6 16:05:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079295 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id AC2CF1395 for ; Tue, 6 Aug 2019 16:06:32 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 993581FFD8 for ; Tue, 6 Aug 2019 16:06:32 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 88AFA286AC; Tue, 6 Aug 2019 16:06:32 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0CD3B1FFD8 for ; Tue, 6 Aug 2019 16:06:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 3C3E86B0269; Tue, 6 Aug 2019 12:06:28 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 34B956B026A; Tue, 6 Aug 2019 12:06:28 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1EA5A6B026B; Tue, 6 Aug 2019 12:06:28 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f199.google.com (mail-pf1-f199.google.com [209.85.210.199]) by kanga.kvack.org (Postfix) with ESMTP id DB3876B0269 for ; Tue, 6 Aug 2019 12:06:27 -0400 (EDT) Received: by mail-pf1-f199.google.com with SMTP id y66so56174427pfb.21 for ; Tue, 06 Aug 2019 09:06:27 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=Ip6Tv7CH1RUCf1zdL/7YnuvbR835Efr9iJJdAFn2xCE=; b=HQlQJuX/0MGXCqMZHWqaX35lrVEd55+FnX8dPWdj182ntG0Bvd3AHK1NytLk0bv+ik +v4TlQoKARsCCbA+Sytg73jpeUZ1cHTXI1kVKh0dY3H4tzKzkmZzm9LD1l8JQYQCfnrh I8TD3b+U+bF2GpZythEmucfdrndSl5aNoGP63t7gssIxijHvqYUZD3GmyXm0kE/b0VAE jbPHWBTWTXfEzxBRadYBBeFhdRIhQnU1Y2QTuopiqMpRe5MdgxOJyfrQ230Zzr6LD4d0 4lz9sx07Esy3VColfDsJh2wdagXKuY58AQJbnlAOMa5QQ02v5OfU7SMHK2MQXXnAgTrl G2Zw== X-Gm-Message-State: APjAAAUPrvsz+/hQYgGykLGB2axSI8Y2Dh1QkcLF/DTfEOGfoBpNXSp5 lrGi4T36sXNagyOh/8yNeir/KeP9J5OUaB5rj0xOd/1Q5AmfqTkfj35yNj+Q8aler/PTGupk2PA T48iokD6LrOfkJn0E7qc221uHVeXuxoEavpbl0AHdXnLuPpo2AEq7kXv25tFO7Fo= X-Received: by 2002:aa7:98da:: with SMTP id e26mr4462368pfm.34.1565107587573; Tue, 06 Aug 2019 09:06:27 -0700 (PDT) X-Google-Smtp-Source: APXvYqwp7+zO00ME6DkpiC6SPRVU9CiCgIelda0BRHOeWnz2KIY7hUMnKykU7c51o1ynJEPO4jQG X-Received: by 2002:aa7:98da:: with SMTP id e26mr4462294pfm.34.1565107586824; Tue, 06 Aug 2019 09:06:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107586; cv=none; d=google.com; s=arc-20160816; b=edNYO97A0u3ctVfmyQtUSlduph/G8HWmCtwaKvbdfDuiDmpEb0ctXyxRudBbg0MFLV 3S04+MNphTxEfYh7ioYnyAx2Zv41qHqHAXSzAseuaiYF3aTLsc/x+gwqXRV5JFW7yoxY FVvA8p1bYum0qqJ/kPSQUTqY0A7tUbjOFnfCiGsHkeutTXBYtspqy68ofgqWda/iWXHL 0ie5ZNPfevneRFkF2AbRaNKZprOt6A693byclEBOzQpriQZu4y3pmkK9UXsZbKvlPn+D rIGi2N8NkggysawxIOSpCPoKkqyG3WXkFYarwnRU95J/1MoQocnr8KF2h2HSIWFzBy+U SPWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Ip6Tv7CH1RUCf1zdL/7YnuvbR835Efr9iJJdAFn2xCE=; b=PoRn+ab8pzg0bX47UnaUxHK+yJMex5sy9Hz3h51Y9aQZccOMfakAW4JLhrXSPvwToh 5xzYqhrwmwYFLJTPwEgWXyUPG0Devl2Ae5t3kJGES1ARjWkmDaKbj7qBrVztkzC1M1Vl hptoRQUl/L+uJgTvJkL6wmsupPfMakNn/uROx1VIXXwmWPUXjQRLuIGwx2cpKsoWslSD a0Y6DvK5s9ofjstPYpHfF+EvPqlJfMquXjSGYEfi1FpyrTZpXHfeIa17nbmqr7GFm+qj jbmrn+lljEb/z9ZebmuVBhEWD5fdu+jL4H//bPxec3/NWuR9aA2mt576jYRx/aUKPAFL c8FQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=l2Q5OzCq; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id i188si46962709pfe.96.2019.08.06.09.06.26 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=l2Q5OzCq; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=Ip6Tv7CH1RUCf1zdL/7YnuvbR835Efr9iJJdAFn2xCE=; b=l2Q5OzCqYI6K/lwIUdGM/lRV7A orDsZpzbT6FSVlceE/hay+znMxbpWMtaDTBHblMXvxERMhczytc2vd81s6BqxCZFw2V+kIC1ehQpp k+Rn3H0gbs9x8Wd69M+u5RHtmAxHu33R+eq8t9FPKY41OyzLqR46OnL/3/uJyFvCu0wrsi53OR/mu 7/mdjcwkmKnzaKrkH5ypk1OTp+rOzbLBQZmdtU0MQuKonn5rYEozOJUnEkPDgPRfYRrrv/ltW03W1 B3GGyVUnYhFnzA1DZM9OJMMvOYQnSvrnyNNF7TcG618gJsqAjt8SdYkE4ny8fMR5VMnJN6+ThYxIg Uq/3HCWw==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yf-0000bo-Tk; Tue, 06 Aug 2019 16:06:22 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/15] mm: only define hmm_vma_walk_pud if needed Date: Tue, 6 Aug 2019 19:05:48 +0300 Message-Id: <20190806160554.14046-11-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP We only need the special pud_entry walker if PUD-sized hugepages and pte mappings are supported, else the common pagewalk code will take care of the iteration. Not implementing this callback reduced the amount of code compiled for non-x86 platforms, and also fixes compile failures with other architectures when helpers like pud_pfn are not implemented. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index 2083e4db46f5..5e7afe685213 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -455,15 +455,6 @@ static inline uint64_t pmd_to_hmm_pfn_flags(struct hmm_range *range, pmd_t pmd) range->flags[HMM_PFN_VALID]; } -static inline uint64_t pud_to_hmm_pfn_flags(struct hmm_range *range, pud_t pud) -{ - if (!pud_present(pud)) - return 0; - return pud_write(pud) ? range->flags[HMM_PFN_VALID] | - range->flags[HMM_PFN_WRITE] : - range->flags[HMM_PFN_VALID]; -} - static int hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, unsigned long end, @@ -700,10 +691,19 @@ static int hmm_vma_walk_pmd(pmd_t *pmdp, return 0; } -static int hmm_vma_walk_pud(pud_t *pudp, - unsigned long start, - unsigned long end, - struct mm_walk *walk) +#if defined(CONFIG_ARCH_HAS_PTE_DEVMAP) && \ + defined(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD) +static inline uint64_t pud_to_hmm_pfn_flags(struct hmm_range *range, pud_t pud) +{ + if (!pud_present(pud)) + return 0; + return pud_write(pud) ? range->flags[HMM_PFN_VALID] | + range->flags[HMM_PFN_WRITE] : + range->flags[HMM_PFN_VALID]; +} + +static int hmm_vma_walk_pud(pud_t *pudp, unsigned long start, unsigned long end, + struct mm_walk *walk) { struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; @@ -765,6 +765,9 @@ static int hmm_vma_walk_pud(pud_t *pudp, return 0; } +#else +#define hmm_vma_walk_pud NULL +#endif static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, unsigned long start, unsigned long end, From patchwork Tue Aug 6 16:05:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079297 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 7695C1395 for ; Tue, 6 Aug 2019 16:06:35 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 66CDE1FFD8 for ; Tue, 6 Aug 2019 16:06:35 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 5A700286AC; Tue, 6 Aug 2019 16:06:35 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id DB3B01FFD8 for ; Tue, 6 Aug 2019 16:06:34 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 87D186B026A; Tue, 6 Aug 2019 12:06:29 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 82D436B026B; Tue, 6 Aug 2019 12:06:29 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 680B16B026C; Tue, 6 Aug 2019 12:06:29 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by kanga.kvack.org (Postfix) with ESMTP id 32F3C6B026A for ; Tue, 6 Aug 2019 12:06:29 -0400 (EDT) Received: by mail-pl1-f199.google.com with SMTP id d6so48563372pls.17 for ; Tue, 06 Aug 2019 09:06:29 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=e9aFg9y3NWAnc2PsHRJxtyHwhE0a0AbbxTY4a2BFPAw=; b=VEpmBiHUoxfnIwAR98yci5z32UScbw5/ec75pMFBCTws9vcH2zBSyBqg83q4Toy7Co UBw15mzfPprFmotbevnkU2nJDhros7292lbEc8nEGtwE89xrojazm1aRUDjIDTED9av6 Bh1sRgnDE+HOeDBJJqnat5nUQUG9T84T+KKlNZvNFuzsW3qyTXyyIVVtsVJ62h8TZZt5 gG64Sz8J4UGc8JaxmeUGELJtzDc1iR2BryBCsg//xA+36iiWriziMeYopMjG1vScqCRI cFfObn4ss45tqYv6QKV5jUpP8QprtouU4aGAMQ3Q02A8aCOUgh9WE01Js/htjmLD4I8o qS7A== X-Gm-Message-State: APjAAAX4Jd8pBrwkcnq7Cmoq1DrsMmMZXZLfT7MZCDVFBoPGOYl1DGKk 144NOeTMnvdXjreLR9oxd5J5ewA2/QqavsXbZJLe5Yd3YKhXo/ktOP3UVI+8j6s3Zml7+nr56hQ XkZcV27cQPVTxzfcKhhMiNtmuEwM/7kBzWVj8EkfDf2DTPznStCRYNKPxAvTNu/s= X-Received: by 2002:a17:902:aa88:: with SMTP id d8mr3707251plr.274.1565107588863; Tue, 06 Aug 2019 09:06:28 -0700 (PDT) X-Google-Smtp-Source: APXvYqzQTfy7BSXa9V6vaGOzSiAF2OVos0mqNa1+JRt/gLp5cCK+hG4ClKR35yD6ENqZLCO4uwwE X-Received: by 2002:a17:902:aa88:: with SMTP id d8mr3707209plr.274.1565107588136; Tue, 06 Aug 2019 09:06:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107588; cv=none; d=google.com; s=arc-20160816; b=jAew3GrZOxeiWmSygCBKOZx/6HTnqsbSqxoVK5yhdWezchYOSWIhb/2pw3Gfy/YUEV 3naL+8dajThF1qQbbil+Dezl1TcLjrR4i003guMNCG4/oQhk8SPp3pmaV9rArY28szyb 5jF5GgrXLOKic4NMzJRXcE/XBOQm4uKqqLrzp+Yb/buRoIEy9o9jQ651YxchADGzeW2r 58y4qC87RTavT9tF6Mo2MWe7XLPixL6L06ZGCzpBlja5XN8pobxBZziAh5AXYEzm6k0r hqeyxinBo7bsJfpBbf2ZjOUIqnZN5tigiPCdLnwEXTTke9SdqN0+sVCLFi5Hya+dgzZY Jf5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=e9aFg9y3NWAnc2PsHRJxtyHwhE0a0AbbxTY4a2BFPAw=; b=Kn959FdD9H+rY4P/O+HSWz+ERyy6zjfCbAjjkFapI/MLFGQ3GcobSjmbWsR3XRVLoM y16n7S4O0wDBe1FWom4HgnBRt8i5XvyJdyLlnUqax9sf8+4cflv1Mv0G7+PHqsYOta6a JsXBHfLPLkwFOFPwghsAC41K1QmWHVECLi7FWyqC5F18hTUwqE3m6RmBrsz0xV754uAw v1pPWvbkI1UVVFEv8vDZXhW8KM4F99R1f87Ntj6Qew4Ie0lm6wN5gZj+6XbCHMGA5h+q OVTqygzLX1JHIGJsCg5M4u4qhMRHS2VgHqTER9MEctGN0w0W9dJw0rxOAJTjQE7XhJO9 C7BA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=TdJihcN0; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id s24si48566477pgq.372.2019.08.06.09.06.27 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:28 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=TdJihcN0; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=e9aFg9y3NWAnc2PsHRJxtyHwhE0a0AbbxTY4a2BFPAw=; b=TdJihcN0imUrB+DXTgmH0YwTUb lhLq60JHilI/KNarxExvblJfGtJD/KeWw1YixvJmmQjZxBo3be+cmgsarEog2qaCkGzoYPJY6s8qs zDZh/xO+rJ1KZCNRLgq3pmAluvXZ31iOXadZOdkkZWIPMLgaTQONiL10gRria1wqAe3NyDFV1xDmY lHYDcFCpFmiKOrErT1VtfkzdIfcB6wRbYd0gXaFxWTUZ19blXt2ymzvsasYfbVxQsnFGJeH5AWd0S OPiYzPzKK5xu5e0oJQoArM98BctBcV8Y0EJN1AwB6LCKDlcmolgWN0XhXCXtGgkezGIKL8Zu2VFTc qp692nQg==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yi-0000cX-Ex; Tue, 06 Aug 2019 16:06:24 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/15] mm: cleanup the hmm_vma_handle_pmd stub Date: Tue, 6 Aug 2019 19:05:49 +0300 Message-Id: <20190806160554.14046-12-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Stub out the whole function when CONFIG_TRANSPARENT_HUGEPAGE is not set to make the function easier to read. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index 5e7afe685213..4aa7135f1094 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -455,13 +455,10 @@ static inline uint64_t pmd_to_hmm_pfn_flags(struct hmm_range *range, pmd_t pmd) range->flags[HMM_PFN_VALID]; } -static int hmm_vma_handle_pmd(struct mm_walk *walk, - unsigned long addr, - unsigned long end, - uint64_t *pfns, - pmd_t pmd) -{ #ifdef CONFIG_TRANSPARENT_HUGEPAGE +static int hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, + unsigned long end, uint64_t *pfns, pmd_t pmd) +{ struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; struct dev_pagemap *pgmap = NULL; @@ -490,11 +487,12 @@ static int hmm_vma_handle_pmd(struct mm_walk *walk, put_dev_pagemap(pgmap); hmm_vma_walk->last = end; return 0; -#else - /* If THP is not enabled then we should never reach this code ! */ - return -EINVAL; -#endif } +#else /* CONFIG_TRANSPARENT_HUGEPAGE */ +/* stub to allow the code below to compile */ +int hmm_vma_handle_pmd(struct mm_walk *walk, unsigned long addr, + unsigned long end, uint64_t *pfns, pmd_t pmd); +#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ static inline uint64_t pte_to_hmm_pfn_flags(struct hmm_range *range, pte_t pte) { From patchwork Tue Aug 6 16:05:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079299 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 68FC7746 for ; Tue, 6 Aug 2019 16:06:38 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 5961D1FFD8 for ; Tue, 6 Aug 2019 16:06:38 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 4D3AF286AC; Tue, 6 Aug 2019 16:06:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D209F1FFD8 for ; Tue, 6 Aug 2019 16:06:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A51336B026B; Tue, 6 Aug 2019 12:06:31 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 9DAE06B026C; Tue, 6 Aug 2019 12:06:31 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 82E0F6B026D; Tue, 6 Aug 2019 12:06:31 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by kanga.kvack.org (Postfix) with ESMTP id 44D7D6B026B for ; Tue, 6 Aug 2019 12:06:31 -0400 (EDT) Received: by mail-pg1-f198.google.com with SMTP id h5so55209698pgq.23 for ; Tue, 06 Aug 2019 09:06:31 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=YRRjZVhDBKVOH1jTuQF7A3O3z8BLVwvvxYuFPnL2EoU=; b=OV+SB4mL+2yS7O0CS6g+59OAxKqWZaj6loH2TDiTMHkvuKyviOM9r5pBIZimYNzaVr Ip/lzX41Aw3jH9NrDq1JJb1aKw8OIw5SrXkpmc9l6K7LF0dyyndcWufTfEo34IqfnB9a zPkFTn7bu+Ai4hOvb7d3pGsEOm92Zk8yXS5TWf1EcuDp8+WYDWMV3mtUTohR0OleRV+R 6l9fKEuxXa8metAAHqkQQqEc3a2BbFowzVqF47LZjEFaPFlVPaPzHq51OjNOdLgfluXX qcpv3a3RV+XPzG6+O+v8R6LHrkPeM/PSuVZHn5abqkb7X5Z/IcFfqjIzmLamIhjkcXKm OYqA== X-Gm-Message-State: APjAAAXl9VUiqPFSjCG/rCKa+lzR00qpu+vvOuq8xO/uoSEfuCS1Qd/p AeCawURcWDzpXPALZvUAtesr/9DaDqQ7p9ABsgFNrpiSIAwPSnETIL4yocAvtLCNyYvm3ipJO8X mRgCKE+f9WFjenriZqJ9vSn6nsIlPyBvN+dDqHzC0KbxCrleBErylA5LPSEVJ63o= X-Received: by 2002:a17:902:7d86:: with SMTP id a6mr3875879plm.199.1565107590969; Tue, 06 Aug 2019 09:06:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqyybXj0HhsebtVK7l7thd2FsQgcw5rE/FL8QZmEUyGbRDCa3XqxF4UHXoUjehGRISiXE4S0 X-Received: by 2002:a17:902:7d86:: with SMTP id a6mr3875811plm.199.1565107590122; Tue, 06 Aug 2019 09:06:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107590; cv=none; d=google.com; s=arc-20160816; b=m0XWy9jc4O60lsZnMlVRGrtPXYYn/tLRmlvdngzp3sZ1vDvHQW26V2jHQwPuuiOLzF wXqWNOkgqL2SWtrutdPCGVWLzWLzrC64gLPcv09nGUc5hRYx3ZqmFb9x9RfrY4BHxIgz 5FmDRNglvO6QQCk9Gnyz3UebnWF0MyEWa7DsvHtjPAY/fsIBBAZX25SOqP7WOvKSHWcT I3893t4seITrdIJU0KAxdWo5hihlZja9OrbpzjrKNBYVipgY+O6nKtFsOUfgn2rq7D1N tnCh3LvBpcQFYceR0hW+aekYOEW6Du0STjKLe2YD0unfj858uuwY7yzzERHtlCz1Fujo +U1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=YRRjZVhDBKVOH1jTuQF7A3O3z8BLVwvvxYuFPnL2EoU=; b=0Hs1naj2N74wLmme0CXywz4qPdD9jJ6wBW9OdSlAqP1w/ab0yoGh22fwhYktN7QW1G TypCHX+iRh3YXTtVEftUNBw13trenpHH5pb2TZtvWR0rtEV/5KK6u0HZ1TelA50PbcA4 M3J7L9jB+65qEOkaGkyIBHqGyR2FzdyIawKv3BQ2Fe5EovstuxIlN3D6l5t4lUVGwsMB 2jCJWKDM6Tm93XHAvbn4YOi2+3ogwePhOSGiW4o+D3mZMKO0zpMDLH/mJ1BFSYbVpw09 jk4NemLoBawdFBuatqSlqHpoCLAlvMuIKd3RkGYnt2RSLOCiFUQRZq67ZCSnqRxKcHNN Ssdg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=IOHXbjZx; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id 68si47208672pgb.104.2019.08.06.09.06.30 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=IOHXbjZx; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=YRRjZVhDBKVOH1jTuQF7A3O3z8BLVwvvxYuFPnL2EoU=; b=IOHXbjZxSo82prtQ4bNa7kyk3F ERoxF4OGQgr4Pywg2DaD0Fxz1thwKfufBvzCaB2SwknrAvMue4z8IwQDnfIS7C4dAIUE8D6MTBuSI TchmmS+U2xN96UVExRPZkKqdgBDJuV4HpexZYppF7x90Fp/azYAP4RG/FK+ihZw9+RcMPOc6lKJbb 0918M0qgnb9VPmscGzQmtBWlAFXzEp561MFwTV/2Aldr8SoEMk4DlcqiqHrPlS2N7xv/WHPKtkInz 9Zn5COJcEiL1EXqqFP+SaUI5SeOLPANFuORCxuyIops6El+WaLmnA1TRSJ4ubesVQF6Cwg5OX2of2 4XBWzr8A==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yl-0000cx-0P; Tue, 06 Aug 2019 16:06:27 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 12/15] mm: cleanup the hmm_vma_walk_hugetlb_entry stub Date: Tue, 6 Aug 2019 19:05:50 +0300 Message-Id: <20190806160554.14046-13-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Stub out the whole function and assign NULL to the .hugetlb_entry method if CONFIG_HUGETLB_PAGE is not set, as the method won't ever be called in that case. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/hmm.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mm/hmm.c b/mm/hmm.c index 4aa7135f1094..dee99d0cc856 100644 --- a/mm/hmm.c +++ b/mm/hmm.c @@ -767,11 +767,11 @@ static int hmm_vma_walk_pud(pud_t *pudp, unsigned long start, unsigned long end, #define hmm_vma_walk_pud NULL #endif +#ifdef CONFIG_HUGETLB_PAGE static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, unsigned long start, unsigned long end, struct mm_walk *walk) { -#ifdef CONFIG_HUGETLB_PAGE unsigned long addr = start, i, pfn; struct hmm_vma_walk *hmm_vma_walk = walk->private; struct hmm_range *range = hmm_vma_walk->range; @@ -810,10 +810,10 @@ static int hmm_vma_walk_hugetlb_entry(pte_t *pte, unsigned long hmask, return hmm_vma_walk_hole_(addr, end, fault, write_fault, walk); return ret; -#else /* CONFIG_HUGETLB_PAGE */ - return -EINVAL; -#endif } +#else +#define hmm_vma_walk_hugetlb_entry NULL +#endif /* CONFIG_HUGETLB_PAGE */ static void hmm_pfns_clear(struct hmm_range *range, uint64_t *pfns, From patchwork Tue Aug 6 16:05:51 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079301 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 525491395 for ; Tue, 6 Aug 2019 16:06:41 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 43AE41FFD8 for ; Tue, 6 Aug 2019 16:06:41 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 378F7286AC; Tue, 6 Aug 2019 16:06:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AF8641FFD8 for ; Tue, 6 Aug 2019 16:06:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76AF66B026C; Tue, 6 Aug 2019 12:06:34 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 6F7356B026D; Tue, 6 Aug 2019 12:06:34 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5714B6B026E; Tue, 6 Aug 2019 12:06:34 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f199.google.com (mail-pg1-f199.google.com [209.85.215.199]) by kanga.kvack.org (Postfix) with ESMTP id 19F256B026C for ; Tue, 6 Aug 2019 12:06:34 -0400 (EDT) Received: by mail-pg1-f199.google.com with SMTP id b18so55204621pgg.8 for ; Tue, 06 Aug 2019 09:06:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=4qKgBQZXWXwTBeUsDVCjJZkYmTExx287iM57Vyx6Y0w=; b=sYvFKkpN85KFvNuTVicNWAH2DEuF3G9+8fQza7sZCFG9uBlY1dPGg9lFrNhIAHxKSo XYqppxpgHaHZZgH9cUx3I+etFUakUuF/jYf1EuVQ/dfn9thvNX2kskZpE1aysUmKiCXa BlU7IP/dX+qABXNaIYXqmAtSpTAdbwaFLr/PRQ8//LN1H409sA0yGm3+j1Xeovqmt60M 4qLy7cx/fUSTlcvynhLuE6PS+xN4KGkYLp3UALovC0tbMSghpE2U8N0g5SSkuVhN4taC 5Hd4Z+ZmeQ1OnixeUuiKOTBFj5LRJ0zXgV0OuvlLF3YRS75Jsaa4h9x5aaSqxa8GuXWQ D0MA== X-Gm-Message-State: APjAAAUXsqUGX1VLyfPWLc7PefgqcILBLr7xweEumo03LsN+2Jqr5AJs nkhE+M/bci5L9kLUx+QTx+czHPYYQh3VSlwlA1CsITOZvsDK4JjgfcDVWIxMSBS3ByVDUsbOk/H M3xT8xmBVdbyeXcYZcST0ivy50H6HM43uzu9gjoiRAOxFN08p4fgrKPLEBA4ryyA= X-Received: by 2002:aa7:8d88:: with SMTP id i8mr4552063pfr.28.1565107593791; Tue, 06 Aug 2019 09:06:33 -0700 (PDT) X-Google-Smtp-Source: APXvYqxAER+UVLTr+/QFtbIPal7LDVtGufR9PL5AsugCQYEIyeK7rgghgV8sYJ/8T07tkgEuQRS8 X-Received: by 2002:aa7:8d88:: with SMTP id i8mr4552006pfr.28.1565107593121; Tue, 06 Aug 2019 09:06:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107593; cv=none; d=google.com; s=arc-20160816; b=WWfynSD9Nt4IEGCnIgIcs9otWFncVi++RwkZ/c6sTW3mX7IEmZkhVOJu07ZzDANFxD kUhNwBi9y6ZzTGR8xbafEQKMQPN8D6eaNw8m+dcX+8y48driX4qBzQwkAdpYfkRNLRyX zRioF29RsGA0GEItGpUmfrO3P5iHnvI0o58tdYBWB+jMJMDHcyr2E4PijWVgaizuHGKv QaaeG1ow0RTtz90lyeO+bx9QZ184X+/rLHE+nQ1kacJm9S2rtivLuajAI5CfY+Xc8uHM T4BCkCg/VCzpK5p1TmcSce6s98+f7URtVSBHiaaM/uf+h6KdkROTPrJWcV5fQu8YHmRk VIKA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=4qKgBQZXWXwTBeUsDVCjJZkYmTExx287iM57Vyx6Y0w=; b=iIZUagCKyKS4UXa4bcufThf6y2WrDtuyQsAhOiqkAfeecWRQsgsw81cJkZCYsJPOWO hYaHdryuT5/3GY0N7P7oRkN079koFxkw/BVJZp32iQnSvWITakk6jkbeRVAWyvy9DZK7 Z5+LgYi6eyQvlayaRhbflPUeTVKlRLpA8eKMJmYHsZDD8jnh15v1ifMFotdJ8t/rYSpF 4VJ0z6QgMcsNUP3RRaMd5mh9hetLmHWFhHsFouPfnrjDsKmXYssTGtmf9O5Ifg+qsd3D RSHPnfl16/5Asc4sIfiYf+oVYA74wwBxgqkcXjpUaDxOjKnHTNhFeSmSspreGWx0OqpV hUmw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="Bvgunk/1"; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id u3si43418278plz.201.2019.08.06.09.06.33 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:33 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="Bvgunk/1"; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=4qKgBQZXWXwTBeUsDVCjJZkYmTExx287iM57Vyx6Y0w=; b=Bvgunk/17so9cVPFtrFvb/oAYe utWSSLH8JHbMNSIEnE52z7hb3mMGYEuLsxBPJwPNcL85QDt9s3oMn/8gSdfDI94Vl68ZYF6E2HTmh 2CSuFc5mHOZpxHvRiBi4XMp/D2Nrz/C5Z8Sd+68h66wQQUEBe8/zuz5nTWImH5N9TH0oaGS0xmLSr nQm2HdXrYj1F4tz1jpUu7FGHbc5wwvCOeuDFImiYrzCOcbAZwn5cH6Dcbl32haJzzjJbE8rUkWbeV ySHWE4hYGGUpoGRQw0UfImuDAtA/m93vnOxClQ7CeTYmpjAOngizf1+aQKrmD52wW3gMGr5CLn1Md UerXxonw==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yn-0000dn-PQ; Tue, 06 Aug 2019 16:06:30 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 13/15] mm: allow HMM_MIRROR on all architectures with MMU Date: Tue, 6 Aug 2019 19:05:51 +0300 Message-Id: <20190806160554.14046-14-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP There isn't really any architecture specific code in this page table walk implementation, so drop the dependencies. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- mm/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/Kconfig b/mm/Kconfig index 56cec636a1fc..b18782be969c 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -677,8 +677,7 @@ config DEV_PAGEMAP_OPS config HMM_MIRROR bool "HMM mirror CPU page table into a device page table" - depends on (X86_64 || PPC64) - depends on MMU && 64BIT + depends on MMU select MMU_NOTIFIER help Select HMM_MIRROR if you want to mirror range of the CPU page table of a From patchwork Tue Aug 6 16:05:52 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079303 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3EB6A1395 for ; Tue, 6 Aug 2019 16:06:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2F2221FFD8 for ; Tue, 6 Aug 2019 16:06:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2343C286AC; Tue, 6 Aug 2019 16:06:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 9913C1FFD8 for ; Tue, 6 Aug 2019 16:06:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2B03F6B026D; Tue, 6 Aug 2019 12:06:37 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 23C3B6B026E; Tue, 6 Aug 2019 12:06:37 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 08A9D6B026F; Tue, 6 Aug 2019 12:06:37 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pg1-f200.google.com (mail-pg1-f200.google.com [209.85.215.200]) by kanga.kvack.org (Postfix) with ESMTP id C36326B026D for ; Tue, 6 Aug 2019 12:06:36 -0400 (EDT) Received: by mail-pg1-f200.google.com with SMTP id z35so8828974pgk.10 for ; Tue, 06 Aug 2019 09:06:36 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=AGGvPGg8AA1Gw6ylv1raBDjNXF6ccyWYsPpDnZmLmBg=; b=IXKsZ69+v4KcZzS0vJExSFGVjUUz1yOU7qgaEYz9OtEh7jh4QZRnLPOQvyzl7i4djr GjF4YmNXrqHXUZKZwajeZ+jG4apkGimh8eyiMzpcb5K4v4NFVPvz7/MNUTlOaiTKJZBP Rw50iiwHwtmFKPWtVPubOCbIa/bFiyCC090RuvhIqr9XTELltcXMjGr/x15ChOMjvadu h1MOqTxXVSWWewEPFZuAxrjKh1InJ0OmG8Btm+CpAd3PxA6Q/YsdLzCr9fL54MLTE0i/ Umh7KLy+O7ZEK6/ss7tg5JtP33ufk+fN408AI6W3I9sWGwpAzmXpjI4FoAz+PiIMUi60 OE/Q== X-Gm-Message-State: APjAAAVt8b2NEcpYObshKaNBpYYJpxfsteJVkYRqeSa4CCMEB/3yRcWy 1mtMuLlORU6kzVMld3yLQBet/wKac2Myrf7l7OhPf0fv5+Sydp+4FxbrUiINc51yxNCiSIEQIEA oqYhrjrEaywF0knE+CzKE1X49NjhzGPmQDlX9YEjchseezm5aFzjAF9GfhKuQJao= X-Received: by 2002:a65:57ca:: with SMTP id q10mr3829217pgr.52.1565107596333; Tue, 06 Aug 2019 09:06:36 -0700 (PDT) X-Google-Smtp-Source: APXvYqzQkhY206EW7pOVKOtScbVplEwridPo3VuCzddzZTVQWFxlixev1coAomBHwmoYQuazUJgF X-Received: by 2002:a65:57ca:: with SMTP id q10mr3829145pgr.52.1565107595389; Tue, 06 Aug 2019 09:06:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107595; cv=none; d=google.com; s=arc-20160816; b=zNURGfrJcWwMeFS2Te3EOcJJz7GQi/2FVFe8BoCvLF3TNMKbjo4CrgXvfU3Uh6bXxc bv11PRt7SxHfdmBPGkYqp5NbH+b9FAcJNIks/QwIO/0evr5HCM3aDP9dpH46EKDFIe8i h3IW+kOhhOB/29/cNYeCqLyAmVsHxYPInBH2sUT7PI8X5SmWnZNnfGTsP6gOYTvYUbEW z4CzahUOObjV+rEWloQSW0AuJ6gbOJiMf0G+0+rsEKcd7bSAn6E3o5BUxVIqiXy8kDYv gH9/AkccZrXfrC0Bwjz+sXQnPvxDTpQo/aT1WjSmb0cU+dTrD9VZYnKrsXJjzEVr6Fx8 XYAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=AGGvPGg8AA1Gw6ylv1raBDjNXF6ccyWYsPpDnZmLmBg=; b=L/KSr9tLFAxZf9fi4pduHft6v9eXlCE9iQVwrpVy0bXJeiom2jBoDZ7kHmeD0O78B+ XYSKi1s8WmICGOxWR3jwwElDyHh4nfmPBG7rA395TuijMqO9fbbyIp9l9U/mOG1PYTyS FfS+Nt/OGkLNb54VdvUnlWu6RBWH5mAxaqFGbgweraD8HA8LjmQGo596n1Jc+7tIWBLe LQ8wuHS4orWNsQBo1cYOxA2KmqsST3A9LsoCHmvkNQt0vdUgH2NC96fzP8NXgd5YIWlu X+9eHxfQTIfY18371H+79PJ0ZvfbErGEFMlH/QUMPXQfXJMewaADJ/rD5fmVVdWO/vuR tzYQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=RzYHdp4m; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id t31si8310105plb.309.2019.08.06.09.06.35 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=RzYHdp4m; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=AGGvPGg8AA1Gw6ylv1raBDjNXF6ccyWYsPpDnZmLmBg=; b=RzYHdp4mJtW15Li7cWdiL7Rv01 hFHEseFq+n0UFJMU+3w0w0dcwm6oTnyxs0LPJqTeUb/aik4SEyGDvWEb+rGvDp6r84fKCRpR8iku+ LvpAQVKD7G9QKkzdJ/DeuZbZbTKro358y+zjuzVRUmFj6CfDmyP5rU7cFg+Mei2TOZGLqki/rhkRI +TaF7MWaORAz4mLE/jjH44uvJ1K8vxtIQOYU/+SL0CT+znouLR7X0cSZDFf8qWgYeOqRr0qwLahZj AwGNkm8JajYbsE5/lptaYXs7oJbj9ULssrgVQGlVhokMiDkdGrjv85x55+c8YH7Bg4a1zNcPtjDA3 0XcoXJNg==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yq-0000ee-I1; Tue, 06 Aug 2019 16:06:32 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 14/15] mm: make HMM_MIRROR an implicit option Date: Tue, 6 Aug 2019 19:05:52 +0300 Message-Id: <20190806160554.14046-15-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP Make HMM_MIRROR an option that is selected by drivers wanting to use it instead of a user visible option as it is just a low-level implementation detail. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- drivers/gpu/drm/amd/amdgpu/Kconfig | 4 +++- drivers/gpu/drm/nouveau/Kconfig | 4 +++- mm/Kconfig | 14 ++++++-------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig index f6e5c0282fc1..2e98c016cb47 100644 --- a/drivers/gpu/drm/amd/amdgpu/Kconfig +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig @@ -27,7 +27,9 @@ config DRM_AMDGPU_CIK config DRM_AMDGPU_USERPTR bool "Always enable userptr write support" depends on DRM_AMDGPU - depends on HMM_MIRROR + depends on MMU + select HMM_MIRROR + select MMU_NOTIFIER help This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it isn't already selected to enabled full userptr support. diff --git a/drivers/gpu/drm/nouveau/Kconfig b/drivers/gpu/drm/nouveau/Kconfig index 96b9814e6d06..df4352c279ba 100644 --- a/drivers/gpu/drm/nouveau/Kconfig +++ b/drivers/gpu/drm/nouveau/Kconfig @@ -86,9 +86,11 @@ config DRM_NOUVEAU_SVM bool "(EXPERIMENTAL) Enable SVM (Shared Virtual Memory) support" depends on DEVICE_PRIVATE depends on DRM_NOUVEAU - depends on HMM_MIRROR + depends on MMU depends on STAGING + select HMM_MIRROR select MIGRATE_VMA_HELPER + select MMU_NOTIFIER default n help Say Y here if you want to enable experimental support for diff --git a/mm/Kconfig b/mm/Kconfig index b18782be969c..563436dc1f24 100644 --- a/mm/Kconfig +++ b/mm/Kconfig @@ -675,16 +675,14 @@ config MIGRATE_VMA_HELPER config DEV_PAGEMAP_OPS bool +# +# Helpers to mirror range of the CPU page tables of a process into device page +# tables. +# config HMM_MIRROR - bool "HMM mirror CPU page table into a device page table" + bool depends on MMU - select MMU_NOTIFIER - help - Select HMM_MIRROR if you want to mirror range of the CPU page table of a - process into a device page table. Here, mirror means "keep synchronized". - Prerequisites: the device must provide the ability to write-protect its - page tables (at PAGE_SIZE granularity), and must be able to recover from - the resulting potential page faults. + depends on MMU_NOTIFIER config DEVICE_PRIVATE bool "Unaddressable device memory (GPU memory, ...)" From patchwork Tue Aug 6 16:05:53 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christoph Hellwig X-Patchwork-Id: 11079305 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 57B26746 for ; Tue, 6 Aug 2019 16:06:47 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 483E51FFD8 for ; Tue, 6 Aug 2019 16:06:47 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 3C2DB286AC; Tue, 6 Aug 2019 16:06:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A61B31FFD8 for ; Tue, 6 Aug 2019 16:06:46 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 60BC36B026E; Tue, 6 Aug 2019 12:06:40 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 56EDC6B026F; Tue, 6 Aug 2019 12:06:40 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3E78B6B0270; Tue, 6 Aug 2019 12:06:40 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf1-f197.google.com (mail-pf1-f197.google.com [209.85.210.197]) by kanga.kvack.org (Postfix) with ESMTP id 067046B026E for ; Tue, 6 Aug 2019 12:06:40 -0400 (EDT) Received: by mail-pf1-f197.google.com with SMTP id j22so56134295pfe.11 for ; Tue, 06 Aug 2019 09:06:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=rJswjijmkpcl3+zNTfEscrNrHCmk4eoJ1fNyJa4rycs=; b=r4FL/HdtQMuItoUH0Y6qntq0EEfUlv2hVgap6d1uYFHB4NmdQObwKybrBLmbWFzCdG WkcBGtHZKta8lC0iGu7a1n5aqHH0xA9EhQk5z0oQB6DnB3xIW5bAoMcgqqKK/dKhruBU GJWx9o7G2ngCHTxzpBBORQ5CoZc1QgbxIqTuej7AOi5kBco8abUD3+Ye1qxxMdWWRmzJ uV56hrwPS0PlnyqlHp0vZg3x0BoI8dNYtyUuFTtHV18Tfwu5KpIX/FCeVO87PrqF1e98 AXp/4BA2PCKd2SX//CmSSEO2FPG4sXiyo1hZNrM882+pXxVzQzYUShfKnD7HFGLiklAm AIOA== X-Gm-Message-State: APjAAAVMBxuLfOeBzmRO6xHRBenrO2k8OqyEMOblGwyF4kR7KR4YhtCa BkcHcXw+Mh5yFnoDi8KJ6zWMc5x/xEXupL2oVs+EQldvY6fqoE3ld+480D0pVxfiVfktgpfwIj7 tEOb3ZcVd09ItZuDXhiWLuTf6Md3rfkhs55whmXV2D/7UyO38W5DZP2G3MYdi5qw= X-Received: by 2002:a17:90a:350c:: with SMTP id q12mr4020267pjb.46.1565107599664; Tue, 06 Aug 2019 09:06:39 -0700 (PDT) X-Google-Smtp-Source: APXvYqy7xZyD30mwrFvZYfTptTPKJrQKJpdbd9cPVpYDDQJ7z8KYDTk9kC8zdCHW7O9qUalye7Jy X-Received: by 2002:a17:90a:350c:: with SMTP id q12mr4020164pjb.46.1565107598284; Tue, 06 Aug 2019 09:06:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565107598; cv=none; d=google.com; s=arc-20160816; b=Sw3KZAPj7urc2f40Mj03Jtwf5lJYJl/11BX4CL93HgtV2tYVEI1PoxtSQVi7NvZMB4 5865pnDYsr/KhZLxTgHTTeDpUNGOt4neqZsxa0T8W7mCqgS/4t6XDGlVZsT/jxFS7zGD xwAtvJSKC5Mlunr5z+arU+YbMirAdq8G31WMaxkzhnTCEjF9nQ0TcdSBUhRacG3//qml zrLVAOKq53liP1eZLTmNgssVDhKsBDYM8CkaOQOTHkZ4A6lntuTBeU0+7nZFIZmtUSG1 8i6lHcqSfhbRWGUbJnN1JWhGf8qaKVuNNvdSiwqgDukxMoW8GCI4ZqZnYaftWjOIvfae xtBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=rJswjijmkpcl3+zNTfEscrNrHCmk4eoJ1fNyJa4rycs=; b=Jpv8GmryWt8+Rg3sAz5ONyjG3fl+DFf0uQ26MDsth8Yc+c2ViciAy1z0H1o+2owoj8 GUCC6a4VA0I67Q/r8bBZqJm0t+JknxL1k9TQfLhw19vdeANcoM4LSoYpfNcD3+PgbMVr qzeV7l1lvGDjMTZYsUib9FICsKVLjubMFks5QVl44YCxj6JtwYQI7ZZFN2BmROlSx9nF ApwOpih2BMcz9QORwCCX5wtjO32fnhkkmssEnWHlOVsI/euK0mJkP3PpN5OxKNYErPtj Q68PFCzHcVHAKyPEZ1HKp7irMRHDnadIfhdqwzvBezsJEtx+Ld/Oe2z7z1jbZTtCG5nm 1gbA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=VqvOXxoz; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org Received: from bombadil.infradead.org (bombadil.infradead.org. [2607:7c80:54:e::133]) by mx.google.com with ESMTPS id a63si43783399pla.348.2019.08.06.09.06.38 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Tue, 06 Aug 2019 09:06:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) client-ip=2607:7c80:54:e::133; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=VqvOXxoz; spf=pass (google.com: best guess record for domain of batv+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+71fb6172ac18b852553b+5826+infradead.org+hch@bombadil.srs.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=Content-Transfer-Encoding: MIME-Version:References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From:Sender :Reply-To:Content-Type:Content-ID:Content-Description:Resent-Date:Resent-From :Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=rJswjijmkpcl3+zNTfEscrNrHCmk4eoJ1fNyJa4rycs=; b=VqvOXxozSwzI7eFEf4UYNUkBtj zcyVitAb2IBMSN93hEBkvpOtxEY7UNDy7CxQ9GwlywMhcQG+yvk1GnvJ95BMTub6P4sOUn/zZ7DL2 6OGLjDqkUdd0yERlijxCp48M1Sb2SETesO8sl08Tqp3CLKkJt0om/9x2rBHbcNm/RwLcHbbrEg0HO OSKL0hAunEvUeoKw2CxinuU3cCbdfwZyg//2UUmstD8wxTIzDYuvmfwcVdjkH+omes3LrNSHjicgO WDD51ILtI0PHtJZF9sKmSRarRmER/JhlTblhSLHMs+d7uLKufLh1X/vU4bfr/hI4BkMtdZN+ok155 BwkIXDrg==; Received: from [195.167.85.94] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hv1yt-0000fO-41; Tue, 06 Aug 2019 16:06:35 +0000 From: Christoph Hellwig To: =?utf-8?b?SsOpcsO0bWUgR2xpc3Nl?= , Jason Gunthorpe , Ben Skeggs , Felix Kuehling Cc: Ralph Campbell , linux-mm@kvack.org, nouveau@lists.freedesktop.org, dri-devel@lists.freedesktop.org, amd-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH 15/15] amdgpu: remove CONFIG_DRM_AMDGPU_USERPTR Date: Tue, 6 Aug 2019 19:05:53 +0300 Message-Id: <20190806160554.14046-16-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190806160554.14046-1-hch@lst.de> References: <20190806160554.14046-1-hch@lst.de> MIME-Version: 1.0 X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org. See http://www.infradead.org/rpr.html X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: X-Virus-Scanned: ClamAV using ClamSMTP The option is just used to select HMM mirror support and has a very confusing help text. Just pull in the HMM mirror code by default instead. Signed-off-by: Christoph Hellwig Reviewed-by: Jason Gunthorpe --- drivers/gpu/drm/Kconfig | 2 ++ drivers/gpu/drm/amd/amdgpu/Kconfig | 10 ---------- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 6 ------ drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 12 ------------ 4 files changed, 2 insertions(+), 28 deletions(-) diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig index 1d80222587ad..319c1da2e74e 100644 --- a/drivers/gpu/drm/Kconfig +++ b/drivers/gpu/drm/Kconfig @@ -226,9 +226,11 @@ config DRM_AMDGPU select DRM_SCHED select DRM_TTM select POWER_SUPPLY + select HMM_MIRROR select HWMON select BACKLIGHT_CLASS_DEVICE select INTERVAL_TREE + select MMU_NOTIFIER select CHASH help Choose this option if you have a recent AMD Radeon graphics card. diff --git a/drivers/gpu/drm/amd/amdgpu/Kconfig b/drivers/gpu/drm/amd/amdgpu/Kconfig index 2e98c016cb47..c5c963164f5e 100644 --- a/drivers/gpu/drm/amd/amdgpu/Kconfig +++ b/drivers/gpu/drm/amd/amdgpu/Kconfig @@ -24,16 +24,6 @@ config DRM_AMDGPU_CIK radeon.cik_support=0 amdgpu.cik_support=1 -config DRM_AMDGPU_USERPTR - bool "Always enable userptr write support" - depends on DRM_AMDGPU - depends on MMU - select HMM_MIRROR - select MMU_NOTIFIER - help - This option selects CONFIG_HMM and CONFIG_HMM_MIRROR if it - isn't already selected to enabled full userptr support. - config DRM_AMDGPU_GART_DEBUGFS bool "Allow GART access through debugfs" depends on DRM_AMDGPU diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c index 8bf79288c4e2..00b74adbd790 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c @@ -751,9 +751,7 @@ struct amdgpu_ttm_tt { uint64_t userptr; struct task_struct *usertask; uint32_t userflags; -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR) struct hmm_range *range; -#endif }; /** @@ -763,7 +761,6 @@ struct amdgpu_ttm_tt { * Calling function must call amdgpu_ttm_tt_userptr_range_done() once and only * once afterwards to stop HMM tracking */ -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR) #define MAX_RETRY_HMM_RANGE_FAULT 16 @@ -892,7 +889,6 @@ bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm) return r; } -#endif /** * amdgpu_ttm_tt_set_user_pages - Copy pages in, putting old pages as necessary. @@ -970,12 +966,10 @@ static void amdgpu_ttm_tt_unpin_userptr(struct ttm_tt *ttm) sg_free_table(ttm->sg); -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR) if (gtt->range && ttm->pages[0] == hmm_device_entry_to_page(gtt->range, gtt->range->pfns[0])) WARN_ONCE(1, "Missing get_user_page_done\n"); -#endif } int amdgpu_ttm_gart_bind(struct amdgpu_device *adev, diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h index caa76c693700..406b1c5e6dd4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h @@ -101,20 +101,8 @@ int amdgpu_mmap(struct file *filp, struct vm_area_struct *vma); int amdgpu_ttm_alloc_gart(struct ttm_buffer_object *bo); int amdgpu_ttm_recover_gart(struct ttm_buffer_object *tbo); -#if IS_ENABLED(CONFIG_DRM_AMDGPU_USERPTR) int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, struct page **pages); bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm); -#else -static inline int amdgpu_ttm_tt_get_user_pages(struct amdgpu_bo *bo, - struct page **pages) -{ - return -EPERM; -} -static inline bool amdgpu_ttm_tt_get_user_pages_done(struct ttm_tt *ttm) -{ - return false; -} -#endif void amdgpu_ttm_tt_set_user_pages(struct ttm_tt *ttm, struct page **pages); int amdgpu_ttm_tt_set_userptr(struct ttm_tt *ttm, uint64_t addr,