Hi, your plan looks good to me.
some comments.
On Mon, 4 Dec 2006 23:45:32 +0000 (GMT)
Mel Gorman <mel@xxxxxxxxx> wrote:
1. Use lumpy-reclaim to intelligently reclaim contigous pages. The same
logic can be used to reclaim within a PFN range
2. Merge anti-frag to help high-order allocations, hugetlbpage
allocations and freeing up SPARSEMEM sections of memory
For freeing up SPARSEMEM sections of memory ?
It looks that you assumes MAX_ORDER_NR_PAGES equals to PAGES_PER_SECTION.
plz don't assume that when you talk about generic arch code.
3. Anti-frag includes support for page flags that affected a MAX_ORDER block
of pages. These flags can be used to mark a section of memory that should
not be allocated from. This is of interest to both hugetlb page allocatoin
and memory hot-remove. Use the flags to mark a MAX_ORDER_NR_PAGES that
is currently being freed up and shouldn't be allocated.
4. Use anti-frag fallback logic to bias unmovable allocations to the lower
PFNs.
I think this can be one of the most diffcult things ;)
5. Add arch support where possible for offlining sections of memory that
can be powered down.
I had a patch for ACPI-memory-hot-unplug, which ties memory sections to memory
chunk on ACPI.
6. Add arch support where possible to power down a DIMM when the memoryI (numa-node-hotplug) needs 7 and 8 basically. And Other people may not.
sections that make it up have been offlined. This is an extenstion of
step 5 only.
7. Add a zone that only allows __GFP_MOVABLE allocations so that
sections can 100% be reclaimed and powered-down
8. Allow nodes to only have a zone for __GFP_MOVABLE allocations so that
whole nodes can be offlined.
IMHO:
For DIMM unplug, I suspect that we'll finally divide memory to core-memory and
hot-pluggable by pgdat even on SMP. If we use pgdat for that purpose, almost all
necessary infrastructure(statistics ,etc..) is ready.
But if we find better way, it's good.