From patchwork Wed Jul 4 15:30:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Zhang, Yi" X-Patchwork-Id: 10505997 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id D1A63602BC for ; Wed, 4 Jul 2018 06:52:05 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B90DB25223 for ; Wed, 4 Jul 2018 06:52:05 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id AD44528AF4; Wed, 4 Jul 2018 06:52: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=-1.0 required=2.0 tests=BAYES_00, DATE_IN_FUTURE_06_12, 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 3B81726B39 for ; Wed, 4 Jul 2018 06:52:05 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 647CE6B0269; Wed, 4 Jul 2018 02:52:04 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 5F7AD6B026A; Wed, 4 Jul 2018 02:52: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 4E7456B026B; Wed, 4 Jul 2018 02:52:04 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pf0-f199.google.com (mail-pf0-f199.google.com [209.85.192.199]) by kanga.kvack.org (Postfix) with ESMTP id 0F4566B0269 for ; Wed, 4 Jul 2018 02:52:04 -0400 (EDT) Received: by mail-pf0-f199.google.com with SMTP id f9-v6so1217583pfn.22 for ; Tue, 03 Jul 2018 23:52:04 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=j/XlW0tQE9lEeOqksSuJJ+vMmBDx+ehBmqox8GQmqdE=; b=Cy4+AgnXHvKgxkcT6whQq8cvrN+/M2vdh//eG9qFn6qgRnGpLiK9jgS+e7/XlkdDeb 0ERC0DfZFI9ntxp69znS3L3CrXgJQbY9STTEg7xYyAchKb7BWPokHvvsKvvRuvqDSSFo KUCWHd0DmUfzWySrOvSb/AbiQF8py5bOywh7D2ym4691ZKvUmI+0cr85lr2UKEV3bIkm gHZ3jlWRaqJUu7tmMZwyldiCp598tZBlFH8kFqxMWua/RcrkQUoCKP1qR73IG4c8Uifx aX/9WgEp39KwJPpKHXUQKiXSIzAOUTXvOS7w8EMJn91oQeTthlJLHv1rWmMq0Gd14AqX Ek6Q== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of yi.z.zhang@linux.intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=yi.z.zhang@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Gm-Message-State: APt69E2+Y1BkWZJmtfjk4FdFOoFznS48kQTHGNcYzUQIDMS2CL02BMkA oDjedvI60YYHiqcyzXfhYoq+5yxRbAKNNwyjTsUY3SqAvg3FRVlMy5IQ/iJSmjXXsfKf7b/fl1U 1S3oBVPsEnuzJZPWB9jABzOYzSgb8jDFE3BOb4FmW/p8fVpqDjNWHCVWyqxAgZUwMpg== X-Received: by 2002:a65:4a90:: with SMTP id b16-v6mr784677pgu.136.1530687123758; Tue, 03 Jul 2018 23:52:03 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdthsgbgowkrt193ELD55pYkce9ci+2DKrjQeRFp66XZw3KjNkkH5O38Hc0R6H8QWko3mWO X-Received: by 2002:a65:4a90:: with SMTP id b16-v6mr784656pgu.136.1530687123100; Tue, 03 Jul 2018 23:52:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530687123; cv=none; d=google.com; s=arc-20160816; b=eAgKVOsZ6764fXETDz4rW+p8YyGAJUnMG6iDC5j6uL9+Q2Xe5pKBHNDSuBNmfwQVdT LX9EJF2QbxWV2JvNhf/tbCIlXxwuUDnGMCX4/ZDsgUu7RDxjbzH94+zQryge4ROzyeyQ PzgCVaFwRaM05QxQRgM0jfMMrLGsVdwImCWMyEhS0KvOarI++fAW6lpntK13Wsuqp4oz qPT3tUYRdoU1NP3H9Pd0x4A0sjRo0vPwBqYoO9D8JFzVIyRT+WMdaunHQiPDlsIJ+y5K 1ftk0r13n7yh4CxHrfKUhlQ7+aYYwW/kXNgsopEHcQqVA7AkFUFeSOXuYJrys5mkZxfG yQUw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=j/XlW0tQE9lEeOqksSuJJ+vMmBDx+ehBmqox8GQmqdE=; b=Tk98Ned9wCk9dMPmxoatvF6oaOyMOIp0V9Jkwg9Pt5Uz7laCDNVlNgpRU7PB4eJsHY eJ6/lVdXxPtqHP622qT+bYTBmFZny8wB80GT4dtoIMYOeRxN0UrVUxz86R3jgTjM+5T2 ilt2m0ftxMj7TP0WmCcvQJEDsViQSPp42eX+UBwEx0ufT4Duk1BAaAsOeeC1XJfmhptJ 1Fx251QenC9fN/thCWbZz83KPS9HIlghicvSg5UuHVAj6MZe2XlWxfYzBXaUEAVmrS7G SNKlN69LvQgWfPR7DsVtWxID3uHNFCfafltcAtJqLPFlWgYXvqkc3akVfPosrOL3tsoL bDbQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of yi.z.zhang@linux.intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=yi.z.zhang@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from mga14.intel.com (mga14.intel.com. [192.55.52.115]) by mx.google.com with ESMTPS id a7-v6si3071668pfg.200.2018.07.03.23.52.02 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 03 Jul 2018 23:52:03 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of yi.z.zhang@linux.intel.com designates 192.55.52.115 as permitted sender) client-ip=192.55.52.115; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of yi.z.zhang@linux.intel.com designates 192.55.52.115 as permitted sender) smtp.mailfrom=yi.z.zhang@linux.intel.com; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Jul 2018 23:52:02 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,306,1526367600"; d="scan'208";a="64012144" Received: from linux.intel.com ([10.54.29.200]) by fmsmga002.fm.intel.com with ESMTP; 03 Jul 2018 23:52:02 -0700 Received: from dazhang1-ssd.sh.intel.com (unknown [10.239.48.78]) by linux.intel.com (Postfix) with ESMTP id 675FC580117; Tue, 3 Jul 2018 23:52:00 -0700 (PDT) From: Zhang Yi To: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org, pbonzini@redhat.com, dan.j.williams@intel.com, jack@suse.cz, hch@lst.de, yu.c.zhang@intel.com Cc: linux-mm@kvack.org, rkrcmar@redhat.com, yi.z.zhang@intel.com, Zhang Yi Subject: [PATCH 2/3] mm: introduce memory type MEMORY_DEVICE_DEV_DAX Date: Wed, 4 Jul 2018 23:30:19 +0800 Message-Id: <5c7996b8e6d31541f3185f8e4064ff97582c86f8.1530716899.git.yi.z.zhang@linux.intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: References: 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 Currently, NVDIMM pages will be marked 'PageReserved'. However, unlike other reserved PFNs, pages on NVDIMM shall still behave like normal ones in many cases, i.e. when used as backend memory of KVM guest. This patch introduces a new memory type, MEMORY_DEVICE_DEV_DAX. Together with the existing type MEMORY_DEVICE_FS_DAX, we can differentiate the pages on NVDIMM with the normal reserved pages. Signed-off-by: Zhang Yi Signed-off-by: Zhang Yu --- drivers/dax/pmem.c | 1 + include/linux/memremap.h | 1 + 2 files changed, 2 insertions(+) diff --git a/drivers/dax/pmem.c b/drivers/dax/pmem.c index fd49b24..fb3f363 100644 --- a/drivers/dax/pmem.c +++ b/drivers/dax/pmem.c @@ -111,6 +111,7 @@ static int dax_pmem_probe(struct device *dev) return rc; dax_pmem->pgmap.ref = &dax_pmem->ref; + dax_pmem->pgmap.type = MEMORY_DEVICE_DEV_DAX; addr = devm_memremap_pages(dev, &dax_pmem->pgmap); if (IS_ERR(addr)) return PTR_ERR(addr); diff --git a/include/linux/memremap.h b/include/linux/memremap.h index 5ebfff6..4127bf7 100644 --- a/include/linux/memremap.h +++ b/include/linux/memremap.h @@ -58,6 +58,7 @@ enum memory_type { MEMORY_DEVICE_PRIVATE = 1, MEMORY_DEVICE_PUBLIC, MEMORY_DEVICE_FS_DAX, + MEMORY_DEVICE_DEV_DAX, }; /*