Re: [PATCH v1 1/3] mm: pass meminit_context to __free_pages_core()

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

 



On 10.06.24 06:03, Oscar Salvador wrote:
On Fri, Jun 07, 2024 at 11:09:36AM +0200, David Hildenbrand wrote:
In preparation for further changes, let's teach __free_pages_core()
about the differences of memory hotplug handling.

Move the memory hotplug specific handling from generic_online_page() to
__free_pages_core(), use adjust_managed_page_count() on the memory
hotplug path, and spell out why memory freed via memblock
cannot currently use adjust_managed_page_count().

Signed-off-by: David Hildenbrand <david@xxxxxxxxxx>

All looks good but I am puzzled with something.

+	} else {
+		/* memblock adjusts totalram_pages() ahead of time. */
+		atomic_long_add(nr_pages, &page_zone(page)->managed_pages);
+	}

You say that memblock adjusts totalram_pages ahead of time, and I guess
you mean in memblock_free_all()

And memblock_free_late(), which uses atomic_long_inc().


  pages = free_low_memory_core_early()
  totalram_pages_add(pages);

but that is not ahead, it looks like it is upading __after__ sending
them to buddy?

Right (it's suboptimal, but not really problematic so far. Hopefully Wei can clean it up and move it in here as well)

For the time being

"/* memblock adjusts totalram_pages() manually. */"

?

Thanks!

--
Cheers,

David / dhildenb





[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux