Re: [PATCH] mm/nvdimm: Use correct alignment when looking at first pfn from a region

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx>
---
  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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux