From patchwork Sun Aug 11 08:12: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: 11088791 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 F00B3746 for ; Sun, 11 Aug 2019 08:12:59 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E3D1326E76 for ; Sun, 11 Aug 2019 08:12:59 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id D83B027CF9; Sun, 11 Aug 2019 08:12:59 +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=unavailable 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 6AC4526E69 for ; Sun, 11 Aug 2019 08:12:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 657ED6B0006; Sun, 11 Aug 2019 04:12:56 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 60C436B0008; Sun, 11 Aug 2019 04:12:56 -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 4FAC66B000A; Sun, 11 Aug 2019 04:12:56 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id 183626B0006 for ; Sun, 11 Aug 2019 04:12:56 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id s21so59696404plr.2 for ; Sun, 11 Aug 2019 01:12:56 -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=uoRjcc+yME8yAPa9Xc310HToAkfl96lLd5QwWON1ovM=; b=DaAe8s4MGGJTlaAWOjZj5IQ5ygSYikAkO8wDrcXMiNA6HJeDLoACa3Fz7y+Wl1gXrM P/QJN45k8XoJG9lvyZhZICtfOb6eGRtDmf9cB9DVNsAM+nFzy57jeOWS+0QCcyCbYDy0 KJHbGiEkJIpIzm3YaAthRaQGkJk3HYrUwb7RFCL/KGBxtnNrwe4TqJKQA9HCABw1j9Ok PpFNjKhBVQcGTkl4nSa+FFpd3RH+5LOBzuJ1AMpa7xHfcOGYvNWxlfkeBRr/TGw46zdT Q0jzUVUZGHvdsHoKX7cDwDbTlNy92DbtwuW3TgB2AOXs7dki95CxBNdDBQQLjS96VSti WBYQ== X-Gm-Message-State: APjAAAVhYBrp3tlPEnTCXuvGufcGvODigc6ZFt+hRNPAnS6bxh95S5Vz eterFbiykoli4OmYVIyR+s4mzK3IhhXBrGRD3ZBGY+QHdqvB13Vc9coDYzOiJfVxR+6klTDf0sl X0u5dNsidQXIYlufpo5yPzvCAA5/S4SFkh9pJi9lJMxCRBYILcIybEGDCHU1FCDQ= X-Received: by 2002:a17:902:7083:: with SMTP id z3mr22604166plk.87.1565511175622; Sun, 11 Aug 2019 01:12:55 -0700 (PDT) X-Google-Smtp-Source: APXvYqwyJvUEWVmE6Ke1tADfrC5aBGPJzoWar1GqosMQdvAmMHRq2ayyNY3jezwU/JjnGV56J9aN X-Received: by 2002:a17:902:7083:: with SMTP id z3mr22604133plk.87.1565511174875; Sun, 11 Aug 2019 01:12:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565511174; cv=none; d=google.com; s=arc-20160816; b=WsP6KEXHzjVaVvlPPcxYOSs0Tp1lOAKy26LLLMe2d1K72Ri92iux3wWZpWx15ER6IW NQ+k7+H4Uz5hUA6BHzI3w2tJvzyEz1utk8oVwa48tuBVeYgAOOHaEuccFh7r4IQj+IsM tWsOF4+CJx6/Oa8GHSi1KyboAJNEYdrVy54pAEI0GPyWvzLqElIoMOjyhETtV3mVMLUp w95mwhjMfm6Vq3/28qDaaZdKxJe+ITidvaLfgW2B1l92YsVrtshuZ0BYBv4yo0y6ydUS FKlSMlr36ozdemHA3qXliHq80w6ebWvbZqbvKYwyXCmVJiaB7Kz8f+KIMSCkxm48b6G0 9hvw== 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=uoRjcc+yME8yAPa9Xc310HToAkfl96lLd5QwWON1ovM=; b=DZes5e6vCe7CVwwUXY5ZVSsu2G75ycbuPNmtlSQfn3JRj0cD4yB2Sf9+DulT/qdzvc voLddTMqFpzvMLvcv8f3VhC1u/JvOODm1dONOQQHQJOTHL5yTnaPfSCizxJuqFVtN9sn Zh/gIlYXd8Vse0vGv8k5w+ZmvLfAXsuqqP0RjZ0b+22WnE6SJuP7+uRWn3zxEEUMjAxR mtBM5ZQW0+Dr0OLcvpYhFaTS21DI+hp3L0/HYaURkHJCO7doyL1gXu0zyH5LsibYDxxB Y7ymBque5xVPdwatCUEU6bjSlZWvQzObqFycDOmkdoXrRizqI+NLRQVJw7Re2/zGyPF9 pKnQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=KEcMyEGD; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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 i1si64162377pfr.203.2019.08.11.01.12.54 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 11 Aug 2019 01:12:54 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+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=KEcMyEGD; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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=uoRjcc+yME8yAPa9Xc310HToAkfl96lLd5QwWON1ovM=; b=KEcMyEGDGTyU3DR/tZsAvRAvj9 QaPfx4IIxQLHeN3VZwLRrkp0R0j7CmmPQUVfzE8mMwlkhfRUD3xuliZaBVBv9otQoT4AHLPWmezWS F+D0GqnHXxyke5eZl9lkRS0BcdFFyJpNgV5hnecQACoQKhye9zNIdmNKIqg4Dz+0R4HKBTYR19bke rXAlZJSfjmblsw1SNe5dAmUOMP7l7GiiEjuTLIzqzp4jabaFnG0cUGH2TNG5kGU9CdwHwgyeM4lkp ga9KAp+07OYjdaeNXIU6yUDKkujJcokbaSDnaTQg5z2Qi6tQvzxBbiKperT51YI2zsAUexe3SnR95 sw7YqVUg==; Received: from [2001:4bb8:180:1ec3:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hwiyC-0005CY-IP; Sun, 11 Aug 2019 08:12:53 +0000 From: Christoph Hellwig To: Dan Williams , Jason Gunthorpe Cc: Bharata B Rao , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org Subject: [PATCH 1/5] resource: pass a name argument to devm_request_free_mem_region Date: Sun, 11 Aug 2019 10:12:43 +0200 Message-Id: <20190811081247.22111-2-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190811081247.22111-1-hch@lst.de> References: <20190811081247.22111-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 Add an explicit resource name argument to devm_request_free_mem_region. Besides allowing drivers to request multiple regions per device with different names, this also prepares for a not device managed version of the function. Signed-off-by: Christoph Hellwig --- drivers/gpu/drm/nouveau/nouveau_dmem.c | 3 ++- include/linux/ioport.h | 2 +- kernel/resource.c | 5 +++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c index 1333220787a1..aedf18a44789 100644 --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c @@ -605,7 +605,8 @@ nouveau_dmem_init(struct nouveau_drm *drm) * and latter if we want to do thing like over commit then we * could revisit this. */ - res = devm_request_free_mem_region(device, &iomem_resource, size); + res = devm_request_free_mem_region(device, &iomem_resource, size, + dev_name(device)); if (IS_ERR(res)) goto out_free; drm->dmem->pagemap.type = MEMORY_DEVICE_PRIVATE; diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 5b6a7121c9f0..0dcc48cafa80 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -296,7 +296,7 @@ static inline bool resource_overlaps(struct resource *r1, struct resource *r2) } struct resource *devm_request_free_mem_region(struct device *dev, - struct resource *base, unsigned long size); + struct resource *base, unsigned long size, const char *name); #endif /* __ASSEMBLY__ */ #endif /* _LINUX_IOPORT_H */ diff --git a/kernel/resource.c b/kernel/resource.c index 7ea4306503c5..0ddc558586a7 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -1650,13 +1650,14 @@ EXPORT_SYMBOL(resource_list_free); * @dev: device struct to bind the resource to * @size: size in bytes of the device memory to add * @base: resource tree to look in + * @name: identifying name for the new resource * * This function tries to find an empty range of physical address big enough to * contain the new resource, so that it can later be hotplugged as ZONE_DEVICE * memory, which in turn allocates struct pages. */ struct resource *devm_request_free_mem_region(struct device *dev, - struct resource *base, unsigned long size) + struct resource *base, unsigned long size, const char *name) { resource_size_t end, addr; struct resource *res; @@ -1670,7 +1671,7 @@ struct resource *devm_request_free_mem_region(struct device *dev, REGION_DISJOINT) continue; - res = devm_request_mem_region(dev, addr, size, dev_name(dev)); + res = devm_request_mem_region(dev, addr, size, name); if (!res) return ERR_PTR(-ENOMEM); res->desc = IORES_DESC_DEVICE_PRIVATE_MEMORY; From patchwork Sun Aug 11 08:12: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: 11088795 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 BE2F6746 for ; Sun, 11 Aug 2019 08:13:02 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B2FE826E69 for ; Sun, 11 Aug 2019 08:13:02 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A77C427CF9; Sun, 11 Aug 2019 08:13:02 +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 2F01126E69 for ; Sun, 11 Aug 2019 08:13:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 128EF6B000A; Sun, 11 Aug 2019 04:12:59 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 091AF6B000D; Sun, 11 Aug 2019 04:12:58 -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 DAA886B000C; Sun, 11 Aug 2019 04:12:58 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id 9C4B26B0008 for ; Sun, 11 Aug 2019 04:12:58 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id s13so3919084plp.7 for ; Sun, 11 Aug 2019 01:12:58 -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=MRcXDHnvegEnPa14nfQi3BqEN+g8pBHoWHKAcBcbf9E=; b=l8F86XyLIC9IrpKSINBS1GVz9M/QujdUCJV/tkbpBVfgV7E6wat4150Dyn4NDbM/jM 5PCtj/i52bGvrZdOVGvbsP24II0CBUcIP+PHBbdnbujck4DNOEIVFOIOMNYvfIsGJ5UI 7ecsc3U2aOiJLzNKdRvGIoQyazYpevey8Kl+kSjzxAHBeiy31EpmC7jslgoDFTF+S7uh 872EpSAmjQkbQ+qAXUk+EjJC4nS5Yln3BAO9R8UQViDiA3J6o1zq/30dDy7GGE3HpjZV S8+moYMQxw0sK8I0kcOS2M7JO8Cf6LLT54+MJfjTyD1S5ARbwbI29FAJRa5x1rNWfBV4 4gcg== X-Gm-Message-State: APjAAAW6lRv3hp/5hCTPwQ+WxhZK2sLB/C0gSPc/341b1IqzvBGXvWuC cN63oddULMWG+zLnZt9CTClWCu8IuWh65vtghhoG/njkb46t2ohYVu40kX+UWZEANoi1R2728Nz JbiuWazXWq+HRQYIBnACqN4SOHD5H225lFUKzRwUFR6TIipYvxGTVDx3mW22jkl8= X-Received: by 2002:a17:90a:5887:: with SMTP id j7mr17791490pji.136.1565511178338; Sun, 11 Aug 2019 01:12:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqwG4a4mM11m1S+YiRZ3iDeACkkOGHBo3MDnZRdrTXC/84F51COy545oitpX+UR0lRWmWlTj X-Received: by 2002:a17:90a:5887:: with SMTP id j7mr17791463pji.136.1565511177644; Sun, 11 Aug 2019 01:12:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565511177; cv=none; d=google.com; s=arc-20160816; b=DpVrIOAIcYpwoeV3h79Z5kOvUK0FSYxqi/shIZjtmTFiIG/KKXHX5eQP0bIk5inNCk Dnp9pEHdgwFM3Fx2OgzNmOY0rpQAPkEuBvob1g3j340Dj3pDxPul+C2WK0abpkd/jKvv PZ9UkpMNBFqOxyRNEB+JkiSZuDSBenrnkjF16wWQkI2FyaiPEP5ZO2CP49SdH1Jb1dET ZwjFu2rOcyqhU2/XXp0u3xM7SLd6r4FCHJ42W9EyJZWp9BjFQ5mJ/jK30MnsE4/E3Qnv QoXOqbHuCYVGA33z3ukmX61p+mOdide4rxcXDjs+zpMqTE+efBCvX+35NYGMsAGL2oHz ZILA== 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=MRcXDHnvegEnPa14nfQi3BqEN+g8pBHoWHKAcBcbf9E=; b=FyfCeBf63dgSFxE2b7lTIqTaC6CzLRvyfCAlr1kxc13d5wVpjwJQxEOBxkjgj73egX OwsBvIkG5DPNsHggEatzchZxpASmxWoFyBBcv8cvX7aWoTMMgU8nn3Cj2i0o7sXZJUZY MNq37Dp32y5Cy19RYOJ03A9cIzvK3ZLLSbOGPED/NW/PBn43YnlXUqUeZVpP48S9lI+R WwSV3g69OLfFvi/diLHlyv7KljFCisjP/d2YbIqcfXLVP62JKagwfLgqHJZ0vaBgkMN7 rbSuZuT5fD17ALqVJuqlo9Qy6h7EctZAuz0iu8g8sjfOdc1AlMzZ33VbyPYyui45Fds6 U0ew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=bhgtFlj7; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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 q10si47091871pff.223.2019.08.11.01.12.57 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 11 Aug 2019 01:12:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+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=bhgtFlj7; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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=MRcXDHnvegEnPa14nfQi3BqEN+g8pBHoWHKAcBcbf9E=; b=bhgtFlj77SWSlCwSjYILq91ceo 78PkXlraHml2oYRTR5Aj0jTSFviOVyqPHDDUnkcmKulGthcCrePG5BcGiGmgD/LDTEFbLvyt/4rMx F9i1oqG6lWV8fjRskKRWX8E8Az+mbfrzAuX+sPxz3sffgBLwEZab/+CfuUHtZfxgh1MxIdIyqqsqX IDgtMnbPis2tx5d2oflU1k3GlUhBYF2HmdBl18+u1jcwetya75loik3xMKD2nrkC+5BwuhWMM4DBH NrztwG5lvsVuKAtIQBHkFCgrusv8on3mHMP4SVFrhXvL1jJs1azM0fbcipVQUSUH5efpD3zTzGkiS vK/3xEtQ==; Received: from [2001:4bb8:180:1ec3:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hwiyF-0005Co-Hc; Sun, 11 Aug 2019 08:12:55 +0000 From: Christoph Hellwig To: Dan Williams , Jason Gunthorpe Cc: Bharata B Rao , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org Subject: [PATCH 2/5] resource: add a not device managed request_free_mem_region variant Date: Sun, 11 Aug 2019 10:12:44 +0200 Message-Id: <20190811081247.22111-3-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190811081247.22111-1-hch@lst.de> References: <20190811081247.22111-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 Just add a simple macro that passes a NULL dev argument to dev_request_free_mem_region, and call request_mem_region in the function for that particular case. Signed-off-by: Christoph Hellwig --- include/linux/ioport.h | 2 ++ kernel/resource.c | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 0dcc48cafa80..528ae6cbb1b4 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h @@ -297,6 +297,8 @@ static inline bool resource_overlaps(struct resource *r1, struct resource *r2) struct resource *devm_request_free_mem_region(struct device *dev, struct resource *base, unsigned long size, const char *name); +#define request_free_mem_region(base, size, name) \ + devm_request_free_mem_region(NULL, base, size, name) #endif /* __ASSEMBLY__ */ #endif /* _LINUX_IOPORT_H */ diff --git a/kernel/resource.c b/kernel/resource.c index 0ddc558586a7..3a826b3cc883 100644 --- a/kernel/resource.c +++ b/kernel/resource.c @@ -1671,7 +1671,10 @@ struct resource *devm_request_free_mem_region(struct device *dev, REGION_DISJOINT) continue; - res = devm_request_mem_region(dev, addr, size, name); + if (dev) + res = devm_request_mem_region(dev, addr, size, name); + else + res = request_mem_region(addr, size, name); if (!res) return ERR_PTR(-ENOMEM); res->desc = IORES_DESC_DEVICE_PRIVATE_MEMORY; From patchwork Sun Aug 11 08:12: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: 11088799 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 45E3913AC for ; Sun, 11 Aug 2019 08:13:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 396B326E69 for ; Sun, 11 Aug 2019 08:13:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2DF5027D0C; Sun, 11 Aug 2019 08:13:05 +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=unavailable 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 AD0C426E69 for ; Sun, 11 Aug 2019 08:13:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B156F6B000D; Sun, 11 Aug 2019 04:13:02 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id A9CA66B000E; Sun, 11 Aug 2019 04:13:02 -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 8F3FE6B0010; Sun, 11 Aug 2019 04:13:02 -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 579526B000D for ; Sun, 11 Aug 2019 04:13:02 -0400 (EDT) Received: by mail-pg1-f199.google.com with SMTP id a9so1894932pga.16 for ; Sun, 11 Aug 2019 01:13:02 -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=Y01FamiaByfIvO4XPWaRUQIkSGmHIczQrp+AHvWAufA=; b=dQM/Bl6h/FjPv6d5z/Ltbx/ys5m3oX9WOUY6qx+1sTg4GcY7hzFUKvxz+zH6MKQPgT XS3HZmCs2jySUVQMsLWH5H0Q7VWSAekGnNKgMtf7b1v5nx52Qu1ixkyGxLuwkKi1dGuJ sA7nZf5zFfkoSpdUGNaSj7Ngcg7D9tHz0LPUAcjxgKc3qK5FZunout/EvTDp9hOt2Pry TaywGG8sCsihH/0s6TgjDtMd+X09SKdDMTpi7v1d8yn7lX4YIKkhPd9IcAIx6V7aytzW TwCIV4vDavh0GMbImQkRx5Mh7CuMo8jgMZzGWqsaud2/2hPzlcgvtCoJapGSSFd+NLU9 8otQ== X-Gm-Message-State: APjAAAU+WNvcrMAhQlZRUXeoVRit6j6z278G+IKWD6KC5VMuqBMjJkoq HUVMjPpISuS1h0wPVtU4bCJnInQ94ND1WIYbpcMM/C2EQkaZRN3GQoq9ybIxAUZl//SBH7xyw5q +Wf+Eb+s6MADGMkKFuecqQ4E5mNrXjWio/Y9OfNf6QY1my//YnmKvQ2RQIhRy3OY= X-Received: by 2002:a17:902:f46:: with SMTP id 64mr27788158ply.235.1565511181997; Sun, 11 Aug 2019 01:13:01 -0700 (PDT) X-Google-Smtp-Source: APXvYqxsrrFqHUmOJOcPjuLkCGrlg+GHXRip0pIlI2qfsMIYoWEGn+hW3dTRj4Ab7vvBCrwDl00V X-Received: by 2002:a17:902:f46:: with SMTP id 64mr27788129ply.235.1565511181288; Sun, 11 Aug 2019 01:13:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565511181; cv=none; d=google.com; s=arc-20160816; b=UPsgBTYXntOnTFdw2lQ+Tdhx5tevqoPA7vd7bUPxJ3TGemMt4BiIvaVsK6kSsi6WGz HH4bcG614AtNS3+BTTnDbrGhbnvN3eIqhJTTJQT9d58kyDhOhuxibaJXxtfW99vXa9Rs dlmrIu+Z8KiSw4qMbRUfiCUoVvk3APZqcH3X1kWUMRq+6+nivlCzKEcHBrx8uCbQM7sZ v8Vn9bTFCRDQ766LDBOfYOJTmi0kKwSASXU42/B7RaTXOFSG76uDtQpOPkBPSbv2NSpl Md0B9loqPcnWdpftAHdMBkL+R/Pt44dPpbdZg8C39tphLVAkCkWpH7fEJExHRuF6MuIN tOIw== 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=Y01FamiaByfIvO4XPWaRUQIkSGmHIczQrp+AHvWAufA=; b=LK6gRCAar4o/rvz3yEB0QQIXXLGRTAMkvq8NHCIZLJGzwA+uA9NeVGZYrhEeAYne2s +ulriQYBx/Vz7va2ZbrbnxgjuP9TH34w9ftCvFdXUpDn7HddavgfiAF9HiMbPpW/2kAy KLbb0TRtV7GqgZw9oeBOCIzMmioBmUb6adVyPYkBPmXfrFY80YeYGmRdpHtFFc0sFDad IVraQ/kqr/0pneKvBtYakU+9fDf8XArW9Yews0v4PLs2d+0BQd4JmRs+r2l92XPJu/K2 cmNiTliv/mtYvP44S+fpfJfc9AoLV8LJ0EpNlZsRK7tfBkifOf0SDOJImgP5v1qteHfT Dh5A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=RipnxiPt; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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 q15si57074655pgt.150.2019.08.11.01.13.01 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 11 Aug 2019 01:13:01 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+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=RipnxiPt; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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=Y01FamiaByfIvO4XPWaRUQIkSGmHIczQrp+AHvWAufA=; b=RipnxiPt/PMVgl31RtWtQJu3OX VrtuUEa9DBkTysRlMPDs1dgFUPp6qSJxDMt8qbJIFjXY/4T/9DAI7jJLR/l2QUJ1Wr9wEEXr5LAFk Fc8vtOysZAZCOegxYg4kgsM9/0zvRpon6JcD/C5G8Op2oi4kUx8EBWDh5SfZhCgKFDpQF/2Vxy87W JebOmEQSEZX2iS4UyphPWLOkEXGYARp8ynsC9ruErseHKFgsWmV9WDZU0NnMtbKg2xMhYlZQVqBUV Dkkj6+wq8Q0is5FJ/jAexn89X7iyHKgpKE9rC9YP5uR6T7HX7Ir9Wrurtsb57fn8FnyfLdogrv0Cf +fokE9LQ==; Received: from [2001:4bb8:180:1ec3:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hwiyI-0005DL-9r; Sun, 11 Aug 2019 08:12:58 +0000 From: Christoph Hellwig To: Dan Williams , Jason Gunthorpe Cc: Bharata B Rao , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org Subject: [PATCH 3/5] memremap: remove the dev field in struct dev_pagemap Date: Sun, 11 Aug 2019 10:12:45 +0200 Message-Id: <20190811081247.22111-4-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190811081247.22111-1-hch@lst.de> References: <20190811081247.22111-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 dev field in struct dev_pagemap is only used to print dev_name in two places, which are at best nice to have. Just remove the field and thus the name in those two messages. Signed-off-by: Christoph Hellwig --- include/linux/memremap.h | 1 - mm/memremap.c | 6 +----- mm/page_alloc.c | 2 +- 3 files changed, 2 insertions(+), 7 deletions(-) diff --git a/include/linux/memremap.h b/include/linux/memremap.h index f8a5b2a19945..8f0013e18e14 100644 --- a/include/linux/memremap.h +++ b/include/linux/memremap.h @@ -109,7 +109,6 @@ struct dev_pagemap { struct percpu_ref *ref; struct percpu_ref internal_ref; struct completion done; - struct device *dev; enum memory_type type; unsigned int flags; u64 pci_p2pdma_bus_offset; diff --git a/mm/memremap.c b/mm/memremap.c index 6ee03a816d67..600a14cbe663 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -96,7 +96,6 @@ static void dev_pagemap_cleanup(struct dev_pagemap *pgmap) static void devm_memremap_pages_release(void *data) { struct dev_pagemap *pgmap = data; - struct device *dev = pgmap->dev; struct resource *res = &pgmap->res; unsigned long pfn; int nid; @@ -123,8 +122,7 @@ static void devm_memremap_pages_release(void *data) untrack_pfn(NULL, PHYS_PFN(res->start), resource_size(res)); pgmap_array_delete(res); - dev_WARN_ONCE(dev, pgmap->altmap.alloc, - "%s: failed to free all reserved pages\n", __func__); + WARN_ONCE(pgmap->altmap.alloc, "failed to free all reserved pages\n"); } static void dev_pagemap_percpu_release(struct percpu_ref *ref) @@ -245,8 +243,6 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) goto err_array; } - pgmap->dev = dev; - error = xa_err(xa_store_range(&pgmap_array, PHYS_PFN(res->start), PHYS_PFN(res->end), pgmap, GFP_KERNEL)); if (error) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 272c6de1bf4e..b39baa2b1faf 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5982,7 +5982,7 @@ void __ref memmap_init_zone_device(struct zone *zone, } } - pr_info("%s initialised, %lu pages in %ums\n", dev_name(pgmap->dev), + pr_info("%s initialised %lu pages in %ums\n", __func__, size, jiffies_to_msecs(jiffies - start)); } From patchwork Sun Aug 11 08:12: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: 11088803 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 BB2A1746 for ; Sun, 11 Aug 2019 08:13:07 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AF56126E69 for ; Sun, 11 Aug 2019 08:13:07 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id A3F4627CF9; Sun, 11 Aug 2019 08:13:07 +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=unavailable 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 264F826E69 for ; Sun, 11 Aug 2019 08:13:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B3BDC6B000E; Sun, 11 Aug 2019 04:13:04 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id AA19B6B0266; Sun, 11 Aug 2019 04:13:04 -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 98CD46B0269; Sun, 11 Aug 2019 04:13:04 -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 5E9D56B000E for ; Sun, 11 Aug 2019 04:13:04 -0400 (EDT) Received: by mail-pg1-f198.google.com with SMTP id k20so62622642pgg.15 for ; Sun, 11 Aug 2019 01:13:04 -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=wlIHq+QByXfQFn2NhPBNjI0aq3Vrr70dQs8BcS07ZzU=; b=FkVivsUa2SJfpiQ7I6SN2XHXOmedyXhwE5et13msL/s9lvZS5e1b5dH+Lj40Ps3WWl 34qqmvB5gZ/+xvX0Fy9P/CfNwTujpLo4Ik6IGUd5UmiGLJifqNNyy5UEli/rnq1EGW0e Wl1yLe9YbxPNf098IVzhmDA35o96Hs9w33FcR9Z7BN75wSJ50B8FV6RTKgM52gz07zmq UOVN9mqkzaSsckyq1YaL6kulYiXG/1bXcGMqS5WLD5npYuWmqpzhiqivu3i7ENu62lmM TgTSaraxHsZ5p43S2DOEqyqbOV2q4qDX/yYgpnZ5SUs4A31fTFAJlJ/yCHG+Lzw1tDC1 DMBA== X-Gm-Message-State: APjAAAWPyKQ8aIdiPQdtLlzSZQW4zBmU1htze92MV5ITALHVQzylQQ/t syv5EcePGZyB7oVvl0Zpitk6vUY+17s4LBcWe5y7p6J6R5PFwypYDvfoKi7f18zAC70x274Pi0S 7IwDDqDmj0XFeOL2es2w8DR+//I5z4IbjnReMs6imuoMzD5N0Ygb46jiSAAYCx/A= X-Received: by 2002:a17:902:2ea2:: with SMTP id r31mr27839241plb.200.1565511184028; Sun, 11 Aug 2019 01:13:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwbY4RBGCpI3ecO5zEq+wRS+/9OuNR3zO3uIfTunCDjoG+PZ2Sh9T+GTTI4Wte+r6ZOkvZ X-Received: by 2002:a17:902:2ea2:: with SMTP id r31mr27839219plb.200.1565511183402; Sun, 11 Aug 2019 01:13:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565511183; cv=none; d=google.com; s=arc-20160816; b=maHCPaVYzNbHNhnQscdSqhCtJQzo7MXziJLIsSQDo2JOsHmI8hgPXDPDllaEP5m+Fh WvKNm2FzZp3bxMuj8kgoPZzqQHfmBvNVYIvYZ22SCikWdxkPLG0w/1lkiG+kpVHUJMAJ H+yU9p46qgSmbrT4cXCiR3brjewlIVsB4MIo/u3efHFtGkkAAIOzXWvkjV5rBzywBgjl eupFzP+knbEiv6HNagBPncnNzpjYJZ070iF3Pp5/Pd4/oELbw8VjaRyr3zy2jZ4Ohorg YfejAhlxCHaghl8xRJPP6/aXorXa42c1evt4TIcApYmptbptyw8GuFgHFObxQVsuVP9V TLpg== 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=wlIHq+QByXfQFn2NhPBNjI0aq3Vrr70dQs8BcS07ZzU=; b=BAN812JsyMIR8HgTzUeCnRF/P2rL2I5ArKfUHNpNEzHmqyhd4iLqDN6ubm596kjy8/ Paqj+PqWGRM0PfglwK5Ntsh9GCKM7HdSywTFtZjqoRHLOr0wHAPf+lwG4danXQr+RNfR lPYAD1IeBcXw04chYAQwKhfgaRvad+Rc9eeYFv3vDRq/ot4UFoRfutGlUi7IoPBZ4jLc +DMluqwUqfpdKfPGpv5cAuo/lxbI3SqrvhQcpT4DCCsiYd9P93UZppr0fdfUmt1Rt7Rs 4gcQspSBpp83mdqqwrLtEFHrmTzEpzIAs1uuKXxO8/LnEEKFAr7nr5VoRajMQxs/8FKZ jw5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b=kc3X0PTL; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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 t135si59528410pfc.251.2019.08.11.01.13.03 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 11 Aug 2019 01:13:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+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=kc3X0PTL; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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=wlIHq+QByXfQFn2NhPBNjI0aq3Vrr70dQs8BcS07ZzU=; b=kc3X0PTLwMO5fuhqlS6Qovruk8 pDoyHkdZ+189ETCogs3IobPSptChmx20eLInajEaYa9SOM7Pu0nJdngc2DDaOBv0RtJyetKzZeBTk 5u+SvBBaD19zrH72HD/iouIYz6pEmZoqRW1d+CernqP+Rvl1BCHCHKpAZmq41FiyvqG10jXSsjizQ lmAoD+M/3j/w6cUPONNpkZHits/zCfz91+B8ELezWMJqODmz+6Z867v/DGRNrXyNRy/ej2Qsv26ox MWJjal2GweQyLKvR3qdqWJm3DyKrLYCm/mXgb6XBkhRBKIc4VWBdo/FVTXaUYpePhl2cr5Nf9YJMS 4VOyPYIg==; Received: from [2001:4bb8:180:1ec3:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hwiyK-0005Dt-VH; Sun, 11 Aug 2019 08:13:01 +0000 From: Christoph Hellwig To: Dan Williams , Jason Gunthorpe Cc: Bharata B Rao , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org Subject: [PATCH 4/5] memremap: don't use a separate devm action for devmap_managed_enable_get Date: Sun, 11 Aug 2019 10:12:46 +0200 Message-Id: <20190811081247.22111-5-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190811081247.22111-1-hch@lst.de> References: <20190811081247.22111-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 Just clean up for early failures and then piggy back on devm_memremap_pages_release. This helps with a pending not device managed version of devm_memremap_pages. Signed-off-by: Christoph Hellwig --- mm/memremap.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/mm/memremap.c b/mm/memremap.c index 600a14cbe663..09a087ca30ff 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -21,13 +21,13 @@ DEFINE_STATIC_KEY_FALSE(devmap_managed_key); EXPORT_SYMBOL(devmap_managed_key); static atomic_t devmap_managed_enable; -static void devmap_managed_enable_put(void *data) +static void devmap_managed_enable_put(void) { if (atomic_dec_and_test(&devmap_managed_enable)) static_branch_disable(&devmap_managed_key); } -static int devmap_managed_enable_get(struct device *dev, struct dev_pagemap *pgmap) +static int devmap_managed_enable_get(struct dev_pagemap *pgmap) { if (!pgmap->ops || !pgmap->ops->page_free) { WARN(1, "Missing page_free method\n"); @@ -36,13 +36,16 @@ static int devmap_managed_enable_get(struct device *dev, struct dev_pagemap *pgm if (atomic_inc_return(&devmap_managed_enable) == 1) static_branch_enable(&devmap_managed_key); - return devm_add_action_or_reset(dev, devmap_managed_enable_put, NULL); + return 0; } #else -static int devmap_managed_enable_get(struct device *dev, struct dev_pagemap *pgmap) +static int devmap_managed_enable_get(struct dev_pagemap *pgmap) { return -EINVAL; } +static void devmap_managed_enable_put(void) +{ +} #endif /* CONFIG_DEV_PAGEMAP_OPS */ static void pgmap_array_delete(struct resource *res) @@ -123,6 +126,7 @@ static void devm_memremap_pages_release(void *data) untrack_pfn(NULL, PHYS_PFN(res->start), resource_size(res)); pgmap_array_delete(res); WARN_ONCE(pgmap->altmap.alloc, "failed to free all reserved pages\n"); + devmap_managed_enable_put(); } static void dev_pagemap_percpu_release(struct percpu_ref *ref) @@ -212,7 +216,7 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) } if (need_devmap_managed) { - error = devmap_managed_enable_get(dev, pgmap); + error = devmap_managed_enable_get(pgmap); if (error) return ERR_PTR(error); } @@ -321,6 +325,7 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) err_array: dev_pagemap_kill(pgmap); dev_pagemap_cleanup(pgmap); + devmap_managed_enable_put(); return ERR_PTR(error); } EXPORT_SYMBOL_GPL(devm_memremap_pages); From patchwork Sun Aug 11 08:12: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: 11088807 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 4639113AC for ; Sun, 11 Aug 2019 08:13:10 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 39AD826E69 for ; Sun, 11 Aug 2019 08:13:10 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 2E03B27CF9; Sun, 11 Aug 2019 08:13:10 +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=unavailable 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 854A726E69 for ; Sun, 11 Aug 2019 08:13:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2AEAD6B0266; Sun, 11 Aug 2019 04:13:07 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 238FC6B026A; Sun, 11 Aug 2019 04:13: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 128016B026B; Sun, 11 Aug 2019 04:13:07 -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 D12876B0266 for ; Sun, 11 Aug 2019 04:13:06 -0400 (EDT) Received: by mail-pg1-f199.google.com with SMTP id h3so62637168pgc.19 for ; Sun, 11 Aug 2019 01:13:06 -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=TXKQMsTJr5Yb/xGnPDJso0zoFmR2NNu+af3KSZelyms=; b=r6cpYUkZsAOIXBMCe39BE1pCAKEqZhoObhDZ8sHQk9GXY3DKLL3UcYbHxzW40nWOOm /tT9fw92cqYO06KW7uueiuGIfb5RvMObEG1NKkiOeEt9/fKk8/6a4HcylcInLdN772mu jKLGhN2Ko8Btb4KVeTnNdbTRPTcHBDANTHTd/X4ocNI5tyLU1rxQ/uKVn7hGCkrFyZKp PBASiwdPRZ2r2s+kdrIyUbdVOrnaHtgjUpEtjGZO6lKD2AVuKl9y2K2ydmrVQR41izYX eAHTD3dRf+XBER/WX7VAqrd55U07//rNa0TaGF+xneI1Q4AKatCi6sS/Uznv1sh6rpQh aGKQ== X-Gm-Message-State: APjAAAWe40Accx82yOz3XNguQiCXjPNdL956P3DbyrOzEylnOXJzFWg4 hbNY9AzIvBh516TIcC2Gw1mpR1zF8oGmwjY7OKCEzpllrGVhKxg/7kPFrURG42dC5ocLOP/68Sf hHIv6ie2Skx+TUIIMezF8aROIpZnGHC98CuoZ5cl1+cJO9kEJqVRD2jIzbtqh364= X-Received: by 2002:a17:902:bc49:: with SMTP id t9mr5693026plz.277.1565511186537; Sun, 11 Aug 2019 01:13:06 -0700 (PDT) X-Google-Smtp-Source: APXvYqzM0yooOIkt/1hhqeAm1ah9io7tlhPD73XG4cthpate1Uvc0ZDu4SfKG8nt9r7sn0ts/PMC X-Received: by 2002:a17:902:bc49:: with SMTP id t9mr5692986plz.277.1565511185755; Sun, 11 Aug 2019 01:13:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565511185; cv=none; d=google.com; s=arc-20160816; b=G9MkJQv/ZJu/ksOW+QBKWwdwduA5Y5F5mq4S17FyBX4HNzbjpv+ThsAHMH9WpJLpVN y44PLrdFFswDA67som0mjo8ch8iD+gyXfMADmUiQbvGZMt/At2vChzU+xZBoPFwcFENT bOzYYrE2hB0HTw/HLwBLAwCaoBTLHWC3rwt3rDCX+vebm4tUQ/fGkCvQdXBgXFnas0+a eYBtBae8M5Z/7Xpf2ikLiVzLkG7JbAW5ZUhGEmxWqqn6BGzYSosi+r3YMwxOn+YSXuvZ 5qIJymhaC+oxlNCcV6XbvpkgHXAOjO0NlWPCwBj0dmh0wKebnOLHi30gFKd9qsxFaOcn I2lQ== 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=TXKQMsTJr5Yb/xGnPDJso0zoFmR2NNu+af3KSZelyms=; b=nwfvHuX3JrDtrWOiH8CUBAhhsVJPUO5TJalVmTMXPCC52sN/FdaD9QEPyuqQA28bHs L0qKzBOzLnLTGEDQPjW+tZefVS3HcKB2rgaDOXkbIXJfnYVG7E1li9NXpGTjYqOLXjmf R18ttJi2IIrVF0nDnJ//grfaIa/7YC09zSut4NoH9jMuCSuUz5nGcxvQjvPlyXKWyin6 +qh82rHZFsuSF6dQ4c1N0AFlX4qWKs8Mn19GVYRixdiU4o3wR/iQzOMB5SQe82A+r9Z4 7FcJBZ/yiuEcZGuvwAtj4yFSzIgvpJ90Jae9E2tXmkNYeE7NZ1oAyM6Y9UARR4VZmEXt ZBAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=bombadil.20170209 header.b="OT/H51hc"; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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 b30si9037287pla.368.2019.08.11.01.13.05 for (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Sun, 11 Aug 2019 01:13:05 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+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="OT/H51hc"; spf=pass (google.com: best guess record for domain of batv+ae155d32c5e98ef18dee+5831+infradead.org+hch@bombadil.srs.infradead.org designates 2607:7c80:54:e::133 as permitted sender) smtp.mailfrom=BATV+ae155d32c5e98ef18dee+5831+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=TXKQMsTJr5Yb/xGnPDJso0zoFmR2NNu+af3KSZelyms=; b=OT/H51hco7qujYUkADA2Kr5mhh La/9S6mZhRfd30JMlgS+OPlMD0V2O/v5SVj0WHyUTF4kFCvqyJm5ajai5E9VzuYMltQUul3d5rtvf 3qSIsd3OuTQ8PTPSX3iYv+ugzF+FH2Z0pB/CQq/1QRCoZDIaMnPC/pH+UIWfGNnKhXzBbfaQISjhb p5G3MqgF2M4oI6MGB12BdIos2aTnkgu+bCbLGvE7cgHwESqNYGO//IY/kxd5BUeeyZY0sYtpj6JW7 J+bQBlcIdbSN/10waUCh3YT/wwfSWgLkNijIhRuLr0GATRJolYh7AflkfVIwakA+J/5nRY6FT52KY j4CHcP2Q==; Received: from [2001:4bb8:180:1ec3:c70:4a89:bc61:2] (helo=localhost) by bombadil.infradead.org with esmtpsa (Exim 4.92 #3 (Red Hat Linux)) id 1hwiyN-0005EN-Np; Sun, 11 Aug 2019 08:13:04 +0000 From: Christoph Hellwig To: Dan Williams , Jason Gunthorpe Cc: Bharata B Rao , Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org Subject: [PATCH 5/5] memremap: provide a not device managed memremap_pages Date: Sun, 11 Aug 2019 10:12:47 +0200 Message-Id: <20190811081247.22111-6-hch@lst.de> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190811081247.22111-1-hch@lst.de> References: <20190811081247.22111-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 kvmppc ultravisor code wants a device private memory pool that is system wide and not attached to a device. Instead of faking up one provide a low-level memremap_pages for it. Note that this function is not exported, and doesn't have a cleanup routine associated with it to discourage use from more driver like users. Signed-off-by: Christoph Hellwig --- include/linux/memremap.h | 1 + mm/memremap.c | 74 ++++++++++++++++++++++++---------------- 2 files changed, 45 insertions(+), 30 deletions(-) diff --git a/include/linux/memremap.h b/include/linux/memremap.h index 8f0013e18e14..eac23e88a94a 100644 --- a/include/linux/memremap.h +++ b/include/linux/memremap.h @@ -123,6 +123,7 @@ static inline struct vmem_altmap *pgmap_altmap(struct dev_pagemap *pgmap) } #ifdef CONFIG_ZONE_DEVICE +void *memremap_pages(struct dev_pagemap *pgmap, int nid); void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap); void devm_memunmap_pages(struct device *dev, struct dev_pagemap *pgmap); struct dev_pagemap *get_dev_pagemap(unsigned long pfn, diff --git a/mm/memremap.c b/mm/memremap.c index 09a087ca30ff..7b7575330db4 100644 --- a/mm/memremap.c +++ b/mm/memremap.c @@ -137,27 +137,12 @@ static void dev_pagemap_percpu_release(struct percpu_ref *ref) complete(&pgmap->done); } -/** - * devm_memremap_pages - remap and provide memmap backing for the given resource - * @dev: hosting device for @res - * @pgmap: pointer to a struct dev_pagemap - * - * Notes: - * 1/ At a minimum the res and type members of @pgmap must be initialized - * by the caller before passing it to this function - * - * 2/ The altmap field may optionally be initialized, in which case - * PGMAP_ALTMAP_VALID must be set in pgmap->flags. - * - * 3/ The ref field may optionally be provided, in which pgmap->ref must be - * 'live' on entry and will be killed and reaped at - * devm_memremap_pages_release() time, or if this routine fails. - * - * 4/ res is expected to be a host memory range that could feasibly be - * treated as a "System RAM" range, i.e. not a device mmio range, but - * this is not enforced. +/* + * This version is not intended for system resources only, and there is no + * way to clean up the resource acquisitions. If you need to clean up you + * probably want dev_memremap_pages below. */ -void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) +void *memremap_pages(struct dev_pagemap *pgmap, int nid) { struct resource *res = &pgmap->res; struct dev_pagemap *conflict_pgmap; @@ -168,7 +153,7 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) .altmap = pgmap_altmap(pgmap), }; pgprot_t pgprot = PAGE_KERNEL; - int error, nid, is_ram; + int error, is_ram; bool need_devmap_managed = true; switch (pgmap->type) { @@ -223,7 +208,7 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) conflict_pgmap = get_dev_pagemap(PHYS_PFN(res->start), NULL); if (conflict_pgmap) { - dev_WARN(dev, "Conflicting mapping in same section\n"); + WARN(1, "Conflicting mapping in same section\n"); put_dev_pagemap(conflict_pgmap); error = -ENOMEM; goto err_array; @@ -231,7 +216,7 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) conflict_pgmap = get_dev_pagemap(PHYS_PFN(res->end), NULL); if (conflict_pgmap) { - dev_WARN(dev, "Conflicting mapping in same section\n"); + WARN(1, "Conflicting mapping in same section\n"); put_dev_pagemap(conflict_pgmap); error = -ENOMEM; goto err_array; @@ -252,7 +237,6 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) if (error) goto err_array; - nid = dev_to_node(dev); if (nid < 0) nid = numa_mem_id(); @@ -308,12 +292,6 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) PHYS_PFN(res->start), PHYS_PFN(resource_size(res)), pgmap); percpu_ref_get_many(pgmap->ref, pfn_end(pgmap) - pfn_first(pgmap)); - - error = devm_add_action_or_reset(dev, devm_memremap_pages_release, - pgmap); - if (error) - return ERR_PTR(error); - return __va(res->start); err_add_memory: @@ -328,6 +306,42 @@ void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) devmap_managed_enable_put(); return ERR_PTR(error); } + +/** + * devm_memremap_pages - remap and provide memmap backing for the given resource + * @dev: hosting device for @res + * @pgmap: pointer to a struct dev_pagemap + * + * Notes: + * 1/ At a minimum the res and type members of @pgmap must be initialized + * by the caller before passing it to this function + * + * 2/ The altmap field may optionally be initialized, in which case + * PGMAP_ALTMAP_VALID must be set in pgmap->flags. + * + * 3/ The ref field may optionally be provided, in which pgmap->ref must be + * 'live' on entry and will be killed and reaped at + * devm_memremap_pages_release() time, or if this routine fails. + * + * 4/ res is expected to be a host memory range that could feasibly be + * treated as a "System RAM" range, i.e. not a device mmio range, but + * this is not enforced. + */ +void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap) +{ + int error; + void *ret; + + ret = memremap_pages(pgmap, dev_to_node(dev)); + if (IS_ERR(ret)) + return ret; + + error = devm_add_action_or_reset(dev, devm_memremap_pages_release, + pgmap); + if (error) + return ERR_PTR(error); + return ret; +} EXPORT_SYMBOL_GPL(devm_memremap_pages); void devm_memunmap_pages(struct device *dev, struct dev_pagemap *pgmap)