All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	"Tian, Kevin" <kevin.tian@intel.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Keir Fraser <keir@xen.org>,
	Ian Jackson <ian.jackson@eu.citrix.com>,
	Ian Campbell <ian.campbell@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wei.liu2@citrix.com>,
	"Nakajima, Jun" <jun.nakajima@intel.com>,
	Xiao Guangrong <guangrong.xiao@linux.intel.com>
Subject: Re: [PATCH 0/4] add support for vNVDIMM
Date: Wed, 20 Jan 2016 14:54:48 +0000	[thread overview]
Message-ID: <569F9FB8.8@citrix.com> (raw)
In-Reply-To: <20160120144715.GE11445@hz-desktop.sh.intel.com>

On 20/01/16 14:47, Zhang, Haozhong wrote:
> On 01/20/16 14:35, Stefano Stabellini wrote:
>> On Wed, 20 Jan 2016, Zhang, Haozhong wrote:
>>> On 01/20/16 12:43, Stefano Stabellini wrote:
>>>> On Wed, 20 Jan 2016, Tian, Kevin wrote:
>>>>>> From: Zhang, Haozhong
>>>>>> Sent: Tuesday, December 29, 2015 7:32 PM
>>>>>>
>>>>>> This patch series is the Xen part patch to provide virtual NVDIMM to
>>>>>> guest. The corresponding QEMU patch series is sent separately with the
>>>>>> title "[PATCH 0/2] add vNVDIMM support for Xen".
>>>>>>
>>>>>> * Background
>>>>>>
>>>>>>  NVDIMM (Non-Volatile Dual In-line Memory Module) is going to be
>>>>>>  supported on Intel's platform. NVDIMM devices are discovered via ACPI
>>>>>>  and configured by _DSM method of NVDIMM device in ACPI. Some
>>>>>>  documents can be found at
>>>>>>  [1] ACPI 6: http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf
>>>>>>  [2] NVDIMM Namespace: http://pmem.io/documents/NVDIMM_Namespace_Spec.pdf
>>>>>>  [3] DSM Interface Example:
>>>>>> http://pmem.io/documents/NVDIMM_DSM_Interface_Example.pdf
>>>>>>  [4] Driver Writer's Guide:
>>>>>> http://pmem.io/documents/NVDIMM_Driver_Writers_Guide.pdf
>>>>>>
>>>>>>  The upstream QEMU (commits 5c42eef ~ 70d1fb9) has added support to
>>>>>>  provide virtual NVDIMM in PMEM mode, in which NVDIMM devices are
>>>>>>  mapped into CPU's address space and are accessed via normal memory
>>>>>>  read/write and three special instructions (clflushopt/clwb/pcommit).
>>>>>>
>>>>>>  This patch series and the corresponding QEMU patch series enable Xen
>>>>>>  to provide vNVDIMM devices to HVM domains.
>>>>>>
>>>>>> * Design
>>>>>>
>>>>>>  Supporting vNVDIMM in PMEM mode has three requirements.
>>>>>>
>>>>> Although this design is about vNVDIMM, some background of how pNVDIMM
>>>>> is managed in Xen would be helpful to understand the whole design since
>>>>> in PMEM mode you need map pNVDIMM into GFN addr space so there's
>>>>> a matter of how pNVDIMM is allocated.
>>>> Yes, some background would be very helpful. Given that there are so many
>>>> moving parts on this (Xen, the Dom0 kernel, QEMU, hvmloader, libxl)
>>>> I suggest that we start with a design document for this feature.
>>> Let me prepare a design document. Basically, it would include
>>> following contents. Please let me know if you want anything additional
>>> to be included.
>> Thank you!
>>
>>
>>> * What NVDIMM is and how it is used
>>> * Software interface of NVDIMM
>>>   - ACPI NFIT: what parameters are recorded and their usage
>>>   - ACPI SSDT: what _DSM methods are provided and their functionality
>>>   - New instructions: clflushopt/clwb/pcommit
>>> * How the linux kernel drives NVDIMM
>>>   - ACPI parsing
>>>   - Block device interface
>>>   - Partition NVDIMM devices
>>> * How KVM/QEMU implements vNVDIMM
>> This is a very good start.
>>
>>
>>> * What I propose to implement vNVDIMM in Xen
>>>   - Xen hypervisor/toolstack: new instruction enabling and address mapping
>>>   - Dom0 Linux kernel: host NVDIMM driver
>>>   - QEMU: virtual NFIT/SSDT, _DSM handling, and role in address mapping
>> This is OK. It might be also good to list other options that were
>> discussed, but it is certainly not necessary in first instance.
> I'll include them.
>
> And one thing missed above:
> * What I propose to implement vNVDIMM in Xen
>   - Building vNFIT and vSSDT: copy them from QEMU to Xen toolstack
>
> I know it is controversial and will record other options and my reason
> for this choice.

Please would you split the subjects of "how to architect guest NVDIMM
support in Xen" from "how to get suitable ACPI tables into a guest". 
The former depends on the latter, but they are two different problems to
solve and shouldn't be conflated in one issue.

