Messages in this thread | | | Date | Fri, 04 Apr 2008 10:56:28 +0900 | From | Yasunori Goto <> | Subject | Re: [PATCH 1 of 6] hotplug-memory: refactor online_pages to separate zone growth from page onlining |
| |
> +/* 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
| |