Re: memblock_reserve or memblock_remove to reserve a page

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

 



Hello Nikhil,

On Fri, Sep 9, 2016 at 7:01 AM, Nikhil Utane
<nikhil.subscribed@xxxxxxxxx> 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@xxxxxxxxxxxxxxxxx
> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux