This patchset adds a stable-movable-migrate-type for memory-management,
It is used for anti-fragmentation(hugepage, big-order allocation...),
hot-removal-of-memory(virtualization, power-conserve, move memory between systems
to make better utilities of memories).
it likes ZONE_MOVABLE, but it is more flexible.
o The 1st patch fixes the allocation of CMA and do prepares
for movable-like types.
o The 2nd patch add a new migrate type which stands for the movable types
which pages will not be changed to the other type.
I chose the name MIGRATE_HOTREMOVE from MIGRATE_HOTREMOVE
and MIGRATE_MOVABLE_STABLE, it just because the first usecase of
this new type is for hotremove.
o The 3th path introduces online_movable. When a memoryblock is onlined
by "online_movable", the kernel will not have directly reference to
the page of the memoryblock, thus we can remove that memory any time
Different from ZONE_MOVABLE: it can be used for any given memroyblock.
it can be set after boot(ZONE_MOVABLE zones are configured when booting)
Lai Jiangshan (3):
use __rmqueue_smallest when borrow memory from MIGRATE_CMA
add MIGRATE_HOTREMOVE type
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to firstname.lastname@example.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/