Messages in this thread | | | Date | Mon, 08 Sep 2008 12:07:14 +0900 | From | Yasunori Goto <> | Subject | Re: [RFC:Patch: 008/008](memory hotplug) remove_pgdat() function |
| |
> On Thu, 2008-07-31 at 21:04 +0900, Yasunori Goto wrote: > > > +int remove_pgdat(int nid) > > +{ > > + struct pglist_data *pgdat = NODE_DATA(nid); > > + > > + if (cpus_busy_on_node(nid)) > > + return -EBUSY; > > + > > + if (sections_busy_on_node(pgdat)) > > + return -EBUSY; > > + > > + node_set_offline(nid); > > + synchronize_sched(); > > + synchronize_srcu(&pgdat_remove_srcu); > > + > > + free_pgdat(nid, pgdat); > > + > > + return 0; > > +} > > FWIW synchronize_sched() is the wrong function to use here, > synchronize_rcu() is the right one.
Thanks. I'll fix it.
-- Yasunori Goto
| |