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
