On Wed, Dec 16, 2020 at 2:54 PM Joao Martins <joao.m.martins(a)oracle.com> wrote:
On 12/16/20 10:31 PM, Dan Williams wrote:
> On Wed, Dec 16, 2020 at 1:51 PM Joao Martins <joao.m.martins(a)oracle.com>
wrote:
>>
>> On 12/16/20 6:42 PM, Verma, Vishal L wrote:
>>> On Wed, 2020-12-16 at 11:39 +0000, Joao Martins wrote:
>>>> On 7/16/20 7:46 PM, Joao Martins wrote:
>>>>> Hey,
>>>>>
>>>>> This series builds on top of this one[0] and does the following
improvements
>>>>> to the Soft-Reserved subdivision:
>>>>>
>>>>> 1) Support for {create,reconfigure}-device for selecting @align
(hugepage size).
>>>>> Here we add a '-a|--align 4K|2M|1G' option to the existing
commands;
>>>>>
>>>>> 2) Listing improvements for device alignment and mappings;
>>>>> Note: Perhaps it is better to hide the mappings by default, and
only
>>>>> print with -v|--verbose. This would align with ndctl, as the
mappings
>>>>> info can be quite large.
>>>>>
>>>>> 3) Allow creating devices from selecting ranges. This allows to
keep the
>>>>> same GPA->HPA mapping as before we kexec the hypervisor with
running guests:
>>>>>
>>>>> daxctl list -d dax0.1 > /var/log/dax0.1.json
>>>>> kexec -d -l bzImage
>>>>> systemctl kexec
>>>>> daxctl create -u --restore /var/log/dax0.1.json
>>>>>
>>>>> The JSON was what I though it would be easier for an user, given
that it is
>>>>> the data format daxctl outputs. Alternatives could be adding
multiple:
>>>>> --mapping <pgoff>:<start>-<end>
>>>>>
>>>>> But that could end up in a gigantic line and a little more
>>>>> unmanageable I think.
>>>>>
>>>>> This series requires this series[0] on top of Dan's patches[1]:
>>>>>
>>>>> [0]
https://lore.kernel.org/linux-nvdimm/20200716172913.19658-1-joao.m.martin...
>>>>> [1]
https://lore.kernel.org/linux-nvdimm/159457116473.754248.7879464730875147...
>>>>>
>>>>> The only TODO here is docs and improving tests to validate mappings,
and test
>>>>> the restore path.
>>>>>
>>>>> Suggestions/comments are welcome.
>>>>>
>>>> There's a couple of issues in this series regarding
daxctl-reconfigure options and
>>>> breakage of ndctl with kernels (<5.10) that do not supply a device
@align upon testing
>>>> with NVDIMMs. Plus it is missing daxctl-create.sh unit test for @align.
>>>>
>>>> I will fix those and respin, and probably take out the last patch as
it's more RFC-ish and
>>>> in need of feedback.
>>>
>>> Sounds good. Any objections to releasing v70 with the initial support,
>>> and then adding this series on for the next one? I'm thinking I'll
do a
>>> much quicker v72 release say in early January with this and anything
>>> else that missed v71.
>>
>> If we're able to wait until tomorrow, I could respin these first four
patches with the
>> fixes and include the align support in the initial set. Otherwise, I am also
good if you
>> prefer defering it to v72.
>>
>
> Does this change the JSON output? Might be nice to keep that all in
> one update rather than invalidate some testing with the old format
> betweem v71 and v72.
>
Ugh, sent the v2 too early before seeing this.
The only change to the output is on daxctl when listing devices for 5.10+.
It starts displaying an "align" key/value.
No worries. Vishal and I chatted and it looks to me like your
improvements to the provisioning flow are worthwhile to sneak into the
v71 release if you want to include those changes as well.