Re: [Xen-devel] [RFC KERNEL PATCH 0/2] Add Dom0 NVDIMM support for Xen

From: Dan Williams
Date: Wed Oct 12 2016 - 11:42:52 EST

On Wed, Oct 12, 2016 at 8:39 AM, Jan Beulich <JBeulich@xxxxxxxx> wrote:
>>>> On 12.10.16 at 16:58, <haozhong.zhang@xxxxxxxxx> wrote:
>> On 10/12/16 05:32 -0600, Jan Beulich wrote:
>>>>>> On 12.10.16 at 12:33, <haozhong.zhang@xxxxxxxxx> wrote:
>>>> The layout is shown as the following diagram.
>>>> +---------------+-----------+-------+----------+--------------+
>>>> | whatever used | Partition | Super | Reserved | /dev/pmem0p1 |
>>>> | by kernel | Table | Block | for Xen | |
>>>> +---------------+-----------+-------+----------+--------------+
>>>> \_____________________ _______________________/
>>>> V
>>>> /dev/pmem0
>>>I have to admit that I dislike this, for not being OS-agnostic.
>>>Neither should there be any Xen-specific region, nor should the
>>>"whatever used by kernel" one be restricted to just Linux. What
>>>I could see is an OS-reserved area ahead of the partition table,
>>>the exact usage of which depends on which OS is currently
>>>running (and in the Xen case this might be both Xen _and_ the
>>>Dom0 kernel, arbitrated by a tbd protocol). After all, when
>>>running under Xen, the Dom0 may not have a need for as much
>>>control data as it has when running on bare hardware, for it
>>>controlling less (if any) of the actual memory ranges when Xen
>>>is present.
>> Isn't this OS-reserved area still not OS-agnostic, as it requires OS
>> to know where the reserved area is? Or do you mean it's not if it's
>> defined by a protocol that is accepted by all OSes?
> The latter - we clearly won't get away without some agreement on
> where to retrieve position and size of this area. I was simply
> assuming that such a protocol already exists.

No, we should not mix the struct page reservation that the Dom0 kernel
may actively use with the Xen reservation that the Dom0 kernel does
not consume. Explain again what is wrong with the partition approach?