On Tue, Jul 11, 2017 at 9:40 AM, Dan Williams <[email protected]> wrote:
> On Tue, Jun 27, 2017 at 2:56 AM, Oliver O'Halloran <[email protected]> wrote:
>> The alignment of a DAX and PFN regions dictates the page sizes that can
>> be used to map the region. Even if the hardware page sizes are known the
>> actual range of supported page sizes that can be used with DAX depends
>> on the kernel configuration. As a result its best that the kernel
>> advertises the alignments that should be used with these region types.
>>
>> This patch adds the 'supported_alignments' region attribute to expose
>> this information to userspace.
>
> Agh, sorry I missed this for 4.13.
>
>>
>> Signed-off-by: Oliver O'Halloran <[email protected]>
>> ---
>>  drivers/nvdimm/pfn_devs.c | 28 ++++++++++++++++++++++++++++
>>  1 file changed, 28 insertions(+)
>>
>> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
>> index 2ae9a000b090..505d50ef9a91 100644
>> --- a/drivers/nvdimm/pfn_devs.c
>> +++ b/drivers/nvdimm/pfn_devs.c
>> @@ -260,6 +260,33 @@ static ssize_t size_show(struct device *dev,
>>  }
>>  static DEVICE_ATTR_RO(size);
>>
>> +static ssize_t supported_alignments_show(struct device *dev,
>> +               struct device_attribute *attr, char *buf)
>> +{
>> +       /*
>> +        * This needs to be a local variable because the *_SIZE macros
>> +        * aren't always constants.
>> +        */
>> +       unsigned long supported_alignments[] = {
>> +               PAGE_SIZE,
>> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE
>> +               HPAGE_PMD_SIZE,
>> +#ifdef CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD
>> +               HPAGE_PUD_SIZE,
>> +#endif
>> +#endif
>> +               0,
>> +       };
>> +
>> +       return nd_sector_size_show(0, supported_alignments, buf);
>
> Can you go ahead and change nd_sector_size_show() to
> nd_size_list_show() or some other name to reflect that it's just a
> generic helper for an array of possibilities.

Bleh, knew I forgot to do something.
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm

Reply via email to