At 09/05/2012 07:16 AM, Andrew Morton Wrote: > 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? Hmm, I think it is better to use an indicator which allocation mechanism was used. I will do it in the next version. Thanks Wen Congyang -- 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>