On Mon, 03 Sep 2012 13:51:10 +0800 Wen Congyang <wency@xxxxxxxxxxxxxx> wrote: > >> +static void release_firmware_map_entry(struct kobject *kobj) > >> +{ > >> + struct firmware_map_entry *entry = to_memmap_entry(kobj); > >> + struct page *page; > >> + > >> + page = virt_to_page(entry); > >> + if (PageSlab(page) || PageCompound(page)) > > > > That PageCompound() test looks rather odd. Why is this done? > > Liu Jiang and Christoph Lameter discussed how to find slab page > in this mail: > https://lkml.org/lkml/2012/7/6/333. Well, please add a code comment to release_firmware_map_entry() which fully explains these things. I see that Christoph and I agree: "It would be cleaner if memory hotplug had an indicator which allocation mechanism was used and would use the corresponding free action". You didn't respond to this suggestion when he made it, nor when I made it. What are your thoughts on this? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>