On Thu, May 02, 2019 at 07:03:45AM -0700, Dan Williams wrote:
> section_active_mask() also converts the value to address/size.
> Why do we need to convert the values and we cannot work with pfn/pages instead?
> It should be perfectly possible unless I am missing something.
> The only thing required would be to export earlier your:
> +#define PAGES_PER_SUB_SECTION (SECTION_ACTIVE_SIZE / PAGE_SIZE)
> +#define PAGE_SUB_SECTION_MASK (~(PAGES_PER_SUB_SECTION-1))
> and change section_active_index to:
> static inline int section_active_index(unsigned long pfn)
> return (pfn & ~(PAGE_SECTION_MASK)) / SUB_SECTION_ACTIVE_PAGES;
Sorry, here I meant:
return (pfn & ~(PAGE_SECTION_MASK)) / PAGES_PER_SUB_SECTION;
But I think you got the idea :-)