Re: [RFC v2 PATCH 7/8] mm: add the buddy system interface

From: Kamezawa Hiroyuki
Date: Mon Jun 29 2015 - 22:01:39 EST


On 2015/06/30 10:31, Xishi Qiu wrote:
On 2015/6/30 9:01, Kamezawa Hiroyuki wrote:

On 2015/06/30 8:11, Luck, Tony wrote:
@@ -814,7 +814,7 @@ int __init_memblock memblock_clear_hotplug(phys_addr_t base, phys_addr_t size)
*/
int __init_memblock memblock_mark_mirror(phys_addr_t base, phys_addr_t size)
{
- system_has_some_mirror = true;
+ static_key_slow_inc(&system_has_mirror);

return memblock_setclr_flag(base, size, 1, MEMBLOCK_MIRROR);
}

This generates some WARN_ON noise when called from efi_find_mirror():


It seems jump_label_init() is called after memory initialization. (init/main.c::start_kernel())
So, it may be difficut to use static_key function for our purpose because
kernel memory allocation may occur before jump_label is ready.

Thanks,
-Kame


Hi Kame,

How about like this? Use static bool in bootmem, and use jump label in buddy system.
This means we use two variable to do it.


I think it can be done but it should be done in separated patch with enough comment/changelog.

Thanks,
-Kame



--
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/