memblock_reserve or memblock_remove to reserve a page

Nikhil Utane nikhil.subscribed at gmail.com
Wed Sep 28 05:11:51 EDT 2016


Arun,

What seems to have done the trick is calling memblock_remove() followed by
a call to request_mem_region(). This creates a hole which can be confirmed
in the output of /proc/iomem.

Do you see any issue with this approach?

-Thanks
Nikhil

On Tue, Sep 27, 2016 at 4:14 PM, Arun Sudhilal <getarunks at gmail.com> wrote:

> Hello Nikhil,
>
> On Fri, Sep 9, 2016 at 7:01 AM, Nikhil Utane
> <nikhil.subscribed at gmail.com> wrote:
> > I want to reserve a physical memory page with a fixed PFN. I do not want
> > this page to be used by anyone else. I am calling memblock_reserve() to
> > supposedly reserve the page. I am writing some content into this page.
> What
> > I see is that during some runs the content of this page is modified
> (either
> > fully or sometimes partially). In few runs, I see it as intact. Is it
> > expected that even after calling memblock_reserve() the kernel can
> allocate
> > this physical page for any other purpose? How is memblock_remove()
> different
> > from memblock_reserve? I tried reading up but didn't see any useful
> > information. What I understood is memblock_remove will completely remove
> > from kernel's allocation mechanism. Should I then be using remove
> instead of
> > reserve?
>
> when a DT entry is added to  #reserved-memory node, what
> drivers/of/fdt.c does is to call memblock_remove() and
> memblock_reserve().
> This happens after the memblock driver is initialized but before buddy
> allocator up. Did you try this approach? This should work for you.
>
> Only option once the kernel boot is complete is to try out the
> technique what mm/memory_hotplug.c does while offline memory.
> isolate_page_range and then migrate.
>
> Regards,
> Arun
>
>
> >
> > -Thanks
> > Nikhil
> >
> > _______________________________________________
> > Kernelnewbies mailing list
> > Kernelnewbies at kernelnewbies.org
> > https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20160928/fd57edab/attachment.html 


More information about the Kernelnewbies mailing list