~Andrew

  reply	other threads:[~2016-01-20 14:54 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-29 11:31 [PATCH 0/4] add support for vNVDIMM Haozhong Zhang
2015-12-29 11:31 ` [PATCH 1/4] x86/hvm: allow guest to use clflushopt and clwb Haozhong Zhang
2015-12-29 15:46   ` Andrew Cooper
2015-12-30  1:35     ` Haozhong Zhang
2015-12-30  2:16       ` Haozhong Zhang
2015-12-30 10:33         ` Andrew Cooper
2015-12-29 11:31 ` [PATCH 2/4] x86/hvm: add support for pcommit instruction Haozhong Zhang
2015-12-29 11:31 ` [PATCH 3/4] tools/xl: add a new xl configuration 'nvdimm' Haozhong Zhang
2016-01-04 11:16   ` Wei Liu
2016-01-06 12:40   ` Jan Beulich
2016-01-06 15:28     ` Haozhong Zhang
2015-12-29 11:31 ` [PATCH 4/4] hvmloader: add support to load extra ACPI tables from qemu Haozhong Zhang
2016-01-15 17:10   ` Jan Beulich
2016-01-18  0:52     ` Haozhong Zhang
2016-01-18  8:46       ` Jan Beulich
2016-01-19 11:37         ` Wei Liu
2016-01-19 11:46           ` Jan Beulich
2016-01-20  5:14             ` Tian, Kevin
2016-01-20  5:58               ` Zhang, Haozhong
2016-01-20  5:31         ` Haozhong Zhang
2016-01-20  8:46           ` Jan Beulich
2016-01-20  8:58             ` Andrew Cooper
2016-01-20 10:15               ` Haozhong Zhang
2016-01-20 10:36                 ` Xiao Guangrong
2016-01-20 13:16                   ` Andrew Cooper
2016-01-20 14:29                     ` Stefano Stabellini
2016-01-20 14:42                       ` Haozhong Zhang
2016-01-20 14:45                       ` Andrew Cooper
2016-01-20 14:53                         ` Haozhong Zhang
2016-01-20 15:13                           ` Konrad Rzeszutek Wilk
2016-01-20 15:29                             ` Haozhong Zhang
2016-01-20 15:41                               ` Konrad Rzeszutek Wilk
2016-01-20 15:54                                 ` Haozhong Zhang
2016-01-21  3:35                                 ` Bob Liu
2016-01-20 15:05                         ` Stefano Stabellini
2016-01-20 18:14                           ` Andrew Cooper
2016-01-20 14:38                     ` Haozhong Zhang
2016-01-20 11:04             ` Haozhong Zhang
2016-01-20 11:20               ` Jan Beulich
2016-01-20 15:29                 ` Xiao Guangrong
2016-01-20 15:47                   ` Konrad Rzeszutek Wilk
2016-01-20 16:25                     ` Xiao Guangrong
2016-01-20 16:47                       ` Konrad Rzeszutek Wilk
2016-01-20 16:55                         ` Xiao Guangrong
2016-01-20 17:18                           ` Konrad Rzeszutek Wilk
2016-01-20 17:23                             ` Xiao Guangrong
2016-01-20 17:48                               ` Konrad Rzeszutek Wilk
2016-01-21  3:12                             ` Haozhong Zhang
2016-01-20 17:07                   ` Jan Beulich
2016-01-20 17:17                     ` Xiao Guangrong
2016-01-21  8:18                       ` Jan Beulich
2016-01-21  8:25                         ` Xiao Guangrong
2016-01-21  8:53                           ` Jan Beulich
2016-01-21  9:10                             ` Xiao Guangrong
2016-01-21  9:29                               ` Andrew Cooper
2016-01-21 10:26                                 ` Jan Beulich
2016-01-21 10:25                               ` Jan Beulich
2016-01-21 14:01                                 ` Haozhong Zhang
2016-01-21 14:52                                   ` Jan Beulich
2016-01-22  2:43                                     ` Haozhong Zhang
2016-01-26 11:44                                     ` George Dunlap
2016-01-26 12:44                                       ` Jan Beulich
2016-01-26 12:54                                         ` Juergen Gross
2016-01-26 14:44                                           ` Konrad Rzeszutek Wilk
2016-01-26 15:37                                             ` Jan Beulich
2016-01-26 15:57                                               ` Haozhong Zhang
2016-01-26 16:34                                                 ` Jan Beulich
2016-01-26 19:32                                                   ` Konrad Rzeszutek Wilk
2016-01-27  7:22                                                     ` Haozhong Zhang
2016-01-27 10:16                                                     ` Jan Beulich
2016-01-27 14:50                                                       ` Konrad Rzeszutek Wilk
2016-01-27 10:55                                                   ` George Dunlap
2016-01-26 13:58                                         ` George Dunlap
2016-01-26 14:46                                           ` Konrad Rzeszutek Wilk
2016-01-26 15:30                                         ` Haozhong Zhang
2016-01-26 15:33                                           ` Haozhong Zhang
2016-01-26 15:57                                           ` Jan Beulich
2016-01-27  2:23                                             ` Haozhong Zhang
2016-01-20 15:07               ` Konrad Rzeszutek Wilk
2016-01-06 15:37 ` [PATCH 0/4] add support for vNVDIMM Ian Campbell
2016-01-06 15:47   ` Haozhong Zhang
2016-01-20  3:28 ` Tian, Kevin
2016-01-20 12:43   ` Stefano Stabellini
2016-01-20 14:26     ` Zhang, Haozhong
2016-01-20 14:35       ` Stefano Stabellini
2016-01-20 14:47         ` Zhang, Haozhong
2016-01-20 14:54           ` Andrew Cooper [this message]
2016-01-20 15:59             ` Haozhong Zhang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=569F9FB8.8@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=guangrong.xiao@linux.intel.com \
    --cc=ian.campbell@citrix.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=jun.nakajima@intel.com \
    --cc=keir@xen.org \
    --cc=kevin.tian@intel.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --cc=xen-devel@lists.xen.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.