On 07/17/2014 08:12 AM, Joonsoo Kim wrote:
Hm I see. So what if it wasn't a special pcplist, but a special "free list"
where the pages would be just linked together as on pcplist, regardless of
order, and would not merge until the CPU that drives the memory isolation
process decides it is safe to flush them away. That would remove the need for
IPI's and provide the same guarantees I think.
Looks good. It would work. I think that your solution is better than mine.
I will implement it and test.
Thanks. But maybe there's still a good use for marking pages specially
as isolated, and not PageBuddy with freepage_migratetype set to
MIGRATE_ISOLATE. Why do we buddy-merge them anyway? I don't think CMA or
memory offlining benefits from that, and it only makes the code more
complex?
So maybe we could split isolated buddy pages to order-0 marked as
PageIsolated and have a single per-zone list instead of order-based
freelists?
Do we really need to check PageBuddy()? Could a page get marked as PageIsolate()
but still go to normal list instead of isolate list?
Checking PageBuddy() is used for identifying page linked in normal
list.
Ah right, forgot it walks by pfn scanning, not by traversing the free list.
Thanks.
--
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>
--
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>