Re: [PATCH v5 04/14] memory-hotplug: remove /sys/firmware/memmap/Xsysfs

From: Christoph Lameter
Date: Wed Jan 02 2013 - 09:24:08 EST


On Thu, 27 Dec 2012, Tang Chen wrote:

> On 12/26/2012 11:30 AM, Kamezawa Hiroyuki wrote:
> >> @@ -41,6 +42,7 @@ struct firmware_map_entry {
> >> const char *type; /* type of the memory range */
> >> struct list_head list; /* entry for the linked list */
> >> struct kobject kobj; /* kobject for each entry */
> >> + unsigned int bootmem:1; /* allocated from bootmem */
> >> };
> >
> > Can't we detect from which the object is allocated from, slab or bootmem ?
> >
> > Hm, for example,
> >
> > PageReserved(virt_to_page(address_of_obj)) ?
> > PageSlab(virt_to_page(address_of_obj)) ?
> >
>
> Hi Kamezawa-san,
>
> I think we can detect it without a new member. I think bootmem:1 member
> is just for convenience. I think I can remove it. :)

Larger size slab allocations may fall back to the page allocator but then
the slabs do not track this allocation. That memory can be freed using the
page allocator.

If you see pageslab then you can always remove using the slab allocator.
Otherwise the page allocator should work (unless it was some
special case bootmem allocation).

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/