Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp190481imm; Tue, 18 Sep 2018 19:43:29 -0700 (PDT) X-Google-Smtp-Source: ANB0VdYhvZpWcui2xqhXT/X2/jY3q+47vnK5yBknpoBFLYX/xuR88Y/CV6I4E7Uo1f9WAeYfwQQ4 X-Received: by 2002:a17:902:c8:: with SMTP id a66-v6mr32362912pla.269.1537325009899; Tue, 18 Sep 2018 19:43:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1537325009; cv=none; d=google.com; s=arc-20160816; b=FFAOveyDTHMKLbyyIhXr6mw8hY5qkX8+n7SdK0w58ONsNg3+45ZyUSMhySubcfe7YK F0KGYhZc5Kc74TmkWRGRFre16AOv1WHoFIn08g/XenPYTpWRD9v3voovdSUHTuk3djAw 8l2j9j9IJm0L7m20/kz/iczYi9+yp6lEFTXGbYe4PZOqKnmAWvAPD1ujMNqP/1GzDMfy BpRElecuPe/6Cy/Jm+ZECyqGGUy//5hgM4DitU6SMnLoych6MkS1CC98MkNUV7aimDiA C4VJCOnrckYqZM65QXT8Zq9gm/vtE+KC3PMyNxQi7XYpLIwCDW31R1K2WKC59hd0gMLp Pk9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:thread-index:thread-topic :content-transfer-encoding:mime-version:subject:references :in-reply-to:message-id:cc:to:from:date; bh=oWMgC31fumjCxW8uP/8I73ukoLa96L/tOTnx2BtIdQI=; b=l2tzsQk2iGpBHoq0H5D3zChAj/Hfk77pKV7+A2S1qmOrMu3AJbOYUYtEFRtHkmA9qL T1W2kZqAuR3x3/Gw+TMj9CgE0j3WHbLRz/cTRah4AwtaXrLQtclsXpS/l/gsoz2aJ5sK ePwnM9G7Z1oclN+N8BVW1Anf5dJr7Vk37RoMSQ/MSuRZTo3+J7z6WEDvs6as3Wf2vUEa wmTUYsZg6uZjAh2R1KFf8xEDT5EnmLg8Lm0l1qoI9tyhI0RbI+YaPi2t6z32JQFICYkG Hd3U2GqIJNPXSPNwgS8Wd/euUupeXWei4i1l8WCDFDpuFBOtrdOPD1anLcd1x/MJvPt5 7NVg== 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=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h3-v6si2845064plh.469.2018.09.18.19.43.13; Tue, 18 Sep 2018 19:43:29 -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=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727027AbeISISp (ORCPT + 99 others); Wed, 19 Sep 2018 04:18:45 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33260 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725817AbeISISp (ORCPT ); Wed, 19 Sep 2018 04:18:45 -0400 Received: from smtp.corp.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.26]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 367B3C057F20; Wed, 19 Sep 2018 02:43:07 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E466930912F5; Wed, 19 Sep 2018 02:43:06 +0000 (UTC) Received: from zmail21.collab.prod.int.phx2.redhat.com (zmail21.collab.prod.int.phx2.redhat.com [10.5.83.24]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id A03C41800533; Wed, 19 Sep 2018 02:43:06 +0000 (UTC) Date: Tue, 18 Sep 2018 22:43:06 -0400 (EDT) From: Pankaj Gupta To: Yi Zhang Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nvdimm@lists.01.org, pbonzini@redhat.com, dan j williams , dave jiang , yu c zhang , david@redhat.com, jack@suse.cz, hch@lst.de, linux-mm@kvack.org, rkrcmar@redhat.com, jglisse@redhat.com, yi z zhang Message-ID: <900140442.13987264.1537324986294.JavaMail.zimbra@redhat.com> In-Reply-To: <20180919105505.GA43643@tiger-server> References: <20180919105505.GA43643@tiger-server> Subject: Re: [PATCH V5 0/4] Fix kvm misconceives NVDIMM pages as reserved mmio MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.116.79, 10.4.195.12] Thread-Topic: Fix kvm misconceives NVDIMM pages as reserved mmio Thread-Index: L+bzYhSJCn6RWTCWCgPkeGZY3VJMlA== X-Scanned-By: MIMEDefang 2.84 on 10.5.11.26 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 19 Sep 2018 02:43:07 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello Yi, > Any comments? > > Hi Pankaj and Paolo, I am just helping with the review. Paolo & Dan probably will decide. Thanks, Pankaj > > Can we Queue this to merge list since there no other comments last 2 > weeks? > > Regards > Yi. > > On 2018-09-08 at 02:03:02 +0800, Zhang Yi wrote: > > For device specific memory space, when we move these area of pfn to > > memory zone, we will set the page reserved flag at that time, some of > > these reserved for device mmio, and some of these are not, such as > > NVDIMM pmem. > > > > Now, we map these dev_dax or fs_dax pages to kvm for DIMM/NVDIMM > > backend, since these pages are reserved. the check of > > kvm_is_reserved_pfn() misconceives those pages as MMIO. Therefor, we > > introduce 2 page map types, MEMORY_DEVICE_FS_DAX/MEMORY_DEVICE_DEV_DAX, > > to indentify these pages are from NVDIMM pmem. and let kvm treat these > > as normal pages. > > > > Without this patch, Many operations will be missed due to this > > mistreatment to pmem pages. For example, a page may not have chance to > > be unpinned for KVM guest(in kvm_release_pfn_clean); not able to be > > marked as dirty/accessed(in kvm_set_pfn_dirty/accessed) etc. > > > > V1: > > https://lkml.org/lkml/2018/7/4/91 > > > > V2: > > https://lkml.org/lkml/2018/7/10/135 > > > > V3: > > https://lkml.org/lkml/2018/8/9/17 > > > > V4: > > https://lkml.org/lkml/2018/8/22/17 > > > > V5: > > [PATCH V3 1/4] Reviewed-by: David / Acked-by: Pankaj > > [PATCH V3 2/4] Reviewed-by: Jan > > [PATCH V3 3/4] Acked-by: Jan > > [PATCH V3 4/4] Added "Acked-by: Pankaj", Added in-line comments: Dave > > > > Zhang Yi (4): > > kvm: remove redundant reserved page check > > mm: introduce memory type MEMORY_DEVICE_DEV_DAX > > mm: add a function to differentiate the pages is from DAX device > > memory > > kvm: add a check if pfn is from NVDIMM pmem. > > > > drivers/dax/pmem.c | 1 + > > include/linux/memremap.h | 8 ++++++++ > > include/linux/mm.h | 12 ++++++++++++ > > virt/kvm/kvm_main.c | 24 ++++++++++++++++-------- > > 4 files changed, 37 insertions(+), 8 deletions(-) > > > > -- > > 2.7.4 > > >