Re: [PATCH 1 of 6] hotplug-memory: refactor online_pages to separate zone growth from page onlining

From: Yasunori Goto
Date: Thu Apr 03 2008 - 21:57:48 EST


> +/* Mark a set of pages as online */
> +unsigned long mark_pages_onlined(unsigned long pfn, unsigned long nr_pages)
> +{
> + struct zone *zone = page_zone(pfn_to_page(pfn));
> + unsigned long onlined_pages = 0;
> + int need_zonelists_rebuild = 0;
>
> /*
> * If this zone is not populated, then it is not in zonelist.
> @@ -240,10 +246,38 @@
> vm_total_pages = nr_free_pagecache_pages();
> writeback_set_ratelimit();
>
> - if (onlined_pages)
> + if (onlined_pages) {
> + struct memory_notify arg;
> +
> + arg.start_pfn = pfn; /* ? */
> + arg.nr_pages = onlined_pages;
> + arg.status_change_nid = -1; /* ? */

status_change_nid is to prepare data structures which are allocated on
each NUMA node.

When memory less node gets new memory, and it changes status
to normal memory, then status_change_nid must be set.

SLUB uses it now.

Thanks.

--
Yasunori Goto


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