Received: by 2002:ac0:a581:0:0:0:0:0 with SMTP id m1-v6csp468433imm; Tue, 3 Jul 2018 23:53:13 -0700 (PDT) X-Google-Smtp-Source: AAOMgpc3WXmGTJn5ieXECwMuW3X8aWzcuaLU4K+6W8WOFy8qYK4TZqJkYezWDxUDJztNRaaVmINL X-Received: by 2002:a65:4a04:: with SMTP id s4-v6mr776464pgq.376.1530687193444; Tue, 03 Jul 2018 23:53:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530687193; cv=none; d=google.com; s=arc-20160816; b=B1nw9E2tLJ3j31HVg/IBHxjUQbMUUNH4FVPbOgzjMInSNbYx9N8pS69qzSTesKBRyB rZm4c5d2HLQsp/quehKXg/xEdXmUuFqS86b7nwmzhiabw2u0XgXvs24vzxBNzUFV8qcq y28Q5xyjFP4On6t4Cs8MVZFEcSUlGmMTPxrIaFBIXkdxesU7mB6cc0vIxG8S2SlIsBB3 dhJGCRe6O10jSkAAypl+EUGWR4AX4XgqilArybKd7XLIGl4D6ktJrh0GGIcyIjze+RXM 7y6PSbQlXcD2Axim7/AIEDCLN6BRs64+uNFXbrEEIX7MgvUwkFs956VV0MuPjDEd/Acl YONQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=j/XlW0tQE9lEeOqksSuJJ+vMmBDx+ehBmqox8GQmqdE=; b=E52kzMcf+Pu6VNx7xWaP6mlKuynpQ6E2dn2aCejaG96E1rDNuKeFM53scuMLnKOpKO rowVYZP7k60nM4ocwDZqJJvgB4+6HZf2hSexCe//XUI8+k6XW9gvrRkZQs7OuBCodrh0 URZ0enDJosGffl47pBzegJlnE4Uoa8ktg7Pe5kj5RSOHbuaAYJKKLLz/7qjHlzUWuRW8 b2AkLy8zaMCqPceYlzQ77wY7+9A8On9zN66qSrdJYlzWHhS5NYt6or2F9ntvYlTQBn9e X1ZtK7PoXmq7zkKyT7IcxgNWAiJjo03vacwjnbZh4EDQOTGNp8d+rNGLA/OUVycKZnqs mEig== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id bh7-v6si2816554plb.367.2018.07.03.23.52.58; Tue, 03 Jul 2018 23:53:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933596AbeGDGwE (ORCPT + 99 others); Wed, 4 Jul 2018 02:52:04 -0400 Received: from mga14.intel.com ([192.55.52.115]:13920 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753620AbeGDGwD (ORCPT ); Wed, 4 Jul 2018 02:52:03 -0400 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: Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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, }; /* -- 2.7.4