[PATCH] mm/nvdimm: Use correct alignment when looking at first pfn from a region
Aneesh Kumar K.V
aneesh.kumar at linux.ibm.com
Tue May 14 14:41:47 AEST 2019
On 5/14/19 9:59 AM, Dan Williams wrote:
> On Mon, May 13, 2019 at 7:55 PM Aneesh Kumar K.V
> <aneesh.kumar at linux.ibm.com> wrote:
>>
>> We already add the start_pad to the resource->start but fails to section
>> align the start. This make sure with altmap we compute the right first
>> pfn when start_pad is zero and we are doing an align down of start address.
>>
>> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
>> ---
>> kernel/memremap.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/kernel/memremap.c b/kernel/memremap.c
>> index a856cb5ff192..23d77b60e728 100644
>> --- a/kernel/memremap.c
>> +++ b/kernel/memremap.c
>> @@ -59,9 +59,9 @@ static unsigned long pfn_first(struct dev_pagemap *pgmap)
>> {
>> const struct resource *res = &pgmap->res;
>> struct vmem_altmap *altmap = &pgmap->altmap;
>> - unsigned long pfn;
>> + unsigned long pfn = PHYS_PFN(res->start);
>>
>> - pfn = res->start >> PAGE_SHIFT;
>> + pfn = SECTION_ALIGN_DOWN(pfn);
>
> This does not seem right to me it breaks the assumptions of where the
> first expected valid pfn occurs in the passed in range.
>
How do we define the first valid pfn? Isn't that at pfn_sb->dataoff ?
-aneesh
More information about the Linuxppc-dev
mailing list